Creating an IDoc in SAP: A Guide

How To Create An Idoc In Sap

IDOC serves as a data container that facilitates the exchange of information between two compatible processes. It enables the seamless transfer of data by ensuring both parties understand the structure and meaning of the information being shared.

To put it differently, an IDOC can be described as a structured data file that is shared between two systems capable of understanding and processing the information within it.

When we initiate an outbound ALE or EDI Process, a new IDOC is generated.

In SAP, IDOCs are stored in a database and each IDOC is assigned a distinct number within a client.

IDOCs in SAP are not limited to specific sending and receiving systems, as they can be used for communication between both SAP and non-SAP systems. These IDOCs follow standardized formats such as ANSI ASC X12 and EDIFACT, prioritizing the data with greater length in case of conflicts. The direction of data exchange does not affect IDOCs, allowing them to be utilized for inbound or outbound processes like the ORDERS01 in the Purchasing module. Additionally, IDOCs can be easily accessed using a text editor since they store data in character format instead of binary format.

Structure of an IDOC

On the other hand, the Data Record or segments contain the actual application data within the IDoc. These segments are responsible for holding and transferring relevant data.

To access an I-DOC, you have the option to utilize transaction WE02 or WE05.

As seen the screenshot above IDOC record has three parts Control, Data and Status. Let’s look into them in detail – Control Record

  • All control record data is stored in EDIDC table. The key to this table is the IDOC Number
  • It contains information like IDOC number, the direction(inbound/outbound), sender, recipient information, channel it is using, which port it is using etc.
  • Direction ‘1′ indicates outbound, ‘2′ indicates inbound.

The data record in SAP consists of various application data such as employee header information, weekly details, and client details. This data is stored in tables EDID2 to EDID4, while the structure EDIDD displays its components. Within this structure, you can find important information like the IDoc number, segment name and number within the IDoc, hierarchy details, and the actual data itself. The actual data is stored as a string in a field called SDATA, which has a maximum length of 1000 characters.

  • Status record is attached to an I-DOC at every milestone or when it encounter errors.
  • All status record data is stored in EDIDS table.
  • Statuses 1-42 are for outbound while 50-75 for inbound

Creating IDOCs in SAP

An IDOC Type, also known as (Basic), determines the arrangement and layout of the business document that will be shared. An IDOC represents an example of an IDOC Type, similar to how variables and variable types are understood. The creation of IDOC types can be done through WE30.

Understanding the Concept of a Segment

A Segment defines the format and structure of a data record in I-DOC. Segments are reusable components.

  • Segment Type (not affected by version changes)
  • Definition of Segment (varies with different versions)
  • Documentation for the Segment
You might be interested:  Understanding the Definition of Sap

The version of the segment can be identified by the last 3 characters.

The definitions may vary depending on the version, but the segment type remains constant.

What is the Extension IDOC type?

SAP provides many a pre-defined Basic IDOC Types which can not be modified. In case you want to add more data to these restricted basic type you may use an extension type. Most of the times you will NOT use extension.


The documentation for every IDOC can be found in transaction WE60, where detailed information is provided.

Creating a personalized IDoc in SAP: A step-by-step guide

To create an IDoc in SAP, you need to follow a few steps. First, you need to create segments using the transaction code WE31. Segments are like building blocks that define the structure and content of your IDoc.

Next, you need to create an IDoc type using the transaction code WE30. In this step, you will attach the segments that you created earlier to define the overall structure of your IDoc.

After creating the IDoc type, you need to define a message type using the transaction code WE81. A message type represents a specific business scenario or process for which you want to exchange data through IDocs.

Message Type

A message refers to a particular kind of document that is exchanged between two partners, such as orders, order responses, invoices, and so on.

An idoc type can be associated with many message types

Also, a message type can be associated with different idoc types. Transaction WE81

Setting up IDoc in SAP: A step-by-step guide for India

Next, activate the SAP Workflow. The SAP Workflow is an essential tool for automating business processes within the SAP system. By activating it, you enable the workflow functionality which allows tasks and approvals to be routed automatically based on predefined rules and conditions. For instance, if there is a specific approval process that needs to be followed for purchase orders in your organization, activating the SAP Workflow will ensure that these approvals are handled efficiently.

Additionally, set up an IDoc administrator. An IDoc administrator manages the flow of Intermediate Documents (IDocs) within the SAP system. These documents contain structured data used for exchanging information between different systems or partners outside of SAP as well. Setting up an IDoc administrator involves configuring settings such as message types and partner profiles so that IDocs can be sent and received accurately according to defined protocols.

Lastly, define a port and user-specific parameters as per your requirements.

Defining a port means specifying communication settings through which data will flow into or out of the SAP system—for example, defining whether data should be transmitted via HTTP or FTP protocols.

On the other hand,

defining user-specific parameters entails customizing settings at an individual user level—such as default language preferences or display options—to enhance their experience and ensure they have access to the necessary functionalities.

IDOC Views

An IDOC type can be utilized for multiple message types, leading to the inclusion of additional fields in IDOCs that may not be necessary for a specific message type.

IDOC views are utilized to enhance the efficiency of generating IDOCs by ensuring that only the necessary segments are populated with data. These views play a significant role specifically in outbound processing.

Creating an inbound IDoc in SAP: A step-by-step manual guide

1. Open tcode-we19.

2. Enter your idoc number on the initial screen.

3. If you have an existing idoc of the same type, press enter.

You might be interested:  Revolutionizing Sales and Distribution with SAP S/4HANA

4. On the application toolbar, locate and click on the “standard inbound” pushbutton.

5. By clicking this button, a new idoc with identical content will be created.

6. If desired, you can modify the data before proceeding.

Remember to follow these steps in order to navigate through tcode-we19 and perform necessary actions with idocs effectively.

Partner Profiles

In SAP, a partner refers to a business associate with whom you engage in commercial activities and share various types of documents.

In the partner profile of a business associate with whom we share Idocs, we update the essential parameters required for data exchange. The transaction utilized for this purpose is WE20.

The port defines the technical characteristics of the connection between your SAP system and the other system you want to transfer data with (subsystem). The port defines the medium in which data is exchanged between the 2 systems.

There are various kinds of ports available, with the two most frequently utilized being TRFC ports in ALE and File ports specifically used for EDI purposes.

To configure TRFC ports, it is necessary to specify the name of the logical destination that has been created using SM59.

When using file port you can specify the directory where the IDOC file should be placed. The other system or the middleware will pick up the file from here. The Function module can be used to generate a file name for the idoc. Whileyou can use “Outbound file” to specify a constant file name. The tab ” outbound trigger ” can be used to supply information if we want to trigger some processing on the subsystem when an idoc is created at this location. We have to specify the command file name and the directory which has to be run.

Step-by-step guide to creating an IDoc

To create a segment, follow these steps:

1. Create the IDoc type.

2. Specify the output type.

4. Specify the segment where the infotype should be inserted.

5. Modify the partner profile.

6. Implement BADI HRALE00OUTBOUND_IDOC for enhancement.

Creating an IDoc in SAP: A Step-by-Step Guide

To grasp the procedure of generating an IDOC, we will examine it through an illustration.

The transfer of data from your SAP system is known as the Outbound process, while the movement of data into your SAP system is referred to as the Inbound process. If you are a developer or consultant responsible for establishing these processes in your organization, here are the steps to follow in order to set them up.

The Outbound Process

Here are the steps to create an IDoc in SAP:

1. Generate segments (WE31).

2. Develop an IDoc type (WE30).

3. Establish a message type (WE81).

5. Set up a port for communication purposes (WE21).

6. If using message control method, create a function module and associate it with an outbound process code.

7. Alternatively, create a function module or standalone program for generating the IDoc.

8. Create a partner profile (WE20) with relevant details in the outbound parameters for desired partner exchange.

9. Trigger the IDoc through partner profile settings.

The Inbound Process

1. Generate a basic Idoc type using transaction WE30 in SAP.

2. Develop a message type by utilizing transaction WE81.

3. Connect the message type to the basic Idoc type through transaction WE82.

4. Construct a function module that will handle the processing of the Idoc.

5. Specify the characteristics of the function module in transaction BD51.

6. Assign the inbound function module to its corresponding message type using transaction WE57.

7. Establish process codes via transaction WE42 for further definition and customization purposes.

8. Create partner profiles with transaction WE20 to establish communication channels between partners involved in Idoc exchanges within SAP system

You might be interested:  Checking transport requests in SAP: A guide

: SAP IDOC Tutorial: Definition, Structure, Types, Format & Tables

What Tcode do I use to create an IDoc?

Different Transactional Codes for IDOC:

1. WE60 – This transaction code is used for documenting IDoc types. It provides detailed information about the structure and attributes of each IDoc type.

2. WE30 – With this transaction code, you can create and maintain different IDoc types in SAP. It allows you to define the segments, fields, and relationships within an IDoc type.

3. WE81 – Message types can be defined using this transaction code. A message type represents a specific business scenario or process that requires data exchange between systems using IDocs.

5. WE60 (again) – Process codes are created and maintained using this transaction code in SAP. Process codes determine how inbound or outbound messages are processed by specifying the function modules involved.

6.WE41 – Outbound process codes are defined through this transaction code in SAP system.This determines how outbound messages will be processed during communication with external systems via EDI/IDocs.

7.WE42 – Inbound process codes are created using this particular transaction code.It defines how inbound messages will be processed upon receiving them from external systems via EDI/IDocs.

Transactional Codes for Different Types of Idocs:

In order to work effectively with Intermediate Documents (IDocs) within the SAP system, various transactional codes have been provided for different purposes related to their creation and management.

Creating an IDoc basic type: How can it be done?

To begin, you need to create segments in the WE31 transaction code by specifying the necessary data elements. This step is crucial as it helps define the structure and content of your IDoc. Once the segments are created, proceed to create the Basic IDoc Type using transaction code WE30.

After creating the Basic IDoc Type, move on to creating a Message type in transaction code WE81. The Message type serves as a communication channel between SAP systems and external applications or partners. Assign this newly created Message type to your previously defined IDoc Type in transaction code WE82.

Next, depending on whether you want an outbound or inbound process, you will need to create a process code using either transaction code WE41 (for Outbound) or WE42 (for Inbound). These process codes determine how SAP handles incoming and outgoing messages associated with your IDocs.

1. Create segments with required data elements in WE31.

2. Create Basic IDoc Type in WE30.

3. Create Message type in We81 and assign it to your IDoc Type using We82.

4a. For outbound processes, use We41 to create a process code.

4b. For inbound processes, use We42 instead.

By following these steps carefully, you can successfully create an IDoc within SAP for seamless integration and communication with other systems or partners

Generating IDoc XML: A Step-by-Step Guide

To generate an XML file for an IDoc in SAP, follow these steps:

1. Open transaction SE37.

2. Enter the element IDOC_XML_TRANSFORM in the function block.

3. Execute the function by clicking on F8.

4. The IDoc will now be displayed as XML data.

Processing IDoc in SAP: A Manual Approach

P.S: Remember to put a break point in the function module (ZAU_CONCUR_IDOC_UPLD).

The purpose of WE20 Tcode in SAP

WE20 is used to create the partner profiles. 1) LS( Logical system types):- This is used when we are transferring data to any other system using ALE. 2) Customer type:- This is used when data is transferred to the customer. 3) Vendor type:- This is used when data is transferred to the vendor.