🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Los Eventos

ABAP Los Eventos

ABAP Los Eventos

Eventos

Dado que los Workflows son procesos de negocio, es vital para una aplicación de negocio poder comunicarse con los Workflows.

Por ejemplo 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.

Para poder comunicarse la aplicación de negocio utiliza eventos.

Evento en Workflow: representa el cambio de estado de una instancia de un objeto de negocio (Business Object).

Por ejemplo, cuando un usuario modifica el maestro de materiales para el material XXXXXY entonces el Business Object XXXXY lanzara el evento "Changed".

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 (Creado, modificado, liberado, etc.).

Además el evento esta definido por sus parámetros. Los parámetros por defecto de un evento son: su nombre, el tipo de objeto, la instancia del objeto y el creador del evento. No obstante se pueden definir parámetros adicionales que deben acompañar el evento.

Creadores del Evento: es el programa, Workflow, persona que ha creado el evento.

Receptor del Evento: es el termino genérico que se usa para denominar a todo aquello que reaccionara 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. Las reglas determinan cuando y como el receptor recibirá el evento.

Ø Creación de Eventos

Se crean en el Business Object Repository correspondiente a la transacción SW01.

Debemos especificar el tipo de objeto para el cual queremos crear el evento. Al definir eventos nunca debemos codificar nada. Los datos que deben registrarse son:

  • El nombre del evento.
  • Los parámetros del evento.

Podemos ver en el Business Object BUS2105 (Solicitud de Pedido) el evento "Released" su denominación y el parámetro que posee asociado, que es el código de liberación.

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, ya están definidos los programas que lanzan los eventos y solo es necesario realizar el Event Linkage y determinadas configuraciones de Customizing.

No obstante puede que para 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.

En el caso que el evento deba lanzarse desde un programa propio (de cliente) podremos programar el lanzamiento del evento muy fácilmente utilizando las funciones que SAP provee para tal caso.

En el caso que debamos lanzar un nuevo evento desde un programa estándar de SAP tenemos las siguientes posibilidades:

  • A través de documentos de cambio (Change Documents).
  • A través del sistema de gestión de status.
  • A través del control de mensajes.
  • Utilizando el sistema de logística (LIS).
  • A través de los datos maestros de HR.
  • A través de Business Transaction Events (Solo para Finanzas).
  • A través de Customizing especifico de cada aplicación.

Los tres primeros casos son los mas usados, el resto son específicos para determinados módulos (HR - FI) y para casos aislados.

Ø 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 SOLO se escriben 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, controlando el Customizing de los campos o bien haciendo pruebas.

Para lanzar un Workflow cuando se crean documentos de cambio o crear un evento de este tipo utilizaremos la transacción SWEC.

Debemos indicar:

  • El código de documento de cambio
  • El Business Object.
  • El Evento.
  • Bajo que actividad se lanzara (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 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 deberemos seleccionar con que tipo de status trabajar, de sistema o de usuario.

Transacción BSVW: Usada para lanzar un Workflow cuando se modifica el estado del sistema.

Luego deberemos seleccionar el tipo de objeto y su evento. Finalmente lo activamos.

También podemos lanzar eventos mediante Control de Mensajes, SI una aplicación de negocios utiliza el 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 usan mensajes para imprimir la orden, también podemos usar el mismo sistema para lanzar eventos, la configuración para el tipo de mensajes se hace 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.

En la cabecera indicaremos que tipo de objeto y evento lanzaran el Workflow.

Al crear la relación automáticamente aparecerá un binding que pasara datos desde el contenedor del evento al del Workflow. Podremos modificar el binding para agregar los parámetros que deseemos.

Binding: es un juego de reglas que define cuales son los datos que se pasaran y a que parte del proceso dentro de un Workflow.

Finalmente deberemos "activar" el binding entre el Workflow y el evento. Esta activación en la jerga del Workflow se denomina "Event Linkage".

La acción de activar el binding entre el Workflow y el evento genera una orden de transporte de Customizing.

Otra forma de activar el Linkage entre el evento y el Workflow es a través de la transacción SWETYPV.

Ø Condiciones de Inicio.

SAP provee una manera fácil de limitar el inicio de un Workflow al dispararse un evento y esto es a través de condiciones de inicio.

Para configurar condiciones de inicio ejecutamos la transacción SWB_COND.

Para crear la condición seleccionamos el tipo de objeto (en el ejemplo es la solicitud de pedido), aparecerán todos los eventos acoplados con Workflow y seleccionamos uno.

Utilizando las variables del contenedor del evento, creamos las condiciones lógicas que deseemos para que se cumpla o no el lanzamiento del Workflow.

Finalmente podemos verificar los eventos. Para ello, Podemos usar la transacción para simular eventosSWU0, y la transacción SWUE para crear eventos.

Ø Desarrollos de programas Lanza Eventos

El programa que desee disparar un evento deberá utilizar el modulo de funciones SWE_EVENT_CREATE.

La estructura lógica del programa debería ser la siguiente:

  • 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 Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Carlos Alberto Carreira

Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G

✒️Autor de: 92 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Inicial

🎓Egresado de los módulos:

Certificación Académica de Carlos Carreira

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los Eventos" de la mano de nuestros alumnos.

SAP Master

Eventos representa un cambio de estado de una instancia de un objeto de negocio (BO) Se necesita: definición del evento creador del evento receptor del evento linkage del evento Creación: Tx SW01 Eventos con Change Document : Tx SWEC Eventos por cambio de status : Tx BSVW Eventos a través de control de mensajes : Tx NACE

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Para que Workflows y aplicaciones de negocio se comuniquen se emplean los eventos. Un evento en WorkFlow es el cambio de estado de una instancia de un objeto. Si queremos lanzar un evento desde un programa estándar de SAP ya existe en el sistema una de serie de mecanismos que lo permiten (documentos de cambio, sistema de gestión de status, control de mensajes, etc.). Para iniciar automáticamente un workflow cuando se produzca un determinado evento tendremos que configurarlo en el WorkFlow Builder. El event linkage es la activación del binding entre Workflow y evento. Aunque el event linkage se encuentre configurado, se puede limitar el inicio de un Workflow, a través de las condiciones de inicio. El programa...

Acceder a esta publicación

Creado y Compartido por: Francisco Javier López Andreu

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Evento en Workfloe: Representa el cambio de estado de una instancia de un objeto de negocio. Los eventos se crean en Business Object Repository con la transaccion SW01. Los eventos antes de ser lanzado, deben programarse en el programa de aplicacion. Transaccion SWEC: Se utiliza para lanzar un workflow cuando se crean documentos de cambio. Transaccion BSVW: Cuando se modifica el estado del sistema, utilizamos esta transaccion para lanzar un workfloe. Transaccion SWETYPV: Se utiliza para la activacion del linkage entre el evento y el workflow. Transaccion: SWB_COND: Se utiliza para la configuracion de las condiciones de inicio. Transacciones SWUO Y SWUE: La utilizamos para simular y crear eventos.

Acceder a esta publicación

Creado y Compartido por: Ernesto Aristides Romano

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Para poder comunicar la aplicación de negocio utiliza eventos, estos determinan entre otras cosas cuando comienza un proceso de negocio, cuando termina, cuando ya no se necesita , y cuando dada cierta circunstancias ha cambiado. Un evento en workflow representa el cambio de estado de una instancia de un objeto de negocio (BO). Para usar un evento como interfase entrea aplicación y un workflow se necesita: definición del evento, creación del evento (SW01), receptor del evento y linkage del evento. Los eventos pueden ser lanzados desde aplicaciones SAP para ello se realiza event linkage y configuración del customizing. Los eventos lanzados con Changed Documents (SWEC) , registran los datos del objeto de negocio...

Acceder a esta publicación

Creado y Compartido por: Javier Montero Quintal

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Unidad 6: WorkFlow. Lección 9: Eventos. Audio tip 1: 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

Acceder a esta publicación

Creado y Compartido por: Brenda Castillo Domínguez / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Definición de eventos. 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, creador del evento, receptor del evento y linkage del evento. Creación de 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, se ingresa el nombre y el parámetro del evento. Utilizaremos la transacción estándar SWEC para lanzar un workflow cuando se crean documentos de cambio. Utilizaremos la transacion estándar BSVW para lanzar un wokflow...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Eventos Definición de eventos Para poder comunicarse la aplicación de negocio utiliza eventos. Un evento en workflow representa el cambio de estado de una instancia de un objeto de negocio (Business Object). Por ejemplo cuando un usuario modifica el maestro de materiales para el material XXXY entonces el Business Object XXXY lanzará el evento "Changed". Para usar un evento como interfase entre la aplicación y un workflow se necesita los siguiente: Definición del evento (creado, modificado, liberado,etc) Creador del evento Receptor del evento Linkage del evento Creación de eventos Los eventos se crean en el Business Repository (tx SWO1). Lanzando eventos desde aplicaciones...

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Worflow es una herramienta que nos permite automatizar de manera eficiente. permite ahorrar tiempo en ejecusion de transacciones. SWO1-- Administrar y crear eventos. SWEC -- Lanzar worflows. BSVW -- Lanzar worflows cuando se modifica el estado del sistema. SWETYPV -- Activar linkage entre el evento y el worflow. SWB_COND -- Ejecutar condiciones de Inicio. SWU0 y SWUE -- Simular y crear eventos. Para que un programa pueda disparar evento debe utilizar este el modulo de funciones SWE_EVENT_CREATE configuración automática Transaccion SWU3 para ajecutar automaticamente los worflows

Acceder a esta publicación

Creado y Compartido por: Luis Albán Arguedas Hernández / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

EVENTOS La aplicación de negocio utiliza eventos para comunicarse con workflows. Por ejemplo: cuando un usuario modifica el maestro de materiales de un material X, entonces el business object X lanzará el evento Changed. Los eventos se crean desde la transacción SWO1 indicando el business object, nombre del evento y parámetros. Si necesitamos lanzar un evento desde un programa propio podremos utilizar funciones de SAP (SWE_EVENT_CREATE). Si necesitamos lanzarlo desde un programa estándar podremos hacerlo, entre otras, como: a través de documentos de cambio (Change Documents) a través de sistema de gestión de status a través de control de mensajes (transacción...

Acceder a esta publicación

Creado y Compartido por: Jonatan Richioni

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Eventos. 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 lo sguiente: Definición del evento. Creador del evento. Receptor del evento. Linkage del evento. - Los eventos se crean en el Business Object Repository en la transacción SWO1. - Antes que un evento sea lanzado por una aplicación, la creación del evento debe programarse en el programa de la aplicación. - Transacción SWEC se utiliza para lanzar un workflow cuando se crean documentos de cambio. - Transacción BSVW se utiliza para lanzar un workflow cuando se modifica el estado...

Acceder a esta publicación

Creado y Compartido por: Erick Omar Mármol Ascencio / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!