✒️ABAP Los Eventos
ABAP Los Eventos
Lección 9:
Eventos
1 Definición de eventos.
Una aplicación de negocio necesita informar:
Un evento en WorkFlow representa el cambio de estado de una instancia de un objeto de negocio (Business Object).
Para usar un evento como interface entre la aplicación y un WorkFlow se necesita:
Definición del evento: es el nombre técnico del evento definido en un tipo de objeto. Se define como un verbo en pasado (creado, modificado, liberado, etc)
Además el evento está definido por sus parámetros, estos por defecto de un evento son: su nombre, tipo de objeto, la instancia del objeto y el creador del evento, no obstante se puede definir parámetros adicionales que deben acompañar el evento.
Ø Creador de eventos: 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 reaccionara ante el evento. Normalmente son WorkFlow o tareas de espera.
Ø Linkage del evento: especifica la relación entre el evento y su receptor. Se pueden a su vez especificar las reglas que gobiernan este relación. Las determinan cuando y el como el receptor recibirá el evento.
2 Creación de Eventos:
Los eventos se crean en el Business Object Repository correspondiente a la transacción SW01
Se especifica el tipo de objeto para el cual queremos crear el evento,
ü el nombre del evento
ü los parámetros del evento.
Podemos ver en el Bussines Object BUS2105 (solicitud de pedido) el evento “Released”.
Y veremos su definición
Y un parámetro que posee asociado, que es el código de liberación
3 Lanzando eventos desde aplicaciones SAP
Antes que un evento sea lanzado por una aplicación, la creación del evento debe programarse en el programa de la aplicación
Afortunadamente en muchos de los programas estándar de SAP, y están definidos los programas que lanzan los eventos y solo es necesario realizar el evento Linkage y determinadas configuraciones de customizing.
Sin embargo se puede que un proceso de negocio particular tengamos que crear un evento nuevo. En este caso deberemos definir como se lanzara el evento a partir de la aplicación.
Si el evento se lanza desde un programa propio (de cliente) podemos programar el lanzamiento del evento muy fácilmente utilizando las funciones que SAP provee para tal caso.
Para lanzar un nuevo evento desde un programa estándar de SAP tenemos las siguientes posibilidades.
Ø A través de documentos de cambio (Change Documensts)
Los tres primeros casos son más usados, el resto específicos para determinar módulos (HR FI) y para casos aislados.
4 lanzando eventos con Changed Documents
Muchas aplicaciones de negocios 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 (modificaió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 nuevo.
Los documentos de cambio SOLO se escribe cuando un campo designado como relevante para change Document cambia.
Antes de definir un evento basado en un documento de cambio deberemos controlar que el cambio será escrito como un documento de cambio, controlado el customizing de los campos o bien haciendo pruebas.
Para crear un evento de este tipo utilizaremos la transacción. SWEC
Transacción SWEC: para lanzar un WorkFlow cuando se crea documentos de cambio.
Demos indicar:
ü El código de documento de cambio
ü El Bussines Object
ü El evento
ü Bajo qué actividad se lanzara (ceración, modificación, borrado)
ü
Luego podemos restringir aún más bajo que circunstancias queremos que se lance el evento, especificando campos de la tarea de campos relevantes, su valor antiguo y su valor actual.
5 Lanzando eventos por Cambio de Status.
Si una aplicación de negocio utiliza el sistema de gestión de estatus, 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”, sin embargo y por customizing puede definirse nuevos status de cliente.
Los status de sistema siempre son fijados por el sistema automáticamente, mientras que los de cliente tienen que ser fijados por el usuario.
Para crear un evento de este tipo utilizaremos la transacción BSVW. Primero debemos seleccionar con qué tipo de status trabajar, se sistemas o de usuarios.
Utilizaremos la transaction estándar BSVW para lanzar un WorkFlow cuando se modifica el estado del sistema.
Luego debemos seleccionar el tipo de objeto y su evento. Finalmente activamos
Audio Tips: se pueden 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 implicados 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 compra se utilizan mensajes para imprimir la orden también podemos utilizar el mismo sistema para lanzar eventos, esto se realiza con la transacción NACE
6 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 con la transacción SWDD
 
 
 
Sobre el autor
Publicación académica de Jhon Deibys Cano Pineda, en su ámbito de estudios para la Carrera Consultor ABAP.
Jhon Deibys Cano Pineda
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WZ11E
✒️Autor de: 118 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jhon Cano Pineda