Showing results for 
Search instead for 
Did you mean: 

relation of ALE , EDI and idoc

Former Member
0 Kudos


what is relation of these ALE, EDI, IDOC , i know the definition of these , i want know ( while the transfer of sap to sap ALE tool is used ,) where this idoc is used ,



Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Shivaji,

What is EDI…?

Electronic Data Interchange

• The computer-to-computer electronic exchange of machine processable business documents in a standard format

• An electronic alternative to paper, fax, and phone-based transactions used by companies to communicate with one another


• Allows for better time management and relieves the entering of duplicate information while cutting down on discrepancies and human intervention.

• The Electronic Data Interchange component in Sales and Distribution consists of an Intermediate Document (IDoc) [Ext.] interface. You can use this interface to

– send messages (outbound processing) such as an order confirmation through Electronic Data Interchange (EDI)

– receive messages (inbound processing) such as a sales order through EDI


• What…?

– The technology of transmitting documents electronically

• Why…?

– For Electronic Data Interchange between a company and trading partners

• How…?

– By means of an electronic document - the IDoc

From the SAP side, the EDI interface is based on IDoc technology, which is independent of

EDI standards. All data is transferred in files between the R/3 System and the EDI subsystem.

Synchronous Remote Function Call (RFC) is implemented to define the time of transfer for a

file between the two systems. The following data can be transferred using the EDI interface:

Outbound Idocs: IDocs are transferred from the R/3 System to the EDI subsystem.

Inbound Idocs: IDocs are transferred from the EDI subsystem to the R/3 System.

Status report: The EDI subsystem sends a status report to the R/3 System on the progress of

the processing of the outbound Idoc.

Contents of IDOC

The data in every IDoc is exchanged between the SAP system and a subsystem in the following three record types, irrespective of the IDoc type:

• Control record (Table: EDIDC): Contains information about Sender and Receiver. There is only one control record per IDoc. It consists of

• IDoc Number

• Sender and Receiver information

• IDoc Message Type* / Port.

• IDoc Type / Direction / Current status / Partner No / Partner Type (Vendor/customer)

• Data record (Table: EDIDD): Contains the message to be exchanged between Sender and Receiver. An IDoc can contain multiple data records, as defined by the IDoc structure. Data records store application data such as purchase order / sales order header information, sales order details like sales doc #, Material / Qty and other relevant information.

• Status record (Table: EDIDS): Contains Status of IDoc at various stages, during the transmission of IDoc between Sender and Receiver. Multiple status records are usually attached to an IDoc. Status records are attached to an IDoc throughout the process like status code, date and time at every stage

Know Me

Basic Type: The form of IDOC type that is originally created in the system. Like ORDERS01 is a basic type IDOC for order messages. It is using the basic types only you would be able to enhance them to suit new requirements within the same IDOC structure. Any enhancement to the basic type IDOC will produce an Extension IDOC that would be more or less similar to the basic type with some new additions (of segments or fields). Here, I would go on to say that IDOC type and Basic type is the same thing that would be referred to interchangeably.

Message type: Again, obvious from the name, it’s the message that is being conveyed. A message type is assigned to the Basic type. Here, logical messages are assigned to the basic type to reflect a business message being transacted. For example, ORDERS is the message type for a purchase order sent by buyer to vendor. The use of which Basic type in this message will differ from buyer to vendor. Basic types used for ORDERS are ORDERS01/02/ etc...Also, one may come up with a custom built IDOC type (or basic type as you can say)...But it is essential to associate a message type with a basic type IDOC. This feature will enable the same IDOC type to be used for a related message. For example : ORDERS01 can be used for message ORDERS for posting a order, the same IDOC can be associated with message ORDCHG to indicate that the message is an order change and so the processing of this IDOC will change accordingly.

IDoc Type:

 Defines the structure of data records

 IDoc Type is used to understand the message in string form available in the data records.

 IDoc type is version dependent i.e an Idoc type can be used only in versions in and above the version in which IDoc is released.

 Transaction WE30 is used to define and release IDoc Types

 Newly created Idoc is a BASIC IDoc and modifications

(Additions of segments) to IDoc after it has been released can be done by creation of extension of IDoc.

 IDoc type can be defined by structuring Segments

Function Module: The most important player in the IDOC processing. This is nothing but an ABAP program to process the IDOC. SAP has supplied function modules to process all standard basic IDOCs and messages. A function module is determined based on the Basic IDOC type and the message type (also message code). So from the above descriptions about basic and message type, the combination of two would primarily determine which IDOC will process this idoc. As an instance, ORDERS01 with message ORDERS is configured to be processed by FM IDOC_INPUT_ORDERS. Similarly, ORDERS01 + ORDCHG will be processed by IDOC_INPUT_ORDCHG. Likewise, you can see all associations in WE57 for inbound. For out bounds, you would refer to process codes (WE41).

Segments: The idenfiers in the IDOC structure which indicates the data, their level, state of occurrence....You can take them as records in the IDOC. Each individual segment will come to you as a record in the IDOC. (Go to EDID4, provide an IDOC # and it will list all included segments as records.) Segments are logically nested to indicate various levels of data (header, item etc).

Qualifiers: Inside the segments, there are fields that can carry actual data often signified by use of qualifiers. A qualifier for a segment field would provide the exact meaning of the data. For example, E1EDK03 segment is configured for dates related data. Segment field IDDAT qualifies the date type and the DATUM field gives out the actual date. So you may see a date qualified as 002, which can be interpreted as requested delivery date. Likewise you can see all qualifiers and their meanings in the associated segment fields in SE12. Give the segment name and go to the domain the ranges for the ID fields.

How EDI Works

Sending Data

• Computer system serves as a data repository.

• EDI extracts information from existing computer applications.

• Transmits paperless, computer-readable documents via telephone lines.

Receiving Data

• Fed directly into a computer system.

• Automatically processed and interfaced with internal applications.

Processing Time

• Accomplished in minutes.

• No re-keying.

• No paper shuffling.

• No attendant costs of manual document processing and delivery.

What is the difference between ALE, EDI, IDocs and BAPI?

The interface concept of the classic R/3 is based on two different strategies: Remote Function Calls (RFC) and data exchange through IDoc message documents. RFC makes direct and synchronous calls of a program in the remote system. If the caller is an external program it will call an RFC-enabled function in R/3 and if the calling program is the R/3 system it will call an RFC-function in another R/3-system or it will call a non-R/3 program through a gateway-proxy (usually rfcexec.exe). BAPIs are a subset of the RFC-enabled function modules, especially designed as Application Programming Interface (API) to the SAP business object, or in other words: are function modules officially released by SAP to be called from external programs.

IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.

While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.

The philosophical difference between EDI and ALE can be pinned as follows: If we send data to an external partner, we generally speak of EDI, while ALE is a mechanism to reliable replicate data between trusting systems to store a redundant copy of the IDoc data. The difference is made clear, when we think of a purchase order that is sent as an IDoc. If we send the purchase order to a supplier then the supplier will store the purchase order as a sales order. However, if we send the purchase order via ALE to another R/3 system, then the receiving system will store the purchase order also as a purchase order.

ALE/EDI - Purpose

Electronic Data Interchange (EDI) and Application Link Enabling (ALE) are used for exchanging business data between different systems.

For both these forms of communication, you require the IDoc Interface. The IDoc interface is made up of the definition of a data structure and the processing logic of this data structure. The data structure is the IDoc. The IDoc is the general exchange format of the communicating systems. IDocs can be sent using different methods (for example, RFC or as a file).

Application Link Enabling (ALE)

You distribute data using ALE if you want to communicate from one system to one or more other (mostly internal) systems. ALE transfers data in IDoc format and uses the methods of tRFC for data transfer.

1. ALE enables the integration of business processes across several SAP or non-SAP systems.

Electronic Data Interchange (EDI)

You use EDI if you want to exchange business application documents with an (external) partner system (for example, a customer or vendor). The SAP system sends EDI messages in IDoc format to an EDI subsystem, where they are converted to a universal EDI standard (UN/EDIFACT or ANSI/X12). This enables communication with non-SAP systems.

1. By definition, two partners are involved in the process in an EDI application scenario: The sender and the recipient of an EDI message.

IDoc Interface/ALE


The IDoc interface exchanges business data with an external system.

The IDoc interface consists of the definition of a data structure, along with processing logic for this data structure.

The data structure is the IDoc. The IDoc is the exchange format common to all the communicating systems. You can specify exception handling in the SAP Business Workflow, with IDocs, without the data already having to exist as SAP application documents.

You need the IDoc interface in the following scenarios:

Electronic data exchange (EDI)

Connect other business application systems (e.g. PC applications, external Workflow tools) by IDoc

Application Link Enabling (ALE).

Application Link Enabling (ALE) is a technology to create and run distributed applications

Hope this would help you.

Reward points if helpful.


Former Member
0 Kudos

Dear shivaji,

A very good presentation of facts.

May I request you to please write down the steps tto configure IDOC's/ALE/EDI's. Further can you post some common problems of IDOCS in support environment.

thank you,



Answers (0)