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.