Extending an IDoc Type


In the case of a customer extension, you add additional segments to an IDoc type supplied by SAP (basic type), so that you can transfer more (or simply other) business information. This extension is upward compatible, that is, it will be supported by future releases.


This checklist requires that the basic type to be extended is already included in the processing: This means, in particular, that the processing (inbound and outbound) is defined using process codes in the partner profiles and that the corresponding programs (for example, function modules) which lie behind the process codes are extended in the same way as the basic type.

You require development authorizations (authorization object S_IDOCDEFT, for example, in the role SAP_BC_SRV_EDI_DEVELOPER) for the extensions. Development takes place in the customer system.

Process flow

The following subsections contain the individual steps. The list can be used as a checklist when creating the extension. More information about the required steps and any alternatives can be found in the process flow diagram.

With the help of an example, you can define an actual IDoc type and process the type in a number of different ways. The example is used in each individual step. As a prerequisite, master data for the test customer TESTCUST (partner type KU) and the test vendor TESTVEND (partner type LI) must be present in the system. In addition, the example also assumes that the file port TESTPORT has been created.

Process flow diagram

Individual steps

General Definitions

·         Combining Segments

·         Extending Basic Types

·         Assign Message Type Basic Type and Extension

Configuring outbound processing (outbound under Message Control)

·         Extending Outbound Function Modules

·         Changing Partner Profiles (Outbound)

·         Testing Outbound Processing

Configuring inbound processing (direct inbound processing using ALE function module)

·         Extending Inbound Function Modules

·         Extending Function Module Assignments (Direct Inbound)

·         Checking Partner Profiles (Inbound)

·         Testing Inbound Processing

Releasing New Objects