✒️ABAP Los Eventos
ABAP Los Eventos
1. Disparar y manejar eventos
hay ciertos metodos que se conocen como diparadores TRIGGERS y tros como manejadores HANDLERS
*TRIGGERS: metodos que disparan un evento
*HANDLERS: metodos que ejecutan cuando ocurre un evento
para diparar un evento una clase tiene que:
*declarar el evento en la parte de la declarativa
*declarar el evento en uno de sus metodos
* los eventos se declaran en la parte declarativa de la clase o en una interface
EVENT <> EXPORTING....VALUE TYPE
*declarar ebentos estaticos: CLASS-EVENTS <>
*cuando se declara un evento se puede utilizar el EXPORTING para especificar parametros que se
pasan al manejador del evento
*los eventos dependientes de instancia siempre contienen el parametro SENDER
*un evento dependiente de instancia en una clase pueder ser disparado por cualquier metodo de la clase
*para disparar un evento en un metodo: RAISE EVENT <> EXPORTING... <> = <>
2. Eventos manejadores
los eventos se usan para ejecutar una serie de metodos, estos metodos tiene que:
*estar definidos como eventos manejadores (handler) de ese evento
*estar registrador en timpo de ejecucion para el evento
*para declarar un metodo manejador de eventos dependiente de instancia se usa:
METHODS <> FOR EVENT <> OF <> IMPORTING... <>..
*para metodos estaticos se usa la misma sentencia con CLASS-METHODS en vez de METHODS
*la interface de un metodo menejador de eventos solo puede conteener parametros formales
*el metodo manejdor de eventos no tiene que usar todos los parametors pasados en la sentencia RAISE-EVENT
3. Registro de metodos manejadores de Eventos
se utiliza la sentencia SET HANDLERS
*esta sentencia realaciona los metodos manejadores de eventos con sus correspondientes metodos
*hay 4 tipo de diferentes de eventos:
-eventos dependientes de instancia declarados en una clase
-eventos dependientes de instania declarados en una interface
-eventos estaticos declarados en una clase
-eventos estaticos declarados en una interface
*la sentencia y el efecto de la sentencia SET HANDLER depende de cual de las 4 casos detallos tenga lugar
*para un evento dependiente de instancia se tiene que usar la adicion FOR para especificar la instancia para la cual se
quiere registrr el manejador
*sentencia: SET HANDLER <> FOR <>
*para todas las intancias: SET HANDLER <> FOR ALL INSTANCES
*en este caso el registro se aplica incluso a las instancias que aun no han sido cradas cuando se registra el manejador
*no se puede utilizar FOR para los eventos estaticos, es asi: SET HANDLER <>
4. Coordinacion en el manejo de eventos
despues del RAISE EVENT, todos los metodos manejadores registrados son ejecutados antes de que la siguiente sentencia sea procesa.
*actualmente los eventos solo se pueden anidar 64 niveles
*los metodos manejadores de eventos son ejecutador en el orden en que son registrados
5. Ejemplo del manejo de eventos
 
 
 
Sobre el autor
Publicación académica de Juan Antonio Alvarado Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Antonio Alvarado Rodriguez
Profesión: Ingeniero Programador Abap - Mexico - Legajo: BZ30A
✒️Autor de: 31 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Juan Alvarado