SXMB_MONI — PI/XI Integration Engine Message Monitor
SXMB_MONI is the ABAP-stack message monitor for SAP PI/XI, showing messages processed by the Integration Engine pipeline with their status, payload versions, and pipeline steps. It does not show SAP Cloud Integration (CPI) message flows, which live in a completely separate cloud-based monitor, nor does it reliably show messages that stayed entirely in the Java Adapter Engine.
This page covers SXMB_MONI, the classic ABAP-side monitoring transaction for SAP Process Integration (PI/XI) messages, and how to distinguish its scope from the Java Adapter Engine and from SAP Cloud Integration. It focuses on the diagnostic sequence for stuck, missing, or erroring messages and on the difference between a PI/PO pipeline problem and a mapping or receiver determination problem.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,189 words
Purpose
SXMB_MONI is the message monitoring transaction for the ABAP-based Integration Engine inside SAP PI/XI. It displays the header, pipeline steps, and payload versions of every XML message that entered the Integration Engine, along with status flags for success, error, scheduled, or waiting. The one structural fact that causes most confusion: SXMB_MONI only shows what passed through the ABAP Integration Engine pipeline. Messages that were routed and processed entirely inside the Java Adapter Engine, or messages handled by SAP Cloud Integration (CPI), will not appear here, or will appear only as a partial record if they touched the ABAP stack briefly. Consultants coming from a CPI background often search SXMB_MONI for a cloud iFlow message and find nothing, not because the message failed silently but because it was never in scope for this transaction.
When it is used
SXMB_MONI is reached for when a classic PI/PO scenario fails or behaves unexpectedly: IDoc to file, proxy to proxy, SOAP to RFC, or any scenario configured through the Integration Directory using the ABAP-based Integration Engine pipeline. It sits downstream of sender adapter processing and upstream of receiver adapter delivery. It is the right tool when someone reports a business document that never arrived at the target system and the interface is a known PI scenario. It is the wrong tool for a pure CPI iFlow (use the cloud integration monitor instead), for a direct point-to-point web service call bypassing PI (use SOAMANAGER or the receiving system's own logs), or for an IDoc that never left the source system (use WE05 or WE02 first to confirm it was even sent).
How to use it in practice
- Open SXMB_MONI and use the selection screen rather than the default list; filter by date range, sender or receiver interface, and message status to avoid scrolling through unrelated traffic.
- Identify the message by interface name or party/service if known; if not known, search by a narrow time window around the reported failure.
- Drill into the message to see the pipeline trace: each step (inbound, mapping, outbound) with its own status.
- Open the failing step to read the ABAP short dump or mapping error text embedded in the audit log.
- Check payload versions to compare the message as received versus the message after mapping, to isolate whether the mapping or the source data caused the failure.
- Only use the restart or resend function once the root cause is understood and the receiving system is confirmed idempotent for that message type.
Key data objects
- SXMSPMAST - master table holding the message header, message GUID, interface name, sender and receiver, and overall status for each XI message.
- SXMSPFPAY - payload storage table holding the XML content for each pipeline version of a message.
- SXMSCLUP - cleanup and archiving control data used when message persistence is purged or archived after the retention period.
- Queue tables (qRFC/tRFC queues, visible via SMQ1 and SMQ2) - not part of SXMB_MONI itself but frequently the real location of a message stuck in scheduled status.
How to prove it in the data
Run SE16 on SXMSPMAST and filter on the interface name and date range reported by the business user, checking the status field for error or scheduled rather than success. Note the message GUID from the matching row, then look up the same GUID in SXMSPFPAY to pull the raw payload for the pipeline version in question, which confirms whether the data reaching PI already contained the fault or whether the fault was introduced during mapping. If no row exists for the expected time window, the message never reached the Integration Engine and the search needs to move to the sender system or the Adapter Engine, not deeper into SXMB_MONI.
ECC vs S/4HANA
SXMB_MONI itself is unchanged on an S/4HANA system running SAP PI/PO on premise; it still behaves exactly as it did in classic ECC-plus-XI landscapes. The larger change is strategic rather than technical: new integration builds are steered toward SAP Integration Suite and Cloud Integration (CPI), where monitoring is done through a Fiori-based Message Monitoring application entirely outside the ABAP stack and outside SXMB_MONI's scope. A consultant supporting a hybrid landscape needs both tools and should not assume one supersedes the other.
Common pitfalls and how to diagnose them
- Stuck in scheduled or waiting status: this is almost never a PI configuration problem, it is a queue processing problem. Check SMQ1 (outbound queue) and SMQ2 (inbound queue) on both the PI system and the connected ABAP systems before touching the Integration Directory.
- Message not found at all: confirm the message actually left the sender system (check WE05 for IDocs, or the proxy log for a proxy call) before assuming PI lost it. A message that never reached the Integration Engine will never appear in SXMB_MONI regardless of how the filters are set.
- Mapping error inside the pipeline: distinguish an ABAP-based mapping runtime error, visible directly in the SXMB_MONI audit log, from a Java-based mapping error, which often only shows a generic failure here and needs the separate Adapter Engine trace for the real stack trace.
- Duplicate downstream postings after a manual resend: resending a message from SXMB_MONI replays it through the full pipeline again; if the receiver already processed the first attempt and is not idempotent, this creates duplicate documents. Confirm the receiving side's state before resending.
- Message present but payload looks wrong: check which pipeline version is being viewed. The message as received, the message after mapping, and the message as delivered are three separate payload versions, and comparing the wrong pair leads to blaming the wrong step.
- Old message missing despite a known GUID: check whether it has been archived; SXMB_MONI does not show archived messages by default and needs the archive read variant enabled for the search.
Whose problem this is
Pipeline, adapter, and queue failures are Basis or integration-team territory; mapping logic errors and payload content issues are functional or integration-developer territory. A good handover states the message GUID, the interface name, the exact pipeline step that failed, and whether the same message reprocesses cleanly in a test resend, so the receiving owner does not have to re-run the whole search from scratch.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/sxmb-moniERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.