Lesson 3 of 6
Message control in the partner profile
8 min
Listen to this lesson
Message control produces an output record; the IDoc interface turns it into an IDoc. The hinge between them is the message control tab of the outbound row in WE20. SAP's documentation states the rule plainly: for outbound processing under message control, you must assign the application and the output type uniquely to an IDoc type in the partner profile. That assignment is a line with three values: application, output type and process code.
- Output recordNAST record: application V1, output type BA00, partner 17100001 as SP, medium 6
- Find the profileIDoc interface reads WE20: partner KU 17100001, function SP, the row whose message control line says V1 / BA00
- Process codeThe line names SD10; WE41 links SD10 to the function module that fills the IDoc
- Build the IDocMessage type ORDRSP, basic type ORDERS05 from the same row
- DispatchPort XP1_PO and output mode from the row; status 03 or 30
The process codes Contoso uses
| Application | Output type | Message type | Process code | What the process code does |
|---|---|---|---|---|
| V1 sales | BA00 | ORDRSP | SD10 | Fills an ORDERS-structure IDoc with the order confirmation |
| V2 shipping | LAVA | DESADV | DELV | Fills a DELVRY IDoc from the delivery |
| EF purchasing | NEU | ORDERS | ME10 | Fills an ORDERS IDoc from the purchase order |
| V3 billing (ECC, before conversion) | RD00 | INVOIC | SD09 | Fills an INVOIC IDoc from the billing document |
Outbound process codes for Contoso's EDI output under message control.
You can see a process code's function module in WE41 (outbound process codes). Contoso uses the standard codes; when a project needs custom logic, the safer route is an exit or BAdI in the standard function module, not a copy of it, because copies stop receiving SAP corrections.
What can go wrong at the hinge
- No message control line for the application and output type: the output record ends in status 2 (incorrectly processed) and the processing log reports that no process code was found. SAP's exception handling routes this to system process code
EDIN. - Partner function mismatch: the record says SH, the WE20 row is for SP. With medium 6, message control may not even propose the output, because the partner is not set up in the IDoc interface for that function.
- Wrong process code for the message type: for example DELV on an ORDRSP row. The IDoc fails during generation or comes out with the wrong content.
- Partner inactive: the profile status is I, so no IDoc is created; useful on purpose during a partner switch, painful by accident.
Output status and IDoc status are different things
The NAST record has its own processing status: 0 not processed, 1 successfully processed, 2 incorrectly processed. Status 1 means message control handed the output to the IDoc interface and an IDoc was created. It does not mean the IDoc reached the partner: that story continues in the IDoc's own statuses (03, 30, 02) and in the partner's 997. Testers who stop at a green output status miss transmission errors; testers who only look at WE02 miss outputs that were never determined.
Testing the hinge on its own
The IDoc interface offers a test path for exactly this link: under Tools > IDoc Interface/ALE > Test > Outbound, the function "Outbound from MC" processes an existing output record into an IDoc, and SAP's documentation notes that errors are stored in the message control processing log and in the IDoc's status records. It is useful in CMQ when you want to prove a new message control line without creating a fresh sales order each time. The companion function "Outbound Processing from IDoc" (WE14) takes IDocs that are waiting in status 30 and passes them to the port, which helps test collected output without waiting for the RSEOUT00 job.
What would you do?
After a transport, Great Lakes' 856s stop. Deliveries show LAVA in status 2 and the log says "no process code" for the partner. WE20 shows a DESADV row with message control line V2 / LAVA / DELV, but the row's partner function is SH, while the LAVA records use SP. What should Theo do?
- The WE20 message control line maps application + output type to a process code and, through the row, to an IDoc type.
- Contoso's lines: V1/BA00/SD10, V2/LAVA/DELV, EF/NEU/ME10; billing used V3/RD00/SD09 before the conversion.
- A missing line gives output status 2 with "no process code" (system process code EDIN).
- Output status 1 only means an IDoc was created; follow the IDoc status and the partner's 997 for the rest.
Check your understanding · not graded
Lesson check
1. A billing document under NAST has an output record but no IDoc appears. Which check comes first?
2. What does NAST processing status 1 mean for an EDI output?
3. Which transaction shows outbound process codes and their function modules?