SAP Error Code Lookup
Most SAP troubleshooting starts with a number that tells you almost nothing on its own. This index covers every standard IDoc status code — outbound 01 to 42, inbound 50 to 75 — with what the status actually means, whether it needs action, and the first place to look. Below the codes there is a shorter list of the cross-module failures that account for a disproportionate share of real incidents, described by symptom rather than by message number, because short texts change between releases.
Search the index
Type a status number, a phrase from the status text, or a transaction code. The tables below filter as you type.
Inbound IDoc status codes (50–75)
| Status | Meaning | State | First check |
|---|---|---|---|
| 50 | IDoc added | Informational | Received and stored. Waiting for the ALE service layer to pass it on. |
| 51 | Application document not posted | Error | The most common inbound failure. Read the status text in WE02, fix the cause, then reprocess with BD87. |
| 52 | Application document not fully posted | Attention | Part of the document posted. Check which items were rejected before reprocessing. |
| 53 | Application document posted | Success | — |
| 54 | Error during formal application check | Error | Failed before posting was attempted. Usually a data consistency check in the inbound module. |
| 55 | Formal application check OK | Success | — |
| 56 | IDoc with errors added | Error | Control record could not be interpreted — often a missing partner profile in WE20. |
| 57 | Test IDoc: error during application check | Error | — |
| 58 | IDoc copy from an R/2 connection | Informational | — |
| 59 | Not used | Informational | — |
| 60 | Error during syntax check of IDoc (inbound) | Error | The IDoc does not match the basic type. Compare with WE30 and check for a missing extension. |
| 61 | Processing despite syntax error | Attention | — |
| 62 | IDoc passed to application | Informational | — |
| 63 | Error passing IDoc to application | Error | The inbound function module could not be called. Check the process code in WE42 and WE20. |
| 64 | IDoc ready to be transferred to application | Informational | Waiting for RBDAPP01 if the partner profile is set to background processing. |
| 65 | Error in ALE service layer | Error | Partner profile, process code or distribution model problem rather than an application error. |
| 66 | IDoc is waiting for predecessor IDoc (serialization) | Attention | Resolve the earlier IDoc in the serialization group first. |
| 67 | Not used | Informational | — |
| 68 | Error — no further processing | Attention | Set manually. The IDoc is closed and will not be reprocessed. |
| 69 | IDoc was edited | Informational | — |
| 70 | Original of an IDoc which was edited | Informational | — |
| 71 | IDoc reloaded from archive | Informational | — |
| 73 | IDoc archived | Informational | — |
| 74 | IDoc was created by test transaction | Informational | — |
| 75 | IDoc is in inbound queue | Informational | Stuck entries are visible in SMQ2. |
Outbound IDoc status codes (01–42)
| Status | Meaning | State | First check |
|---|---|---|---|
| 01 | IDoc created | Informational | — |
| 02 | Error passing data to port | Error | Check the port definition in WE21 and the RFC destination in SM59. |
| 03 | Data passed to port OK | Success | — |
| 04 | Error within control information of EDI subsystem | Error | Control record rejected downstream. Compare the EDIDC values against the subsystem's expectations. |
| 05 | Error during translation | Error | The mapping in the middleware failed. Diagnose in the subsystem, not in SAP. |
| 06 | Translation OK | Success | — |
| 07 | Error during syntax check | Error | Segment structure violates the basic type. Check WE30 / WE31 and the extension used. |
| 08 | Syntax check OK | Success | — |
| 09 | Error during interchange handling | Error | Raised by the EDI subsystem during envelope handling. |
| 10 | Interchange handling OK | Success | — |
| 11 | Error during dispatch | Error | Transmission to the partner failed. Check connectivity and the port/RFC target. |
| 12 | Dispatch OK | Success | — |
| 13 | Retransmission OK | Success | — |
| 14 | Interchange acknowledgement positive | Success | — |
| 15 | Interchange acknowledgement negative | Error | The partner rejected the interchange envelope. The reason sits on their side. |
| 16 | Functional acknowledgement positive | Success | — |
| 17 | Functional acknowledgement negative | Error | The partner accepted the envelope but rejected the content. |
| 18 | Triggering EDI subsystem OK | Success | — |
| 19 | Data transfer for test OK | Informational | — |
| 20 | Error triggering EDI subsystem | Error | The command in the port definition could not be started. Check WE21. |
| 21 | Error passing data for test | Error | — |
| 22 | Dispatch OK, acknowledgement still due | Informational | — |
| 23 | Error during retransmission | Error | — |
| 24 | Control information of EDI subsystem OK | Success | — |
| 25 | Processing despite syntax error | Attention | — |
| 26 | Error during syntax check of IDoc (outbound) | Error | Mandatory segment or field missing against the basic type definition. |
| 27 | Error in dispatch level (ALE service) | Error | Typically a partner profile problem. Check WE20 for the outbound parameters. |
| 29 | Error in ALE service layer | Error | Distribution model or filter problem. Check BD64 and the receiver determination. |
| 30 | IDoc ready for dispatch (ALE service) | Informational | Waiting for RSEOUT00 if the partner profile is set to collect IDocs. |
| 31 | Error — no further processing | Attention | Set manually to stop reprocessing. Nothing runs against this IDoc again. |
| 32 | IDoc was edited | Informational | — |
| 33 | Original of an IDoc which was edited | Informational | — |
| 34 | Error in control record of IDoc | Error | Sender or receiver partner details in EDIDC are incomplete or inconsistent. |
| 35 | IDoc reloaded from archive | Informational | — |
| 36 | Electronic signature not performed (timeout) | Attention | — |
| 37 | IDoc added incorrectly | Error | — |
| 38 | IDoc archived | Informational | — |
| 39 | IDoc is in the receiving system (ALE service) | Success | — |
| 40 | Application document not created in target system | Error | The receiver failed to post. Diagnose the inbound IDoc in the target system, not here. |
| 41 | Application document created in target system | Success | — |
| 42 | IDoc was created by test transaction | Informational | — |
How to read a status code
The direction matters more than the number. An outbound status tells you how far the IDoc got on its way out — through the ALE service layer, the port, the subsystem and finally the partner. An inbound status tells you how far it got on the way in, and the single most useful distinction is whether the failure happened before or after the posting function module was called. Status 63 and 65 mean the application never ran; status 51 and 52 mean it ran and rejected the data. Those two families need completely different investigations, and confusing them is the most common reason a straightforward IDoc problem takes a day.
Whichever code you have, the status record text in WE02 carries the real message. Read it in full rather than from the truncated list column, note the message class and number, and pull the long text in SE91 before forming a theory.
Common failure points beyond IDocs
These are the situations that generate the most support tickets across modules. Each one is described by what you see, because the exact message text depends on your release and customising.
| What you see | Area | First check |
|---|---|---|
| Inbound IDoc sits at status 51 with an application error | ALE / EDI | Read the full status record text in WE02, then the message long text in SE91. |
| Sales document shows no price / pricing procedure not determined | SD | Confirm the procedure was determined at all in OVKK before hunting condition records. |
| GR/IR clearing account will not clear — balance left behind | MM / FI | Compare quantity and value differences per PO item before writing anything off. |
| Posting period is not open at the posting date | FI / MM | OB52 for FI periods, MMRV for the current MM period. Check the document date, not today. |
| Material not maintained for the plant or sales organisation | MM / SD | MM03 with the plant and sales views selected for the exact org units in the document. |
| Account determination failed on goods movement or billing | MM / SD / FI | OBYC for the movement, VKOA for billing. Verify the valuation class and account key combination. |
| Number range exhausted or missing for the document type | Cross-module | SNRO / the document type's number range object. Intervals expire silently at year end. |
| Update terminated after saving a document | Basis / Cross-module | SM13 for the update record, ST22 for the short dump behind it. |
| Background job cancelled without an obvious error | Basis | SM37 job log first, then ST22 and SM21 for the same timestamp. |
| Authorisation missing but the role looks correct | Basis / Security | SU53 immediately after the failure, then trace with ST01 if SU53 is inconclusive. |
When the code is not enough
A status code narrows the search; it rarely closes it. When you have the message text but not the cause, paste the error into the ERPClimb error diagnosis tool — it works through the same sequence a consultant would, separating what the message proves from what it only suggests, and tells you which check settles the difference. For deeper walkthroughs, the IDoc status 51, pricing procedure and GR/IR mismatch guides each take one failure from symptom to resolution. If you are still choosing a direction rather than fixing a system, the MM versus SD comparison and the 2026 fresher salary breakdown are the better starting points.
Status meanings and transactions reflect standard SAP ECC and S/4HANA behaviour and may differ in your system depending on release, enhancements and customising. Always verify against your own system before making changes. ERPClimb is an independent educational platform and is not affiliated with SAP SE.