ALE stands for Application Link Enabling which links two systems.
ALE is a technology that can enable exchange of data between two different Systems ( Sap – Sap OR Sap – Non Sap).
ALE architecture has the 3 layers :
Application layer related to the application data ( SD , MM , FI or data for any SAP application ).
Distribution layer decides to whom should the data generated by the application layer has to be distributed
Communication layer responsible for delivering the Idoc to the receiving system and communicates to the receiving system via tRFC , File ports , FTP or TCP/IP etc.
ALE uses IDoc as a vehicle to transfer data between two systems.
Reduced Data entry errors
Reduced processing time
Availability of data in electronic form
Reduced inventories and better planning
Standard means of communications
Better business process
EDI stands for Electronic Data Interchange.It related to the electronic exchange of business data in a structured format between two systems. The EDI subsystem generally converts the Idoc data into one of the many EDI formats and generates an EDI file in an X12 format. The middleware then translates the X12 file to an IDOC format and the IDOC is sent to the SAP system.
1.Application document is created.
2. IDOC is generated
3.Idoc is transferred from SAP to Operating system layer
4.Idoc is converted into EDI standards
5.Edi document is transmitted to the business partner
6.The Edi Subsystem report status to SAP
1.EDI transmission received
2.EDI document is converted into an IDOC
3.IDOC is transferred to the SAP layer
4.The application document is created
5.The application document can be viewed.
Used to define the characteristics of communication links to a remote system on which a functions needs to be executed.
The message control component enables us to encapsulate business rules with out having to write ABAP programs.
There are three types of records in SAP ALE Idocs:
Control Records: IDoc is stored in standard table EDIDC.
Data Records: IDoc is stored in standard table EDIDD.
Status Records: IDoc is stored in standard table EDIDS.
A port is a communication channel through which Messages can be sent or received in SAP.
The common port types are the TRFC Port and the File Port.
If both sender and receiver mention TRFC ports, data is exchanged via RFC connections.
If however , a file port is mentioned , the IDOC is written in a flat file at the specified location at the sender system.Then a FTP transfer should be done from that location to the receiver system or a Middleware that will send the file to the receiver system.
The transaction to maintain ports is WE21.
you will find that a Message type is always associated with an IDoc type. , a Message type is used just to specify the kind of information that a system can send or receive to or from another system.
The link between a message Type and an IDoc type is maintained in Tcode WE82.
To be able to communicate with a partner via an IDoc interface, each system needs to maintain a partner profile. A partner profile is a mechanism by which the system can specify what kind of messages (message types) it can send or receive.
Partner profiles can be maintained in WE20.
The distribution model describes how ALE messages flow between different logical systems.
You can mention the sender and receiver logical systems, the message type to be distributed and also distribute data(IDocs) based on certain conditions by using the distribution model.
Creation of Segment Types
Run T-code ‘WE31’ to create segment type
Creation of IDoc type
Run T-code ‘WE30’ to create custom IDoc type
Creation of logical message types
Run T-code ‘WE81’ to create the logical message types.
Linking Message type and IDoc type.
Run T-Code ‘WE82’. Now we have to link these created IDoc types and Message types.
Common configurations on both sides:
Creating Logical System Names SALE
Setup RFC destinations SM59
Defining Port Destinations WE21
In Source system:
Segment Creation WE31
Basic IDOC Type Creation WE30
Message Type Creation WE81
Assign Message Type To Basic IDOC Type WE82
Distribution Model BD64
Writing Report Program SE38
Partner Profile WE20
Message control NACE
Check IDOCs WE02, WE05
In Destination System:
Creating FM SE37
Assign FM to Logical Message WE57
Define I/P method for Inbound FM BD51
Create Process Code WE42
Generate Partner Profile BD64
Choose the standard outbound processing and send the created IDOC ﬁle to your ﬁle. Port type ﬁle is maintained in transaction codes WE20 and WE21.
To create a ﬁlter group, implement transaction codes BD59and BD95.
Table EDID4 includes all the header and segment data of an IDOC ﬁle. Use transaction code SE16 to data browses the table. Another alternative is to implement transaction code WE09 or WE10. It retrieves IDOC ﬁles that match the condition you input (segment, ﬁeld and value.).
Select the IDOC ﬁle with transaction code WE02. Double-click on the IDOC ﬁle you wish to display. On the left side, you will have both the IDOC ﬁle content (segments) and the status history (successive status values). By clicking on the status, you will receive even more details, such as time and user ID.
An IDoc (Intermediate document) is a vehicle that is used to transfer data from one system to another.
IDoc is not a technology of some sort , but it is just a container that holds data .
It holds data in a structured format i.e. in the Fields of the Segments.
IDoc Type vs. IDoc:
An IDoc Type is nothing but a collection of one or more structures defined in a system with specific fields. It does not hold Data.
However, an IDoc is something that holds the values in the fields of the structure defined by IDOC type.
The transaction code to view an IDoc type (Basic and extension) is WE30.
Examples: ORDERS04, DEBMAS04, MATMAS04, CREMAS04.
These are all SAP standard Basic IDoc Types.
You can even have an IDoc extension in which you can use the existing Basic IDoc type and add extra segments and fields to it. Usually we extend an IDoc when the standard SAP IDoc type is not able to cater to the business process.
IDOC type specifies Data Structure and IDOC is the instance based on IDOC type.
IDOC has three type of records:
- Control Record — contains control info ex: receiver port etc
- Data record — Contains IDOC data
- Status — holds IDOC status.
When it comes to debugging, I believe we can make use of WE19.
We can reprocess error IDOC’s(status 51) using program RBDAGAIN
If you are sending one idoc to more systems ,then we have to create one sender logical system and more receiver logical systems in Tcode is SALE. After then we will send In Tcode BD64.
ALE/IDocs are used for asynchronous information interchange.while BAPIs are used for synchronous information interchange
If we have any error in IDOC then we can edit it by using WE02 Tcode,after that you can reprocess the corrected IDOC by using BD87tcode.
We can reprocess edited IDOC’s using program RBDAGAIE (Se38 prorgram)
SAP memory is Global Memory is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions.
The contents of the ABAP/4 memory are retained only during the lifetime of an external session .
We are trying to generate the idocs with 12 records, and u find only 10 records idocs created remaining records are missing.We have to check with the filter set up for the records for its receiving partner system logical system . Correct the filters then try regenerating the idocs(missing records).
We can use BD87 ,if you want to reprocess same idoc number.
Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in its respective segments.
We can generate IDOC using function module MASTER_IDOC_DISTRIBUTE
EDIDC stores control/header record.
EDIDD/EDID4 stores data records.
EDIDS stores status records.
When an IDoc is sent from one system to another , it goes through variuos stages.The IDoc status indicates the stage that the Idoc in currently in.
There about 75 IDoc statuses.
0-49 indicates an Outbound IDoc and 50-75 as Inbound IDoc.
01 IDoc generated
02 Error passing data to port
03 Data passed to port OK
51 Application document not posted
52 Application document not fully posted
53 Application document posted
Imagine ,If both the systems have different configurations then we need to convert the measurements like Unit of measure/Text id that is converting field value from one value to another.
IDocs are created, sent and posted in a specific order. This prevents errors occurring when inbound IDocs are processed. Interdependent messages can be distributed serially in different ways, as described in the following sections.
Serialization Using Message Types
Serialization Using Business Objects.
The system provides several filter objects for each message type to filter data. We have to choose the appropriate filter for our business needs and add it to our distribution model.
We can create filter objects for a receiver in Distribution Model View: Tcode BD64.
Open the IDOC in error in WE02 Transaction.
Expand the status records, and see which segment is in error.
Replace the error value with the correct value and click on the save button.
Now go to transaction BD87, enter the IDOC number and click on execute. It will re-process the IDOC with the modified data and display the success message if there are no errors in the edited data.