Ir al final de los metadatos
Ir al inicio de los metadatos

Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual View Version History

« Anterior Versión 3 Siguiente »

En esta sección se describen los pasos a seguir para llevar a cabo la configuración de la solución EventMesh para la gestión del evento de creación de la factura, y así habilitar la declaración del registro TicketBAI de manera automática y asíncrona.

image-20240325-163843.png

Esta tarea se compone de varias partes, en las que se involucra SAP BTP. Si no tienes experiencia o es la primera vez que usas esta herramienta, por favor, consulta con los responsables de tu instancia de BTP, ya que el procedimiento puede ser complejo y a veces necesitará tomar decisiones que dependen de configuraciones previas, además el error en alguno de los pasos puede repercutir en tener que volver a empezar la configuración desde el principio.

El uso de la herramienta SAP EventMesh tiene costes asociados que serán repercutidos al cliente directamente por SAP.

Las tareas las dividiremos en 5 pasos:

  1. Habilitar la comunicación desde SAP S/4Hana Public Cloud a SAP BTP (Provider).

En el ejemplo que se muestra en el video, se configura el evento sap/s4/beh/businesspartner/v1/BusinessPartner/Created/v1, pero en nuestro caso será el evento sap/s4/beh/journalentry/v1/JournalEntry/Created/v1.

Notas: Al crear el SAP S/4Hana Cloud Extensibility, nos pedirá un valor para el campo “Instance name” recomendamos usar el id del sistema S/4Hana Cloud. Al crear la instancia de Event Mesh consumer nos pedirá un valor para el campo “Receiver system” (minuto 4:00), recomendamos usar el id del sistema S/4Hana concatenando una C (de consumer) al final.

https://www.youtube.com/watch?v=4LspIL3NxqQ&t=2s&ab_channel=SAPDevelopers

Guardar el nombre de la Queue que hemos creado en la instancia de Event Mesh (minuto 4:47) lo vamos a necesitar en el paso 4. (Como aparece en el listado una vez creado).

En este paso conseguimos configurar la conexión desde S/4Hana Cloud a BTP, esta configuración nos ha generado una instancia de Event Mesh que funciona como proveedor, adicionalmente hemos creado otra instancia de Event Mesh manualmente que servirá como consumidor de eventos que se publiquen desde nuestro S/4Hana Cloud.

  1. Habilitar la comunicación desde BTP a S/4Hana Cloud (Consumer).

En este paso vamos a configurar en nuestro sistema lo necesario para consumir los eventos de la instancia de EventMesh.

El usuario que realice esta tarea deberá tener acceso al Tile Communication Arrangement, para ello deberá tener asignado el rol SAP_BR_ADMINISTRATOR.
En el caso de que el sistema disponga de varios mandantes, esta tarea se realizará en el mandante de customizing, que normalmente es el mandante 100.

Esta tarea será llevada a cabo en el Tile “Communication Arrangement”, crearemos un nuevo “Communication Arrangement basado en el Communication Scenario SAP_COM_0092, tiene la particularidad de que al crear pide un Service Key, que no es más que un JSON donde se incluyen todos los detalles de la conexión con una instancia Event Mesh.

El usuario puede ser uno nuevo o uno que exista previamente, normalmente crearemos uno que se usará en esta configuración.

image-20240325-150536.png

El Service Key lo tenemos que generar desde BTP, desde la instancia de Event Mesh que creamos en el paso anterior. Vamos al listado de instancias y localizamos nuestra instancia de Event Mesh, y seleccionamos “Create Service Key”.

image-20240325-150738.png

Indicaremos un nombre para el Service Key, es indiferente, por ejemplo nuestro ID de sistema, y pulsaremos Crear.

image-20240325-150843.png

Una vez generado, copiamos el JSON que genera y lo pegamos en la configuración del Communication Arrangement y pulsamos crear.

Con esto ya tenemos disponible la opción de consumir eventos de esta instancia de Event Mesh desde nuestro sistema.

  1. Creación del communication arrangement de handler.

En la app Communication Arrangement, debemos crear un nuevo acuerdo basado en el escenario /TBAI/CS_EVENT_MESH.

image-20240408-153602.png

Crearemos un nuevo Communication System, llamado, por ejemplo, TBAI_AUTOMATISMO. Marcaremos el flag General>Inbound Only, activaremos la sección Event Mesh y añadiremos el Canal que creamos en el paso 2 (Communication Arrangement de la instancia consumer de Event Mesh).

image-20240325-161351.png

Añadimos también a la lista de Users for Inbound Communication el usuario que usamos en el paso 2 y guardamos.

Volvemos al Communication Arrangement y guardamos.

  1. Configurar el canal de eventos.

Esta tarea será llevada a cabo en el Tile “Enterprise Event Enablement - Configure Channel Binding” y será necesario realizarla de forma manual en cada uno de los sistemas.

El usuario que realice esta tarea deberá tener acceso al Tile Configure Channel Bindings, para ello deberá tener asignado el rol SAP_BR_ADMINISTRATOR

Entramos en el canal que tiene el mismo ID que el Communication Arrangement que creamos en el paso anterior, y comprobamos que tiene lo siguiente:

image-20240325-154419.png

Solo debemos crear un Subscription de la cola (Queue) que creamos en el paso 1, y que deberíamos haber guardo el ID, como se comenta en dicho paso.

image-20240325-154935.png

Si después de añadir la cola, en la columna Status podemos leer Acknowledged, entonces es que hemos realizado todos los pasos de la configuración correctamente.

  1. Implementar el acuerdo SAP_COM_0002 para el usuario de comunicaciones.

No importa que el acuerdo ya esté creado para otro sistema, debemos crear uno nuevo para el sistema de comunicaciones que creamos en el paso 3 “TBAI_AUTOMATISMO”

Para proveer al usuario de comunicaciones de los permisos necesarios para consumir las vistas estándar de FI que se utilizan en la solución debemos crear un acuerdo de comunicaciones basado en el escenario de Finanzas, para el mismo usuario y sistema que usamos en el paso 3. Esto puede resultar poco intuitivo, pero así el usuario de integración de EventMesh tendrá los permisos necesarios para consultar vistas como I_JournalEntry y demás vistas necesarias por el producto.

En la aplicación “Communication Arrangement” debemos implementar el escenario SAP_COM_0002 y en la configuración usaremos el mismo sistema que usamos en el paso 3 y el mismo usuario, deshabilitando los servicios de salida, así el campo Outbound User dejará de ser obligatorio y nos dejará grabar.

image-20241204-104218.pngimage-20241204-104358.png

Con esto estaría todo, solo faltaría probar y validar que los eventos funcionan. Podemos ver la aplicación “Enterprise Event Enablement - Event Monitor” desde donde se podrán visualizar los dos canales, el de salida y el de entrada y podremos ver como los eventos se crean en el primero y luego aparecen en el segundo confirmando así que se envían a BTP, al servicio EventMesh, y posteriormente el sistema los recibe correctamente mediante el canal de entrada.

En nuestras pruebas desde la creación del JournalEntry hasta la recepción del evento el proceso tarda 10 segundos.

  • Sin etiquetas