SAP transaction codeObjectWE57ModuleBTP_INTEGRATION

WE57 — Assign Message Type to IDoc Type and Object Type

WE57 maintains the assignment between a message type, an IDoc type or extension, and a business object type, stored in the EDIMSG table. SAP checks this entry during inbound IDoc processing before invoking the posting function module. Missing entries here are a frequent cause of inbound IDocs failing with a status 56 error even though the partner profile and process code look correct.

This page covers the WE57 transaction, which registers valid message type / IDoc type / object type combinations for inbound IDoc processing. It focuses on why the entry is easy to overlook when a custom extension is introduced, and how to distinguish an EDIMSG problem from a partner profile or process code problem during troubleshooting.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,098 words

Purpose

WE57 maintains table EDIMSG, which links a message type, an IDoc basic type (and optionally an extension), an object type, and the function module or BAPI wrapper used to post it inbound. The one structural fact that causes most confusion: the assignment is keyed on the specific extension, not just the basic type. An entry that works fine for the base IDoc type ORDERS05 with no extension does not automatically cover a customer extension of the same basic type. Each extension used inbound needs its own registered line, or the system has nothing to validate against and refuses to process the IDoc, even though every other configuration piece (partner profile, process code, segment definition) is correct.

When it is used

WE57 is reached for almost exclusively during troubleshooting or setup of inbound IDoc processing, not during routine operation. It comes up when a new inbound interface is built around a custom IDoc extension, when an existing interface is cloned to a new message type, or when an inbound IDoc sits in status 56 with an error referencing an unregistered message type / object type combination. In a BTP integration landscape it surfaces mainly on legacy IDoc-based flows still running through the classic IDoc adapter into an on-premise system behind Cloud Integration or a middleware layer, rather than on newer OData or event-based interfaces where this table plays no role at all.

How to use it in practice

  • Open WE57 and display existing entries filtered on the message type in question to see whether any assignment exists at all
  • Check whether the entry present matches the exact IDoc type and extension actually being received, not just the basic type
  • If missing, create a new entry specifying message type, basic IDoc type, extension (if used), object type, and the function module that performs the inbound posting
  • Save and confirm the entry is client-independent or transported as required for the landscape
  • Re-trigger the failed IDoc or send a fresh test IDoc through WE19 to confirm the combination now resolves

Key data objects

  • EDIMSG - the assignment table itself: message type, basic IDoc type, extension, object type, and function module for inbound posting
  • EDIDC - the IDoc control record whose message type and IDoc type fields are checked against EDIMSG during inbound processing
  • TBD50 / EDP13 (partner profile inbound entries) - referenced alongside EDIMSG to determine which process code and function module chain actually fires

How to prove it in the data

Run SE16 on EDIMSG and filter on the message type from the failing IDoc. Compare the IDOCTP and extension (CIMTYP) columns against the control record of the failing IDoc in EDIDC for the same message type. If no row matches the exact basic type plus extension combination, the assignment is missing regardless of what WE20 or WE42 show. Cross-check the function module named in the EDIMSG row against the one referenced in the inbound process code to rule out a stale or renamed function module.

ECC vs S/4HANA

The EDIMSG mechanism and the WE57 transaction are unchanged on S/4HANA; this is core IDoc/ALE plumbing that was not touched by the Fiori migration. There is no Fiori app for this maintenance activity because it is a technical configuration table, not a business transaction. On S/4HANA the practical shift is that fewer new interfaces are built on IDoc extensions in the first place, so WE57 maintenance is increasingly confined to legacy flows being kept alive rather than greenfield development.

Common pitfalls and how to diagnose them

  • Missing extension entry: the basic type is registered but the specific customer extension is not. This produces a status 56 error that reads as a generic inbound failure. Always check the extension field in the failing IDoc's control record before assuming the whole message type is unconfigured.
  • Overbroad fix: the common bad reflex is to delete the extension-specific requirement and register the entry against the basic type with no extension filled in. This clears the error but silently routes every inbound IDoc of that message type through the same object type and function module, including ones using a different extension, which can post data into the wrong structure or lose custom segment content.
  • Duplicate or conflicting entries: two rows for the same message type pointing to different object types, usually left over from a migration or copy of configuration. The system uses one of them and the wrong function module ends up called, producing a posting that looks superficially successful but writes to the wrong business object.
  • Function module mismatch: the EDIMSG row points to a function module that has since been renamed, deprecated, or replaced by a BAPI wrapper. The IDoc passes the EDIMSG check but dumps or fails inside the function module itself, which looks unrelated to WE57 until the call stack is traced back.
  • Confusing this with process code configuration: WE42 controls which process code and function module a partner profile invokes; EDIMSG is a separate validation layer checked before that. A correctly configured process code with a missing EDIMSG entry still fails, and consultants who only check WE42 waste time before finding the actual gap here.

Whose problem this is

This is technical integration configuration, typically owned jointly by an ABAP or interface developer and a functional consultant who understands which object type the inbound data should land against. A good handover states the message type, the exact IDoc type and extension involved, the object type expected, and whether the fix is a new EDIMSG entry or a correction to an existing conflicting one, plus the transport request it travels in.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tcodes/we57ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.