✒️ABAP Los Eventos
ABAP Los Eventos
1) DISPARAR Y MANEJAR EVENTOS.
En Abap hay métodos dispradores(triggers) y manejadores (handlers). Los triggers son los métodos que disparan un evento, mientras que los handlers son los métodos que se ejecutan cuando ocurre un evento.
Para disparar un evento, una clase tiene que:
- Declarar el evento en la parte declarativa de una clase o interface
- Disparar el evento en uno de sus métodos.
Para declarar eventos dependientes de instancia se usa la sentencia:
EVENTS <evt> EXPORTING ....VALUE (<ei> )TYPE type [optional]
EXPORTING: se usa para especificar parámetros que se pasan al manejador
Para declarar eventos estáticos se usa la sentencia:
CLASS-EVENTS <evt>
Los eventos dependientes de instancia puede ser disparado por cualquier método, los eventos estáticos son disparados por métodos estáticos
Para disparar un evento:
RAISE EVENT <evt> EXPORTING ... <ei> = <fi>
Por cada paramtero formal que no este definido como opcional se tiene que pasar el correspondiente paramémtro real en la adición EXPORTING
2)EVENTOS MANEJADORES
Los eventos se usan para ejecutar una serie de métodos, estos tienen que:
- Estar definidos como manejadores de ese evento
- Estar registrados en tiempo de ejecución para el evento.
Para declara un evento manejador dependiente de instancia se usa:
METHODS <meth> FOR EVENT <evt> OF <cif> IMPORTING <ei>
Para métodos estáticos se usa CLASS-METHODS
La interface de un método manejador de eventos sólo puede contener parámetros formales definidos en la declaración del evento.Los atributos de los parámetros también son adoptador por el evento.
3) REGISTRO DE MÉTODOS MANEJADORES DE EVENTOS.
Para permitir a un método manejador de eventos reaccionar a un evento, se tiene que determinar en tiempo de ejecución el disparador al cual va a reaccionar, y se hace con:
SET HANDLER ....<hi>...[FOR]
Hay cuatro tipos de eventos:
- Eventos dependientes de instancia declarados en una clase (SET HANDLER <hi> FOR <ref>) o (SET HANDLER <hi> FOR ALL INSTANCES)
- Eventos dependientes de instancia declarados en una interfase (SET HANDLER <hi> FOR <ref>) o (SET HANDLER <hi> FOR ALL INSTANCES)
- Eventos estáticos declarados en una clase (SET HANDLER <hi>)
- Eventos estáticos declarados en una interface (SET HANDLER <hi>)
4) COORDINACIÓN EN EL MANEJO DE EVENTOS
Después de la sentencia RAISE EVENT, todos los métodos manejadores registrados son ejecutados antes de que la siguiente sentencia sea procesada ( manejo de eventos sincrónico)
Los métodos manejadores de eventos son ejecutados en el orden en el que son registrados.
Los eventos pueden ser públicos, protegidos o privados. Los métodos manejadores también tienen visibilidad,
La visibilidad de un evento determina quien esta autorizado para manejar un evento:
- públicos pueden ser usados por cualquiera,
- protegidos solo pueden ser usados por los usuarios dentro de sus clases
- privados sólo pueden usados dentro de la clase
La visibilidad de un métodos manejador de eventos determina quien esta autorizado para registrar el método.:
- públicos pueden ser usados en cualquier lugar
- protegidos pueden ser ser usados por los usuarios dentro de sus clases
- privados sólo pueden usados por el usuario dentro de la clase
 
 
 
Sobre el autor
Publicación académica de Maria Guadalupe Gonzalez Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Maria Guadalupe Gonzalez Sanchez
Mexico - Legajo: LB83R
✒️Autor de: 147 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP BI / BW BO Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial