Saltar al contenido

Cree un demonio ABAP simple

Para iniciar ABAP Daemon, el ON_START se ejecuta el método.

Puede incluir un mensaje de PCP que contenga parámetros de arranque arbitrarios a los que se puede acceder en el ON_START método.

En este simple caso, ejecuta un parámetro timeout por PCP. El demonio configurará un temporizador para mostrar un mensaje emergente cada vez que se agote el tiempo de espera. Se utilizará un contador para detener el temporizador después de cinco mensajes.

Primero, necesita crear algunas variables de miembros privados para almacenar los datos requeridos. Agregue estas líneas al PRIVATE SECTION de tu clase:

DATA: mv_timeout TYPE i,
      mo_timer   TYPE REF TO if_abap_timer_manager,
      mv_counter TYPE i.

Sa ON_START un método en el que ahora puede recuperar el valor de tiempo de espera de PCP y posteriormente iniciar el temporizador. Para hacerlo, copie la siguiente implementación:

METHOD if_abap_daemon_extension~on_start.
  TRY.
      " retrieve timeout from PCP start parameters
      mv_timeout = i_context->get_start_parameter( )->get_field( 'timeout' ).

      " start timer for displaying messages
      mo_timer = cl_abap_timer_manager=>get_timer_manager( ).
      mo_timer->start_timer( i_timeout = mv_timeout i_timer_handler = me ).

    CATCH cx_abap_daemon_error cx_ac_message_type_pcp_error cx_abap_timer_error.
      " to do: error handling, e.g. write error log!
  ENDTRY.
ENDMETHOD.

¡CAMBIO! Agregue su propio manejo excepcional para aplicaciones productivas, ya que esto no se incluyó en este sencillo tutorial.

Hecho

Inicie sesión para responder la pregunta