![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los Eventos
ABAP Los Eventos
![ABAP Los Eventos ABAP Los Eventos](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/308.jpg)
EVENTOS
DEFINICION DE EVENTOS.
Es vital para una aplicación de negocio poder comunicarse con los Workflows, por ello utiliza eventos.
Una aplicación de negocio necesita informar:
- Cuando comienza un proceso de negocio
- Cuando termina un proceso de negocio o una actividad dentro del proceso
- Cuando una actividad o proceso que ha comenzado ya no se necesita
- Cuando dada una circunstancia ha cambiado el ambiente en el cual el proceso se ejecuta
Un evento en Workflow representa el cambio de estado de una instancia de un objeto de negocio (Business Object).
Para usar un evento como interfase entre la 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. Se definen como un verbo en pasado
- Creador del Evento: Es el programa, Workflow, persona que ha creado el evento.
- Receptor del Evento: Es el término genérico que se usa para denominar a todo aquello que reaccionará ante el evento. Normalmente son Workflows o tareas de espera.
- Linkage del Evento: El linkage especifica la relación entre el evento y su receptor. Se pueden a su vez especificar las reglas que gobiernan esta relación.
CREACION DE EVENTOS
Se crean en el Business Object Repository en la transaccion SW01
Debemos especificar el tipo de objeto para el cual queremos crear el evento. INGRESANDO:
- El nombre del evento
- Los parámetros del evento
Podemos ver en el business object BUS2105, el evento RELEASED.
LANZANDO EVENTOS DESDE APLICACIONES SAP
Primero la creación del evento debe programarse en el programa de la aplicación, para poder lanzar un evento
Muchos de los programas estándar de SAP, ya están definidos los programas que lanzan los eventos y solo es necesario realizar el event linkage y determinadas configuraciones de customizing.
POSIBILIDADES EN CASO DE LANZAR UN NUEVO EVENTO:
- A través de documentos de cambio (Change documents). MAS UTILIZADOS
- A través de documentos de cambio (Change documents). MAS UTILIZADOS
- A través de control de mensajes. MAS UTILIZADOS
- Utilizando el sistema de información logística (LIS). MODULOS (HR-FI)
- A través de los datos maestros de HR. MODULOS (HR-FI)
- A través de Business Transaction Events (Solo para Finanzas). MODULOS (HR-FI)
- A través de customizing especifico de cada aplicación. MODULOS (HR-FI)
LANZANDO EVENTOS CON CHANGED DOCUMENTS
Muchas aplicaciones de negocio en SAP utilizan documentos de cambio para dejar registro de las modificaciones hechas (generalmente transacciones de mantenimiento de datos maestros)
Los documentos de cambio definen la operación que provoca el cambio (modificación, creación o borrado) y registran los datos del objeto de negocio que ha cambiado en forma de tablas con el valor antiguo y el nuevo.
Los documentos de cambio SOLO se escriben cuando un campo designado como “relevante para change document” cambia.
Utilizaremos la transacción estándar SWEC para lanzar un workflow cuando se crean documentos de cambio.
INDICAR:
- El código de documento de cambio.
- El business object.
- El evento.
- Bajo que actividad se lanzará (Creación, Modificación, Borrado).
LANZANDO EVENTOS POR CAMBIO DE STATUS
Si una aplicación de negocio utiliza el sistema de gestión de status, podremos configurar el lanzamiento de eventos a partir de un cambio de status del sistema.
El sistema estándar viene por defecto con status predefinidos llamados “status de sistema”, no obstante y por customizing pueden definirse nuevos status (de cliente).
Utilizaremos la transacción estándar BSVW para lanzar un workflow cuando se modifica el estado del sistema
También podemos lanzar eventos mediante control de mensajes, si una aplicación de negocios usa el método de control de mensajes para intercambiar información entre los distintos involucrados en el proceso de negocio, podemos configurar un mensaje para lanzar eventos.
Cuando el sistema de control de mensajes se ejecute cualquier mensaje configurado será lanzado.
Por ejemplo, al crear una orden de ventas o un pedido de compras se utilizan mensajes para imprimir la orden.
También podremos usar el mismo sistema para lanzar eventos, la configuración del tipo de mensaje se realiza a través de la Transacción: NACE
UNIR EL EVENTO AL WORKFLOW
Para establecer el inicio automático de un workflow a partir de un evento debemos indicarlo en la configuración del Workflow en el Workflow Builder (transacción SWDD).
Una vez posicionados en el Workflow que deseamos iniciar con un evento, debemos pasar a la cabecera del Workflow.
Debemos activar el binding entre el workflow y el evento. Esta activación en la jerga de workflow se denomina “event linkage”.
Utilizaremos la transacción estándar SWETYPV para realizar la activación del linkage entre el evento y el workflow
CONDICIONES DE INCIO
- Utilizaremos la transacción estándar SWETYPV para realizar la activación del linkage entre el evento y el workflow
- Utilizaremos la transacción estándar SWB_COND para realizar la configuración de las condiciones de inicio.
- Utilizaremos las transacciones estándar SWU0 y SWUE para simular y crear eventos respectivamente.
DESARROLLO DE PROGRAMAS LANZA EVENTOS
El programa que desee disparar un evento deberá utilizar el módulo de funciones SWE_EVENT_CREATE. Estructura lógica del programa:
- Llenar el contenedor de eventos con los parámetros necesarios.
- Componer la clave del objeto que debe instanciarse para llamar al evento.
- Llamar la función SWE_EVENT_CREATE.
- Controlar las excepciones.
- Disparar el evento con COMMIT_WORK explicito
 
 
 
Sobre el autor
Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para la Carrera Consultor ABAP.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez