Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 4 of 6

Wiring the extension

8 min

Listen to this lesson

0:00 / 9:14

A released extension is still invisible to processing until three assignments tell SAP when to use it: the message type assignment, the partner profile and, for inbound, the function module assignment. Middleware then needs the new structure too. Missing one of these produces the classic symptoms: no custom segment, or IDocs failing the syntax check.

The four assignments that connect an extension to real traffic.
The Sign-Off Table · thesignofftable.com/academy/sap-edi-209

WE82: message type, basic type, extension, release

In WE82 you assign the logical message type to the basic type and extension for a release: INVOIC, INVOIC02, ZCMCINV1 and your system's release. SAP's IDoc type editor reminds you of this step because the partner profile checks it later; without the assignment, WE20 refuses the extension for that message type.

WE20: the partner profile names the extension

The outbound parameters for Great Lakes Fleet Services (KU 17100001, message type INVOIC) get the extension in the Extension field next to basic type INVOIC02. Only partners whose profile names the extension receive the custom segment; every other customer keeps receiving plain INVOIC02. That is how one extension serves one partner without affecting others.

ObjectTransactionContoso entry
SegmentWE31Z1CMCCORE, released
ExtensionWE30ZCMCINV1 on INVOIC02, Z1CMCCORE under E1EDP01, released
Message type assignmentWE82INVOIC / INVOIC02 / ZCMCINV1 / current release
Partner profileWE20KU 17100001, INVOIC outbound, basic type INVOIC02, extension ZCMCINV1
Inbound FM assignment (inbound only)WE57Function module, basic type, extension, message type, direction 2
DocumentationWE60Generated documentation for INVOIC02 with ZCMCINV1 for the partner spec

Every object an extension needs, in the order you maintain them.

Inbound: WE57

For inbound extensions, SAP's checklist adds one step: in WE57, assign the inbound function module to the basic type, extension and message type, with direction 2, so the function module is registered to process the extended type. SAP's own example assigns IDOC_INPUT_ORDERS to ORDERS01 with an extension for message type ORDERS. Without this, extended inbound IDocs cannot be passed to the application.

Middleware and documentation

Process Orchestration 7.5 works from the IDoc structure it imported. After the extension is released in CMD and transported to CMQ, Theo's team reimports the extended IDoc structure for INVOIC02 with ZCMCINV1 into the Enterprise Services Repository and refreshes the IDoc metadata the adapter uses, then extends the 810 mapping: Z1CMCCORE-CORE_AGREEMENT becomes a reference in the item loop of the 810, using the qualifier Great Lakes specified. The partner specification is generated from WE60, which documents the basic type with the extension, including the segment documentation written in WE31.

  1. CMDSegment, extension, WE82 entry and exit code on one transport; unit test with WE19
  2. XD1Structure reimported, mapping extended
  3. CMQ + XQ1Partner profile in CMQ points to ZCMCINV1; end-to-end test with Great Lakes' test system
  4. CMP + XP1Imported by Luis in the release window; partner profile switched on the agreed date
Rollout order across the landscape; the extension travels by transport, the middleware change by its own release path.
The Sign-Off Table · thesignofftable.com/academy/sap-edi-209

Testing the wiring before the first real invoice

Each assignment can be tested on its own in CMQ before any partner sees the extension. Check WE82 by opening the partner profile line in WE20 and entering the extension; WE20 rejects it if the assignment is missing. Check the outbound side by outputting a test billing document for Great Lakes and opening the IDoc in WE02: the control record must show basic type INVOIC02 with extension ZCMCINV1, and an item with a core agreement must show Z1CMCCORE as its child. Check middleware by sending that IDoc through XQ1 and reading the 810 in the message monitor.

Partner profiles deserve a note on transports. Many teams maintain partner profiles directly in each system rather than transporting them, because partner numbers, ports and destinations differ between CMQ and CMP. Contoso keeps a partner profile checklist per system for exactly that reason, and the extension's rollout plan includes a dated step to switch the production profile to ZCMCINV1 on the day Great Lakes is ready, not on the day the transport is imported.

What would you do?

After the transport reached CMQ, invoices for Great Lakes still arrive at XQ1 without Z1CMCCORE, and the IDocs show INVOIC02 without an extension in the control record. What is the most likely gap?

Key points
  • WE82 assigns message type, basic type, extension and release; WE20 then accepts the extension.
  • Only partners whose WE20 profile names the extension receive the custom segment.
  • Inbound extensions also need a WE57 assignment of the function module, with direction 2.
  • Reimport the extended structure in middleware and generate the partner spec from WE60.

Check your understanding · not graded

Lesson check

  1. 1. Which transaction assigns message type INVOIC to basic type INVOIC02 with extension ZCMCINV1?

  2. 2. How does Contoso make sure only Great Lakes receives the custom segment?

  3. 3. Which extra assignment does an inbound extension need?