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

 X 

✒️ABAP Los Eventos

ABAP Los Eventos

ABAP Los Eventos

EVENTOS

1.- Definiciòn de eventos:

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

Por ejemplo una aplicaciòn de negocios necesita informar:

- Cuando comienza un proceso de negocio.

- Cuando termina un proceso de negocio.

- 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 circunstancia de un objeto de negocio (business Object).

Por ejemplo, cuando un usuario modifica el maestro de materiales para el material xxxxy entonces el Business Object xxxxy lanzarà el evento "Changed".

Para usar un evento como interface 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 està 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.

- 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 de 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.

2.- Creaciòn de Eventos:

Los eventos se crean en el Business Object Repository y correspondiente a la transacciòn SWO1.

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

- El nombre del evento.

- Los paràmetros del evento.

Podemos ver en el business 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 de que un evento sea lanzado por una aplicaciòn, la ceraciòn del evento debe programarse en el programa de la aplicaciòn.

Afortunadamente en muchos de los programas estàndar del 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 lanzarà 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.

Para 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 de control de mensajes.

- Utilizando el sistema de informaciòn logìstica (LIS).

- A travès de los datos maestros de HR.

- A travès de Business Transacciòn Events (Solo para Finanzas).

- A travès de customizing especìfico de cada aplicaciòn.

Los tres primeros casos son los màs usados, el resto son especìficos para determinados 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 un registro de las modificaciones hechas (generalmente transacciones de mantenimiento de datos maestros).

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, controlando el customizing de los campos o bien haciendo pruebas.

Para crear un evento de este tipo utilizaremos la transacciòn SWEC (Para lanzar un workflow cuando se crean documentos de cambio).

Debemos indicar:

- El còdigo de documento de cambio.

- El business object.

- El evento.

- Bajo que actividad se lanzarà (Creaciòn, Modificaciòn, Borrado).

Luego podremos restringir aùn màs bajo que circunstancias queremos que se lance el evento, especificando campos de la tabla de campos relevantes, su valor antiguo y su valor actual.

5.- Lanzamiento de 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.

Es sistema estàndar viente por defecto con status predefinidos llamados "status de sistema", no obstante y por customizing pueden definirse nuevos status (de cliente).

Los status de sistema siempre son fijados por el sistema autmà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 (cuando se modifica el estado del sistema). Primero debemos seleccionar con que tipo de status trabajar, de sistema o de usuario.

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

Tambièn podemos lanzar eventos mediante control de mensajes, si una aplicaciòn usa control de mensajes para intercambiar informaciòn entre los distintos involucrados en el proceso de negocios, podemos configurar un mensaje para el lanzamiento de eventos.

Cuando el sistema de control de mensajes se ejecute, cualquier mensaje creado serà lanzado. Ejemplo en O. C. se utilizan mensajes para imprimir la orden. Tambièn podemos usar el mismo sistema para lanzar eventos

La configuraciòn de mensajes se realiza a travès de 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òm del workflow.

En la cabecera indicaremos que tipo de objeto y evento lanzaràn el workflow.

Al crear la relaciòn automàticamente aparecerà un binding que pasarà datos desde el contenedor del evento al del workflow. Podremos modificar el binding para agregar los paràmetros que deseemos.

Finalmente deberemos "activar" el binding entre el workflow y el evento.

Esta activaciòn en la jerga de 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.

7.-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 eventos SWU0.

Y la transacciòn SWUE, para crear eventos.

Utilizaremos las transacciones estàndar SWU0 y SWUE para simular y crear eventos respectivamente.

8.- Desarrollo de programas lanza eventos.

El programa que desee disparar un evento deberà utilizar el mòdulo 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 a la funciòn SWE_EVENT_CREATE.

- Controlar las excepciones.

- Disparar el evento con COMMIT_WORK explìcito.

Ejemplo:

include <CNTN01>.

data: begin of asset_key,

company_code like anla-bukrs,

asset_no like anla-anlnl,

sub_numer like anla/anln2,

end of asset_key.

data: object_key like sweinstcu-objkey,

swc_container evt_container.

* Write parameters into event container

swc_set_element evt_container 'flag_equi_aendern' 'x'.

* Compose object key

asset_key-company:code = '0001'.

asset_key-asset_no = '0000000123456'.

asset_key-sub_number = '0100'.

object_key = asset_key.

* Trigger the event.

call function 'SWE_EVENT_CREATE'

exporting

objtype = 'BUS1022'

OBJKEY = object_key

event = 'changed'

tables

event_container = evt_container

exceptions

others = 01.

if sy-subrc ne 0.

MESSAGE id sy-MSGID type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4

endif.

* start trfc processing

commit work.


 

 

 


Sobre el autor

Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Miguel Angel Acosta Acosta

Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C

✒️Autor de: 238 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.

Certificación Académica de Miguel Acosta

✒️+Comunidad Académica CVOSOFT

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

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


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

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

SAP Master

definicion de eventos dado que los workglows son procesos de negocio, es vital para una aplicacion de negocio poder comunicarse con los workflows. por ejemplo una aplicacion 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 aplicacion de negocio utiliza eventos. por ejemplo cuando un usuario modifica el maestro de materiales para el material XXXY entonces el business object XXXY lanzara el evento changed. para usar un evento como interfase entre la aplicacion y un workflow se...

Acceder a esta publicación

Creado y Compartido por: Oscar Sebastian Caicedo Carlier / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Senior

EVENTO EN Workflow Para porder comunicarse el workflow utiliza eventos. UN EVENTO EN WORKFLOW REPRESENTA UN CAMBIO DE ESTADO DE UNA INSTANCIA DE UN OBJETO DE NEGOCIO (BUSINESS OBJECT). Por ejemplo cuando se modifica el maestro de material , entonces el business object lanzará el evento de "Changed". Para usar el evento entre la aplicación y un workflow se necesita: Definición del evento: nombre técnico del evento definido en un tipo de objeto, se define con verbo en pasado. Creador del evento: Es el programa, workflow o persona que ha creado el evento. Receptor del evento; es aquello que reaccionará ante el evento. Linkage al evento. Es la relación entre el evento...

Acceder a esta publicación

Creado y Compartido por: Morela Silva

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

SAP Expert


Eventos en Workflow Representa el cambio de estado de una instancia de un objeto de negocio Definicion del evento: es el nombre del evento definido en un tipo de objeto. Se definen como un verbo en pasado (creado, modificado...) Creador del evento, es el programa, workflow, persona que haya creado el evento Receptor del evento, todo aquello que reaccionará ante el evento linkage del evento, especifica la relacion entre el evento y su receptor, se puede a su vez especificar las reglas que gobiernan esta relacion. Las reglas determinan cuando y como el receptor recibira el evento. Creacion de eventos, transaccion SW01 Lanzando eventos desde aplicaciones SAP Antes que un evento sea lanzado por una aplicacion debe programarse en el programa...

Acceder a esta publicación

Creado y Compartido por: Yeffer Jaime Sierra Saenz

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

SAP Master

Los Eventos 1. La definición de eventos Para poder comunicarse la aplicación de negocio usa eventos. Un evento en Workflow representa el cambio de estado de una instancia de un objeto de negocio (Businss Object). Para usar un evento como interfase entre la aplicación y un Workflow se necesita lo siguiente: Definición del evento Creador del evento Receptor del evento Linkage del evento 2. La creación de eventos Los 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 ingresarse son: El nombre del evento...

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

 


 

👌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!