Módulo de este artículo: Message Monitor
Encuentra cualquier mensaje de SAP CPI por Message ID o Correlation ID
De dónde salen el Message ID, el Correlation ID y el Application ID de SAP CPI, cómo buscarlos en el monitor y en la API, y cómo abrir un mensaje y sus mensajes relacionados.

Un socio te dice que un pedido falló y te envía un ID. ¿Es un Message ID, un Correlation ID o su propio número de pedido? ¿Y cuál de tus iFlows lo procesó? En SAP Cloud Integration (SAP CPI) cada uno de estos IDs significa algo distinto, y cada uno se encuentra de una manera diferente.
Este artículo explica los tres IDs, cómo buscarlos en el monitor de SAP y en su API, cómo hacer que tus propios mensajes sean más fáciles de encontrar y cómo abrir cualquier mensaje, con sus mensajes relacionados, en un solo paso.
Message ID, Correlation ID y Application ID
- Message ID: el ID de un log de procesamiento de mensajes (MPL). Dentro del iFlow lo contiene el header
SAP_MessageProcessingLogID, y un emisor HTTPS se lo devuelve a quien llama en un header de respuesta con el mismo nombre. - Correlation ID: lo comparten los logs de los mensajes que van juntos, por ejemplo un mensaje y los que pasa a otros iFlows por ProcessDirect o JMS. Lo contiene el header
SAP_MplCorrelationId. - Application ID: tu propia clave de negocio, como un número de pedido, definida en el header
SAP_ApplicationID. El monitor la muestra y permite buscarla.
Cuando alguien te envía un ID, el Message ID encuentra un mensaje, el Correlation ID encuentra toda la cadena y el Application ID encuentra el mensaje del que hablan en sus propios términos.
Buscar en el monitor de SAP
- Abre Monitor Message Processing.
- Amplía el intervalo de tiempo para que cubra el momento en que se ejecutó el mensaje: un mensaje fuera del intervalo seleccionado no aparece.
- Escribe el ID en el campo de búsqueda, o elige antes el iFlow y un estado para acotar la lista.
- Abre el mensaje para ver su log, su error y, si se trazó en la última hora, su trace.
Buscar con la API
La API OData de Cloud Integration lee los mismos logs. Es útil en scripts y herramientas de soporte, y no depende del intervalo de tiempo del monitor:
GET https://<tenant>/api/v1/MessageProcessingLogs('<Message ID>')
GET https://<tenant>/api/v1/MessageProcessingLogs?$filter=CorrelationId eq '<Correlation ID>'&$orderby=LogStart
GET https://<tenant>/api/v1/MessageProcessingLogs?$filter=ApplicationMessageId eq '<your ID>'Las llamadas necesitan un usuario con permisos de monitorización en el tenant.
Haz que tus mensajes sean fáciles de encontrar
Ni el Message ID ni el Correlation ID significan nada para el negocio. Escribe tú mismo la clave de negocio en el log: como Application ID y como custom header property, que el monitor muestra y permite buscar:
import com.sap.gateway.ip.core.customdev.util.Message
def Message processData(Message message) {
def orderId = message.getProperty("orderId") as String
// Shown and searchable in the monitor as a custom header property.
messageLogFactory.getMessageLog(message)?.addCustomHeaderProperty("OrderId", orderId)
// Shown in the monitor as the message's Application ID.
message.setHeader("SAP_ApplicationID", orderId)
return message
}Para los valores que deben viajar entre iFlows, el artículo sobre los headers de ProcessDirect y JMS explica qué cruza cada enlace.
Abre cualquier mensaje desde el diseñador
- En el diseñador, haz clic en el botón «Herramientas de Kitegra» y elige «Logs de mensajes». El visor de logs se abre en una pestaña nueva; deja abierta la pestaña del diseñador, porque el visor lee SAP a través de ella.
- Pega el ID en el cuadro «Message ID o Correlation ID» y elige «Buscar». Ahí se abren mensajes de cualquier iFlow del tenant.
- Lee el mensaje en sus pestañas: «Resumen», «Body y headers», «Adaptador», «Persistidos» y «Adjuntos».
- Abre la pestaña «Línea de tiempo»: lista todos los mensajes que comparten el Correlation ID, con su iFlow, estado, inicio y duración. No necesita trace.
- Para explorar, filtra por iFlow (o «Todos los iFlows»), por estado y por una hora «Desde» y «Hasta».
En el panel «Mensajes» de un iFlow abierto, «Copiar ID» copia el ID de un mensaje, y «Abrir en el monitor de mensajes de SAP» abre la página de SAP para ese mensaje. Para trazar un mensaje que encontraste, consulta cómo trazar un mensaje paso a paso; para generar uno a propósito, prueba un iFlow HTTPS con una service key.
Cómo ayuda Kitegra
El visor de logs forma parte del Message Monitor de Kitegra. El contenido de los mensajes se muestra en la página y nunca se guarda ni se envía a Kitegra.
El Helper, Message Monitor, iFlow Inspector e iFlow Docs cuentan cada uno los iFlows en los que los usas: 5 por módulo sin una cuenta de Kitegra, 50 con el plan Free, 100 con Starter y 300 con Pro; Startup Team da 300 a cada miembro, y Growth Team y Scale Team no tienen límite. La Toolbox y los extras del espacio de trabajo no cuentan iFlows. Mientras Kitegra se lanza, todas las herramientas están abiertas para cualquiera que haya iniciado sesión, también en el plan Free. Compara los planes.
Pruébalo en tu próximo iFlow
Descubre lo que Kitegra añade alrededor del diseñador de SAP Integration Suite, o míralo junto a las demás extensiones de Chrome de Kitegra.
Preguntas frecuentes
¿Qué diferencia hay entre Message ID y Correlation ID en SAP CPI?
El Message ID identifica un log de procesamiento de mensajes. El Correlation ID lo comparten los logs de los mensajes que van juntos, por ejemplo a través de ProcessDirect o JMS.
¿Dónde encuentro el Message ID de una llamada HTTPS?
En los headers de respuesta: un emisor HTTPS devuelve SAP_MessageProcessingLogID a quien llama.
¿Por qué el monitor no encuentra mi Message ID?
Normalmente porque el intervalo de tiempo es demasiado estrecho. Amplíalo para que cubra el momento en que se ejecutó el mensaje, o lee el log a través de la API.
¿Puedo buscar mensajes de SAP CPI por mi propio número de pedido?
Sí, si el iFlow lo escribe en el log, por ejemplo como SAP_ApplicationID o como custom header property.
¿El visor de logs necesita un trace?
No. Encontrar un mensaje, su resumen y su línea de tiempo funcionan sin él. Los bodies y headers antes de cada paso requieren un mensaje que se haya ejecutado con TRACE en la última hora.
¿Kitegra ve los mensajes que abro?
No. El contenido de los mensajes se muestra en la página y nunca se guarda ni se envía a Kitegra.