✒️ABAP / Los Eventos Por Roberto Fluder Ahumada
ABAP Los Eventos

Lección 9: Los Eventos
Los Workflows, al ser procesos de negocio, requieren una comunicación vital con las aplicaciones de negocio, la cual se logra mediante eventos. Una aplicación de negocio informa a través de eventos cuándo inicia o finaliza un proceso o actividad, cuándo una actividad ya no es necesaria, o cuándo cambia el ambiente de ejecución de un proceso.
Punto 1: Definición de Eventos Un evento en Workflow representa el cambio de estado de una instancia de un objeto de negocio (Business Object). Por ejemplo, al modificar un material, el Business Object lanza el evento "Changed". Para usar un evento como interfaz entre una aplicación y un Workflow, se necesita lo siguiente:
• Definición del evento: Es el nombre técnico del evento, definido en un tipo de objeto como un verbo en pasado y por sus parámetros.
• Creador del evento: El programa, Workflow o persona que originó el evento.
• Receptor del evento: Todo aquello que reaccionará al evento, como Workflows o tareas de espera.
• Linkage del evento: Especifica la relación entre el evento y su receptor, definiendo reglas sobre cómo y cuándo se recibe.
Punto 2: Creación de Eventos Los eventos se crean en el Business Object Repository (BOR), específicamente a través de la transacción SWO1. Al definirlos, no es necesario codificar nada, solo se ingresa el nombre y los parámetros del evento. Un ejemplo es el evento "released" del Business Object BUS2105 (solicitud de pedido), que posee un código de liberación como parámetro.
Punto 3: Lanzando eventos desde aplicaciones SAP La creación del evento debe programarse en el programa de la aplicación antes de que sea lanzado. En muchos programas estándar de SAP, esta programación ya existe, requiriendo solo event linkage y configuraciones de customizing. Para nuevos eventos o desde programas de cliente, se debe definir cómo se lanzará, utilizando las funciones provistas por SAP. Las posibilidades más comunes para lanzar nuevos eventos desde un programa estándar son:
• A través de documentos de cambio (Change documents).
• A través del sistema de gestión de estatus.
• A través de control de mensajes.
Punto 4: Lanzando eventos con Change Documents Muchas aplicaciones SAP usan documentos de cambio para registrar modificaciones, como en datos maestros. Estos documentos definen la operación que causa el cambio (modificación, creación o borrado) y registran los datos del objeto de negocio en tablas, incluyendo el valor antiguo y el nuevo. Se registran solo cuando un campo "relevante para change document" cambia. Para crear un evento de este tipo, se usa la transacción SWEC. En SWEC, se indica el código de documento de cambio, el business object, el evento y bajo qué actividad se lanzará (Creación, Modificación, Borrado). Además, se puede restringir el lanzamiento especificando campos relevantes de la tabla, su valor antiguo y su valor actual.
Punto 5: Lanzando eventos por Cambio de Estatus Si una aplicación utiliza el sistema de gestión de estatus, se puede configurar el lanzamiento de eventos a partir de un cambio de estatus del sistema. Existen estatus de sistema (fijados automáticamente) y estatus de cliente (fijados por el usuario, definibles por customizing). Para crear un evento de este tipo, se utiliza la transacción BSVW. Aquí se selecciona el tipo de estatus, el tipo de objeto y su evento, para luego activarlo.
Punto 6: Unir el evento al Workflow Para el inicio automático de un Workflow a partir de un evento, se configura en el Workflow Builder (transacción SWDD). En la cabecera del Workflow, se indica el tipo de objeto y evento que lo lanzarán. Al crear la relación, automáticamente aparece un binding para pasar datos desde el contenedor del evento al del Workflow. La activación de este binding se denomina "event linkage" y genera una orden de transporte de customizing. Otra forma de activar el linkage es mediante la transacción SWETYPV.
Punto 7: Condiciones de Inicio SAP permite limitar el inicio de un Workflow al dispararse un evento a través de condiciones de inicio. La configuración se realiza con la transacción SWB_COND. Se selecciona el tipo de objeto y un evento acoplado, y se crean condiciones lógicas usando variables del contenedor del evento para determinar el lanzamiento. Para verificar eventos, se puede simular con la transacción SWU0 o crear con la transacción SWUE.
Punto 8: Desarrollos de programas lanza eventos Un programa que necesite disparar un evento deberá utilizar el módulo de funciones SWE_EVENT_CREATE. La estructura lógica del programa incluye llenar el contenedor de eventos con parámetros, componer la clave del objeto a instanciar, llamar a la función, controlar excepciones y disparar el evento con un COMMIT_WORK explícito.
 
 
 
Sobre el autor
Publicación académica de Roberto Fluder Ahumada, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Roberto Fluder Ahumada
Profesión: Analista de Sistemas - Chile - Legajo: TD38U
✒️Autor de: 59 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Roberto Fluder






Disponibilidad Laboral: FullTime


















