✒️ABAP - Eventos

ABAP Eventos

Eventos

Disparar y manejar eventos

En objetos ABAP hay ciertos metodos que se conocen como disparadores (triggers) y otros que se conocen como manejadores (handlers). Los trigges son los metodos que disparan un evento, mientras que los handlers son los metodos que se ejecutan cuanodo ocurre un evento:

  1. Declarar el evento en la parte declarativa
  2. Disparar el evento en uno de sus metodos

Los eventos se declaran en la parte declarativa de una clase o en una interface. para declarar eventos dependientes de instancia se usa la sentencia EVENTS <evt> EXPORTING... VALUE(<ei>) TYPE type [OPTIONAL]

Para declarar eventos estaticos se usa la siguiente sentencia CLASS-EVENTS<evt>

Cuando se declara un evento se puede usar la adicion EXPORTING para especificar parametros que se pasan al manejador del evento. Los parametros se pasan siempre por valor.

Los eventos dependientes de instancia siempre contienen el parametro implicito SENDER, el cual tiene el tipo de una referencia al tipo o a la interface en la cual el evento es declarado.

Un evento dependiente de instancia en una clase puede ser disparado por cualquier metodo en la clase. Los eventos estaticos son disparados por metodos estaticos. Para disparar un evento en un metodo se usa la sentencia.

RAISE EVENT<evt> EXPORTING....<ei> = <f i>....

Por cada parametro formal que no este definido como opcional se tiene que pasar el correspondiente paramatro real en la adición EXPORTING. La referencia a si mismo ME es pasada automaticamente al parametro implicito SENDER.

Eventos manejadores

Los eventos se usan para ejecutar uns serie de metodos. Estos metodos tienen que:

  1. Estar definidos como eventos manejadores (handler) de ese evento
  2. Estar registrados en tiempo de ejecución para el evento

Para declarar un metodo manejador de eventos dependientes de instancia, se usa la sentencia

METHODS <meth> FOR EVENTS <evt> of <cif> IMPORTING..<ei>..

Para metodos estatios se usa la misma sentencia con CLASS-METHODS en vez de METHODS. El metodo manejador de eventos no tiene por que usa todos los parametros pasados en la sentencia RAISE EVENT.

Registro de metodos manejadores de eventos

Para permitir a un metodo manejador de envotns reaccionar a un evento, se tiene que determinar en tiempo de ejecución el disparador al cual va a reaccionar, usando la sentencia SET HANDLER...<hi>...[FOR]..

cuatro tipos diferentes de eventos

  1. Eventos dependientes de instancia declarados en una clase
  2. Eventos dependientes de instancia declaradors en una interface
  3. Eventos estaticos declarados en una clase
  4. Eventos estaticos declarados en una interface

La sintaxis y el efecto de la sentencia SET HANDLER depende de cual de los cuatro casos. Para un evento dependiente de instancia se tiene que usar la sentencia FOR para especificar la instancia para la cual se quiere registrar el manejador. SET HANDLER..<hi>..FOR <ref>

Para registrar el manejador para todas las instancias que pueda disparar el evento

SET HANDLER..<hi>...FOR ALL INSTANCES

No se puede usar la adición FOR para los eventos estaticos SET HANDLER...<hi>....

Coordinación en el manejo de eventos

Despues de la sentencia RAISE EVENT, todos los metodos manejadores registrados son ejecutados antes de que la siguiente sentencia sea procesada (manejo de eventos sincronico). Para evitar la posibilidad de un bucle infinito, actualmente los eventos solo se pueden anidar 64 niveles.


Sobre el autor

Publicación académica de Marvin Raul Lopez Morales, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert

Marvin Raul Lopez Morales

Profesión: Consultor Senior Sap / Abap It - Guatemala - Legajo: WP66T

✒️Autor de: 155 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Soy ingeniero en sistemas y cuento con mas de 20 años de experiencia en el área de informatica, tambien he participado en la implementación, migración y configuración de sap-erp para varias empresas.

Certificación Académica de Marvin Lopez

 

:: Al igual que Marvin ¿Usted está dispuesto a aprender ABAP?

El lunes 09 Agosto 2021 comenzamos la 🎓Carrera Consultor ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

 

 

+Recursos Gratuitos en CVOSOFT:

¡Lo importante es aprender!, por eso en CVOSOFT la comunidad SAP más grande de habla hispana, ponemos a su alcance los siguientes recursos abiertos libres y gratuitos:

Buscador de Publicaciones:

 

 

Consultas y Soporte

👋Hola! Estamos listos para ayudarle con el soporte que su carrera merece.

Acceda sección contacto y seleccione canal de comunicación más cómodo para usted.

🤝Aguardamos su mensaje, ¡Éxitos!

 


 

👉Que las empresas tomen en serio sus estudios es muy importante para que su inversión educativa tenga sentido.
Las empresas líderes de United States y del Mundo confían a CVOSOFT su recurso más valioso, la formación de su gente.

¿Quieres conocerlas?