• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
FORMACIÓN SAP

Manejo de excepciones de SAP CPI – Sugerencias – Volver al flujo principal

By s4pcademy 


Introducción

CPI es una tecnología maravillosa para escenarios B2B que nos ayuda a conectar diferentes sistemas, organizar y transformar datos. Al igual que con la conexión de diferentes sistemas, en ocasiones también es posible que necesitemos procesar excepciones cuando las cosas no siguen como esperábamos.

Este blog proporciona información de nivel principiante sobre el manejo de una excepción en CPI.

CPI tiene la capacidad de manejar excepciones. Sin embargo, la forma en que se manejan las excepciones puede ser un poco diferente de lo que esperaría un principiante. Definitivamente fue diferente de lo que esperaba 🙂

Como desarrollador ABAP tradicional, esperaba detectar la excepción y enrutar el control a los pasos posteriores en el iFlow principal. Pero, el manejo de excepciones en CPI por diseño NO regresa al flujo principal después de que se genera una excepción.

Por ejemplo, en el siguiente flujo, espero una excepción en el paso «Obtener gvCounter». Pero una vez que el control pasa al proceso de Excepción, el control no vuelve al flujo de integración principal para procesar el resto de los pasos.

Excepción%20Manejo%20Emisión

Problema de manejo de excepciones

opción de solución

¿Cómo podría enrutarse el subproceso de excepción al flujo principal?

Una opción de solución es agrupar los procesos subsiguientes en el flujo principal en un subproceso e invocar el subproceso dentro del flujo de Excepción.

Al granularizar el proceso principal en subprocesos, podemos desviar el flujo de excepción para procesar los pasos restantes en el flujo de integración.

Resumen de los pasos

  1. Definir el resto del proceso fluye como un proceso de integración local como “flujo restante“
  2. invocar el «remainingFlow» del flujo de manejo de excepciones
  3. Agregar otro paso para invocar «remainingFlow» después del paso que lanza la excepción. Esto se debe a que necesitamos que se procese el «flujo restante» incluso cuando no hay excepción.

Paso 01 – definir el “flujo restante”.

Paso 02 – Defina un proceso de excepción e invoque “remainingFlow” desde el proceso de excepción.

En mi ejemplo, espero una excepción en el paso Obtener variable persistente «Obtener gvCounter». Entonces, estoy definiendo un proceso de manejo de excepciones para manejar el error cuando la variable gvCounter no persiste antes.

Define%20Exception%20Handling%20-%20Invoke%20remainingFlow

Definir el manejo de excepciones: invocar el flujo restante

Paso 03 – También necesito asegurarme de que el “reminingFlow” se procese incluso cuando no haya excepciones.

Entonces, también estoy invocando el «reminingFlow» en mi flujo principal.

Invocar% 20 flujo restante% 20 de% 20 flujo principal% 20

Invocar el flujo restante desde el flujo principal

Después de la implementación, podemos ver que se invoca el flujo restante independientemente de si hay un error o no.

Pensamiento final

La solución discutida aquí podría ser una entre las muchas opciones. Cualquier desarrollador experimentado puede sugerir cualquier otro método que conozca para procesar el resto de los pasos de integración después de que se genere una excepción.

También siéntase libre de comentar cualquier blog de SAP o rutas de aprendizaje que ayuden a aprender la suite de integración.

Aquí hay algunos enlaces útiles que sigo para aprender Integration Suite:

Paquete de integración de SAP

Desarrollo con SAP Integration Suite

Suite de Integración SAP – Ruta de Certificación




Hello World: CDS View – SAP S/4HANA On Premise 2022
Previo
Configuración de la integración punto a punto con autenticación basada en certificados de cliente en Nómina central de empleados
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.