✒️ABAP POO Los Eventos
ABAP POO Los Eventos
Triggers: Metodos que disparan eventos.
Handlers: Metodos que se ejecutan cuando un evento ocurre.
El evento se declara en la parte declarativa de una clase.
El evento se dispara en uno de sus metodos (triggers).
Declaracion de un evento:
EVENTS <evento> EXPORTING VALUE(<EJ>) TYPE type [OPTIONAL]...
Declaracion de un evento estatico
CLASS-EVENTS <evento> EXPORTING VALUE(<EJ>) TYPE type [OPTIONAL]...
Metodos dependientes de instancia disparan eventos estaticos y de instancia.
Metodos estaticos disparan solo eventos estaticos.
Triggering de un evento:
RAISE EVENT <evt> EXPORTING ... <ei> = <fi>..
Manejadores de eventos: Son metodos que estan unidos a eventos y se ejecutan al dispararse el metodo. Los manejadores pueden estar linkeados a eventos de su misma clase o a eventos de otra clase.
Declarar un Metodo de instancia manejador de Eventos:
METHODS <meth> FOR EVENT <evt> of <cif> IMPORTING <ei>...
Declarar un Metodo estatico manejador de Eventos:
CLASS-METHODS <meth> FOR EVENT <evt> of <cif> IMPORTING <ei>...
La interfase de un manejador de evento solo puede contener los parametros formales definidos en la declaracion del evento.
Durante un RAISE EVENT, no todos los parametros usados por esta sentencia tienen que ser usados por el manejador de eventos.
Para linkear el metodo manejador de eventos al evento, es necesario registrar a tiempo de ejecucion la instancia o el objeto al cual se debe reaccionar. Esto se hace de la siguente manera:
SET HANDLER <INSTANCE>-><EVENT HANDLER METHOD> FOR <INSTANCE>. SET HANDLER LO_MATERIAL->NO_MATERIAL_HANDLER FOR LO_MATERIAL. O si deseamos que el manejador reaccione para todos los objetos/instancias SET HANDLER <INSTANCE>-><EVENT HANDLER METHOD> FOR ALL INSTANCES. Si el evento es estatico entonces se aplica a la clase (no al objeto), por lo tanto "FOR AL INSTANCES" no tiene sentido. La declaracion seria: SET HANDLER <INSTANCE>-><EVENT HANDLER METHOD>. 4 different types of methods: dependientes declarados en clase o interface, y estaticos declarados en clase o interface.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Ivan Diaz Salas
Sobre el autor
Publicación académica de Regulo Argotte, en su ámbito de estudios para el Máster ABAP POO.
Regulo Argotte
Profesión: Ingeniero de Sistemas - Mexico - Legajo: VJ26M
✒️Autor de: 18 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Regulo Argotte