Módulo deste artigo: Message Monitor
Encontre qualquer mensagem do SAP CPI por Message ID ou Correlation ID
De onde vêm o Message ID, o Correlation ID e o Application ID do SAP CPI, como buscá-los no monitor e na API, e como abrir uma mensagem e as mensagens relacionadas a ela.

Um parceiro diz que um pedido falhou e envia um ID. É um Message ID, um Correlation ID ou o número de pedido dele? E qual dos seus iFlows o processou? No SAP Cloud Integration (SAP CPI), cada um desses IDs significa algo diferente, e cada um é encontrado de um jeito diferente.
Este artigo explica os três IDs, como buscá-los no monitor do SAP e na API dele, como deixar as suas próprias mensagens mais fáceis de encontrar e como abrir qualquer mensagem, com as mensagens relacionadas, em um único passo.
Message ID, Correlation ID e Application ID
- Message ID: o ID de um log de processamento de mensagens (MPL). Dentro do iFlow, o header
SAP_MessageProcessingLogIDo contém, e um sender HTTPS o devolve a quem chamou em um header de resposta com o mesmo nome. - Correlation ID: compartilhado pelos logs de mensagens que andam juntas, por exemplo uma mensagem e as que ela repassa por ProcessDirect ou JMS. O header
SAP_MplCorrelationIdo contém. - Application ID: a sua própria chave de negócio, como um número de pedido, definida no header
SAP_ApplicationID. O monitor a exibe e permite buscá-la.
Quando alguém envia um ID, o Message ID encontra uma mensagem, o Correlation ID encontra a cadeia inteira e o Application ID encontra a mensagem de que a pessoa está falando, nos termos dela.
Buscando no monitor do SAP
- Abra Monitor Message Processing.
- Amplie o intervalo de tempo para cobrir quando a mensagem rodou: uma mensagem fora do intervalo selecionado não aparece.
- Digite o ID no campo de pesquisa, ou escolha antes o iFlow e um status para filtrar a lista.
- Abra a mensagem para ver o log, o erro e, se ela foi rastreada na última hora, o trace.
Buscando com a API
A API OData do Cloud Integration lê os mesmos logs. Ela é útil em scripts e ferramentas de suporte, e não depende do intervalo de tempo do 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>'As chamadas precisam de um usuário com permissões de monitoramento no tenant.
Deixe suas mensagens fáceis de encontrar
Nem o Message ID nem o Correlation ID significam algo para o negócio. Escreva você mesmo a chave de negócio no log: como Application ID e como custom header property, que o monitor exibe e 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 valores que devem viajar entre iFlows, o artigo sobre headers de ProcessDirect e JMS explica o que atravessa cada ligação.
Abra qualquer mensagem pelo designer
- No designer, clique no botão “Ferramentas do Kitegra” e escolha “Logs de mensagens”. O visualizador de logs abre em uma nova aba; mantenha a aba do designer aberta, porque o visualizador lê o SAP por meio dela.
- Cole o ID na caixa “Message ID ou Correlation ID” e escolha “Buscar”. Mensagens de qualquer iFlow do tenant abrem ali.
- Leia a mensagem nas abas: “Resumo”, “Body e headers”, “Adaptador”, “Persistidos” e “Anexos”.
- Abra a aba “Linha do tempo”: ela lista todas as mensagens que compartilham o Correlation ID, com iFlow, status, início e duração. Não precisa de trace.
- Para navegar em vez de buscar, filtre por iFlow (ou “Todos os iFlows”), por status e por um horário “De” e “Até”.
No painel “Mensagens” de um iFlow aberto, “Copiar ID” copia o ID de uma mensagem, e “Abrir no monitor de mensagens do SAP” abre a página do próprio SAP para ela. Para rastrear uma mensagem que você encontrou, veja como rastrear uma mensagem etapa por etapa; para criar uma de propósito, teste um iFlow HTTPS com uma service key.
Como o Kitegra ajuda
O visualizador de logs faz parte do Message Monitor do Kitegra. O conteúdo das mensagens é exibido na página, nunca armazenado nem enviado para a Kitegra.
O Helper, o Message Monitor, o iFlow Inspector e o iFlow Docs contam, cada um, os iFlows em que você os usa: 5 por módulo sem uma conta Kitegra, 50 no plano Free, 100 no Starter e 300 no Pro; o Startup Team dá 300 a cada membro, e o Growth Team e o Scale Team não têm limite. A Toolbox e os extras do espaço de trabalho não contam iFlows. Enquanto o Kitegra é lançado, todas as ferramentas ficam liberadas para todos que entrarem, inclusive no plano Free. Compare os planos.
Experimente no seu próximo iFlow
Veja o que o Kitegra acrescenta ao redor do designer do SAP Integration Suite, ou confira-o ao lado das outras extensões do Chrome da Kitegra.
Perguntas frequentes
Qual é a diferença entre Message ID e Correlation ID no SAP CPI?
O Message ID identifica um log de processamento de mensagens. O Correlation ID é compartilhado pelos logs de mensagens que andam juntas, por exemplo por ProcessDirect ou JMS.
Onde encontro o Message ID de uma chamada HTTPS?
Nos headers de resposta: um sender HTTPS devolve SAP_MessageProcessingLogID a quem chamou.
Por que o monitor não encontra o meu Message ID?
Normalmente o intervalo de tempo está estreito demais. Amplie-o para cobrir quando a mensagem rodou, ou leia o log pela API.
Posso buscar mensagens do SAP CPI pelo meu próprio número de pedido?
Sim, se o iFlow o escrever no log, por exemplo como SAP_ApplicationID ou como custom header property.
O visualizador de logs precisa de um trace?
Não. Encontrar uma mensagem, o resumo e a linha do tempo dela funcionam sem trace. Bodies e headers antes de cada etapa exigem uma mensagem que rodou com TRACE na última hora.
A Kitegra vê as mensagens que eu abro?
Não. O conteúdo das mensagens é exibido na página e nunca armazenado nem enviado para a Kitegra.