Módulo de este artículo: Integration Flow Helper
Externalize Parameters, copiar ajustes de pasos e importar API desde SAP Business Accelerator Hub en SAP CPI
Convierte direcciones fijas en {{parameters}} en un paso, copia los ajustes de un paso en otro iFlow, guarda consultas OData como plantillas, importa API desde el Hub, comprueba XPath contra un ejemplo y ordena expresiones de mapping.
Parte del trabajo más lento en un iFlow de SAP Cloud Integration (SAP CPI) no es la lógica. Es escribir la misma dirección del receptor en tres tenants, copiar a mano diez filas de un Content Modifier de un iFlow a otro, reconstruir una consulta OData que escribiste el mes pasado o descargar una especificación de API solo para saber los campos de un conjunto de entidades.
El Helper de Kitegra ahora tiene una herramienta para cada una de estas tareas, junto al diseñador de SAP Integration Suite: Externalize Parameters, copiar y pegar ajustes de pasos con plantillas de consulta OData, una importación desde SAP Business Accelerator Hub, una comprobación de XPath contra tu payload de ejemplo y Ordenar para las expresiones de Message Mapping. Este artículo explica qué hace cada una, cuándo cambia tu iFlow y qué conserva.
Externalize Parameters en un solo paso
Una dirección escrita directamente en un canal receptor obliga a editar el propio iFlow cada vez que pasa de DEV a QA y a PROD. La respuesta de SAP es un parámetro externalizado: {{Receiver_OData_Address}} en el campo, con su valor definido por tenant en Configure. Externalize Parameters lo escribe por ti.
Abre un iFlow, pulsa Edit en SAP y elige Externalize Parameters en el menú de Kitegra. El panel lista los valores fijos que suelen cambiar entre tenants:
- Direcciones: URL, hosts, endpoints, rutas, directorios y WSDL. Vienen marcadas, salvo las direcciones de proxy y las direcciones ProcessDirect o JMS.
- Otros valores: nombres de colas y de Data Stores, rutas y consultas OData, timeouts, nombres y alias de credenciales, y puertos.
- Constantes en las tablas de Content Modifier y Write Variables.
Cada valor recibe un nombre propuesto como Receiver_OData_Address, formado a partir del participante y del campo, que puedes cambiar. Los valores que ya son {{…}} o ${…} se muestran como tales. Haz clic en Externalizar y los campos marcados se convierten en parámetros en el iFlow abierto. No se guarda nada hasta que guardes el iFlow en SAP.
Después de una ejecución, Deshacer restaura los valores anteriores, y Copiar valores actuales copia cada parámetro con el valor que reemplazó: tras el despliegue, SAP pide cada valor en Configure, y los pegas allí. Se guardan las últimas diez ejecuciones por iFlow para Deshacer. Las comprobaciones de diseño del iFlow Inspector remiten a esta herramienta cuando la dirección de un receptor está escrita en el iFlow.
Copia los ajustes de un paso en otro paso o iFlow
Elige Copiar y pegar ajustes de pasos en el menú de Kitegra, selecciona un paso en el diagrama (o elígelo en el panel) y haz clic en Copiar ajustes. La copia contiene los headers, las exchange properties y los campos del adaptador del paso. El panel conserva tus últimas diez copias, de la más reciente a la más antigua, para todos los tenants e iFlows de este navegador.
Para pegar, pulsa Edit en SAP, selecciona el paso de destino y haz clic en Pegar en. Antes de escribir, el panel lista los campos que van a cambiar. Para cada tabla eliges Mantener, Añadir filas (agrega solo las filas copiadas que faltan) o Reemplazar filas. Una copia solo se pega en un paso del mismo tipo, y puede ir a otro iFlow, salvo una ruta EDMX y los campos de script, que apuntan a archivos del iFlow de origen. Deshacer restaura lo que cambió el último pegado.
Plantillas de consulta OData
El mismo panel guarda Plantillas de consulta OData. Selecciona un canal receptor OData cuya consulta ya hayas construido, haz clic en Guardar consulta como plantilla y ponle un nombre. Una plantilla guarda la operación, la ruta del recurso y las opciones de consulta como $select, $filter y $expand. Más tarde, en modo de edición, selecciona otro receptor OData y haz clic en Aplicar. Guardar con un nombre que ya existe reemplaza esa plantilla. Para las opciones en sí, consulta opciones de consulta del receptor OData.
Las copias y las plantillas se quedan en el almacenamiento de la extensión de este navegador. No se sincronizan con tu cuenta de Kitegra y nunca se envían a ninguna parte.
Importa una API desde SAP Business Accelerator Hub
El Helper sugiere conjuntos de entidades y campos OData a partir de un EDMX, y rutas HTTP a partir de un archivo OpenAPI. Con la importación desde el Hub ya no necesitas descargar ese archivo antes. En la ventana emergente de la extensión, abre la página de un iFlow con su payload de ejemplo y su especificación de API, y busca Importar desde SAP Business Accelerator Hub.
- La primera vez, haz clic en Permitir acceso: el navegador pide una sola vez acceso a api.sap.com. Kitegra no lo tiene hasta que aceptes.
- Busca una API, por ejemplo
API_PRODUCT_SRV. Buscar no requiere iniciar sesión. - Haz clic en Importar. Descargar la especificación requiere tu inicio de sesión en api.sap.com en este navegador; si no has iniciado sesión, el panel lo indica y abre el Hub.
A partir de ahí, los conjuntos de entidades y campos de una API OData se sugieren en los receptores OData de ese iFlow que no tienen un EDMX propio. Las rutas de una API REST se sugieren en los campos HTTP, como si hubieras cargado el archivo, tal como describe el artículo sobre OpenAPI y Postman. La especificación se guarda por iFlow, solo en este navegador, hasta 8 MB, y Quitar la elimina.
XPath comprobado contra tu payload de ejemplo
Con un payload de ejemplo guardado para el iFlow, el Helper ya sugiere rutas XPath a partir de él. Ahora también comprueba el XPath que escribiste. Cuando ningún nodo del ejemplo coincide, un aviso bajo el campo dice "Ningún nodo del payload de ejemplo coincide con este XPath." Cuando alguno coincide, una línea informativa muestra el valor encontrado.
La comprobación cubre las filas XPath en los headers y las properties de Content Modifier y en Write Variables, las condiciones del XML Router y los splitters XPath. Solo se ejecuta donde el ejemplo guardado es realmente lo que llega a ese paso: un ejemplo XML con solo pasos previos que conservan el body, o un ejemplo JSON después de un único JSON to XML Converter. No dice nada en Local Integration Processes, Exception Subprocesses ni en los XPath construidos con ${…} o {{…}}, así que un aviso significa una discrepancia real.
Ordena una expresión de Message Mapping
Una expresión de Message Mapping con una docena de funciones se convierte pronto en una maraña de líneas cruzadas. En el lienzo de la expresión, ahora hay un botón Ordenar junto a los botones de SAP. Distribuye los nodos desde los campos de origen hasta el destino. En modo de edición, Save conserva la disposición y el botón de deshacer que está al lado la revierte; en modo de visualización solo te ayuda a leer, y la disposición desaparece cuando SAP vuelve a dibujar la expresión. No se guarda ni se envía nada a SAP. El diagrama del iFlow también tiene su propio botón Ordenar, en modo de edición, con Deshacer.
Qué cambia en tu iFlow
Externalize Parameters, el pegado y Aplicar plantilla escriben en el iFlow abierto en el diseñador, solo en modo de edición, y el diseñador muestra el iFlow como modificado. Nunca guardan ni despliegan: guardas en SAP, o usas Discard para descartar el cambio. Cada una de estas herramientas se puede desactivar por separado en la página de opciones, en Herramientas; desaparece del diseñador al instante. Externalize, copiar y pegar pasos y la importación desde el Hub forman parte de los planes de pago, con algunos usos en Free; la comprobación de XPath y Ordenar son gratuitas. Mientras Kitegra se lanza, todas las herramientas están abiertas para cualquiera que haya iniciado sesión. Compara los planes.
Pruébalo en tu próximo iFlow
Lee lo que Kitegra agrega alrededor del diseñador de SAP Integration Suite, o lo que hace después de pulsar Deploy.
Preguntas frecuentes
¿Cómo externalizo la dirección de un receptor en SAP CPI?
Pulsa Edit en SAP, abre Externalize Parameters en el menú de Kitegra, deja la dirección marcada, revisa su nombre y haz clic en Externalizar. Guarda el iFlow y luego define el valor por tenant en Configure; Copiar valores actuales te da los valores anteriores para pegarlos.
¿Puedo copiar filas de un Content Modifier a otro iFlow?
Sí. Copia los ajustes del paso, abre el otro iFlow en modo de edición, selecciona un Content Modifier y pega. Elige Añadir filas para agregar solo las filas que faltan, o Reemplazar filas.
¿Necesito una cuenta de api.sap.com para la importación desde el Hub?
Para buscar no hace falta. Para descargar una especificación necesitas haber iniciado sesión en api.sap.com en el mismo navegador.
¿Se sincronizan mis copias de pasos y mis plantillas?
No. Se quedan en el almacenamiento de la extensión de este navegador y nunca se envían a ninguna parte.
¿Alguna de estas herramientas guarda o despliega mi iFlow?
No. Las herramientas escriben en el iFlow abierto en modo de edición; tú lo guardas en SAP, o descartas el cambio.