Disparadores alarma - Detalles técnicos
La parametrización de disparadores de alarma se dará por defecto desde producto.
Esta parametrización consiste en relacionar un objeto con un tipo de alarma y configurar qué campo de la tabla de extracción del objeto es relevante para iniciar o finalizar ese tipo de alarma, también se podrá configurar una clase para la determinación de iniciar o finalizar la alarma de ese tipo esto dependerá del tipo de disparador que se configuró para el tipo de alarma en cuestión.
Existen 3 tipos de disparadores de alarmas que pueden ser configurados para un tipo de alarma, estos son:
- Caducidad / Expiración
En la parametrización de disparadores de alarma para un tipo de alarma de Caducidad / Expiración solamente se permitirá iniciar la alarma con un campo de tipo fecha de la tabla de extracción del objeto y un campo de cualquier otro tipo de la tabla de extracción del objeto para finalizarla.
- Estado
En la parametrización de disparadores de alarma para un tipo de alarma de Estado se permitirá iniciar la alarma con un campo cualquiera de la tabla de extracción del objeto y otro campo de la misma tabla para finalizarla.
- Valor
En la parametrización de disparadores de alarma para un tipo de alarma de Valor se permitirá parametrizar tanto un campo de la tabla de extracción del objeto como una clase para determinar el inicio de la alarma y un campo de la tabla de extracción del objeto o una clase para determinar la finalización de la alarma.
Si se desea desarrollar una clase propia para un disparador, esta deberá heredar de la clase abstracta /EDGE/CL_AL_DETERM_OBJ. Los métodos a redefinir serán:
- SELECT_DESACT → Este método se llama desde el método /EDGE/IF_AL_DETERM_OBJ~DETERMINE_DESACT_INSTANCES_AL y será el que se ejecute cuando se vaya a determinar que registros deben finalizar su alarma. En este método NO se reciben registros de la tabla de extracción del objeto por tanto se deberá determinar la finalización de la alarma para todos los registros que lleguen en el parámetro IT_RECORDS_IN_ALARM. Se deberá devolver en el parámetro ET_RECORDS_DEL_ALARM todos los registros determinados para borrar su alarma.
- LOOP_DESACT → Este método se llama desde el método /EDGE/IF_AL_DETERM_OBJ~DETERMINE_DESACT_INSTANCES_AL y será el que se ejecute cuando se vaya a determinar que registros deben finalizar su alarma. En este método SI se reciben registros de la tabla de extracción del objeto por tanto se deberá determinar la finalización de la alarma solamente para los registros que lleguen en la tabla CT_OBJ_RECORD y se encuentren en IT_RECORDS_IN_ALARM. Se deberá devolver en el parámetro ET_RECORDS_DEL_ALARM todos los registros determinados para borrar su alarma.
- SELECT_ACTIVE → Este método se llama desde el método /EDGE/IF_AL_DETERM_OBJ~DETERMINE_ACTIVE_INSTANCES_AL y será el que se ejecute cuando se vaya a determinar que registros deben iniciar su alarma. En este método NO se reciben registros de la tabla de extracción del objeto por tanto se deberá determinar la generación de la alarma para todos los registros seleccionados de BBDD. Se deberá devolver en el parámetro ET_RECORDS_NEW_ALARM todos los registros determinados para borrar su alarma.
- LOOP_ACTIVE → Este método se llama desde el método /EDGE/IF_AL_DETERM_OBJ~DETERMINE_ACTIVE_INSTANCES_AL y será el que se ejecute cuando se vaya a determinar que registros deben iniciar su alarma. En este método SI se reciben registros de la tabla de extracción del objeto por tanto se deberá determinar la generación de la alarma solamente para los registros que lleguen en la tabla IT_OBJ_RECORD. Se deberá devolver en el parámetro ET_RECORDS_NEW_ALARM todos los registros determinados para borrar su alarma.
- /EDGE/IF_AL_DETERM_OBJ~GET_TABS_AND_FIELDS_F4 → En este método se deberá devolver en la tabla ET_TAB_FIELDS_ALLOWED la relación de tabla/campo para los que se permitirá establecer un valor para iniciar o finalizar una alarma en la parametrización de alarmas. Esta tabla se mostrará como ayuda de búsqueda.
NOTA: Se pueden utilizar las clases /EDGE/CL_AL_DETERM_VALOR y /EDGE/CL_AL_DETERM_CADUCIDAD como ejemplo para el desarrollo de nuevas clases Z.
Avvale 2024