0% found this document useful (0 votes)
74 views9 pages

ALE Structure:: A Custom

The document describes the process of configuring ALE and IDocs to transfer data between two SAP systems. It involves creating custom IDoc segments, types and messages. The source system is configured with logical systems, RFC destinations, ports and distribution models to generate and send outbound IDocs. The target system is set up with similar configurations to receive inbound IDocs, and a function module is created to process the received data and update tables.

Uploaded by

Kamal Batra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views9 pages

ALE Structure:: A Custom

The document describes the process of configuring ALE and IDocs to transfer data between two SAP systems. It involves creating custom IDoc segments, types and messages. The source system is configured with logical systems, RFC destinations, ports and distribution models to generate and send outbound IDocs. The target system is set up with similar configurations to receive inbound IDocs, and a function module is created to process the received data and update tables.

Uploaded by

Kamal Batra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

ALE Structure:

http://www.riyaz.net/blog/beginners-guide-to-ale-and-idocs-part-
iii/technology/sap/20/

This article will help you understand the basics of ALE and IDocs via a simple do-it-
yourself example. We will create a custom IDoc in one SAP system and then post some
business data through it to another SAP system. Business data will be picked up from
custom data dictionary tables.

ALE Application Link Enabling is a mechanism by which SAP systems communicate


with each other and with non-SAP EDI subsystems. Thus it helps integration of
distributed systems. It supports fail-safe delivery which implies that sender system does
not have to worry about message not reaching the source due to unavoidable
situations. ALE can be used for migration and maintenance of master data as well as for
exchanging transactional data.

The messages that are exchanged are in the form of IDocs or Intermediate Documents.
IDocs act like a container or envelope for the application data. An IDOC is created as a
result of execution of an Outbound ALE. In an Inbound ALE an IDOC serves as an input
to create application document. In the SAP system IDocs are stored in the database
tables. They can be used for SAP to SAP and SAP to non-SAP process communication
as long as the participating processes can understand the syntax and semantics of the
data. Complete documentation on IDOC is obtained by using transaction WE60.

Every IDoc has exactly one control record along with a number of data records and
status records. Control record has the details of sender/receiver and other control
information. Data records contain the actual business data to be exchanged while the
status records are attached to IDoc throughout the process as the IDoc moves from one
step to other.

Now, let us understand the ALE Configuration by means of an example scenario below:

The Scenario
Data from custom tables (created in
customer namespace) is to be formatted into
an IDoc and sent from one SAP R/3 system
to another using ALE service. We need to
have two instances of SAP R/3 systems or
we can simulate this on two clients of the
same SAP R/3 system.

Create three tables as shown below.

Creating Custom IDoc type and Message type


All the objects created should be present on both source as well as target system(s).

1. Create segments Transaction WE31

Create a segment ZRZSEG1


Add all fields of table ZCUSTOMERS to it
Save the segment
Release it using the menu path Edit -> Set Release
Similarly create two more segments given below
Seg. ZRZSEG2 to hold all fields of table ZSOHEADERS
Seg. ZRZSEG3 to hold all fields of table ZSOITEMS
2. Create Basic IDoc type Transaction WE30

Create a Basic type ZRZORDER


Add the created segments in the hierarchy shown
Maintain attributes for each of the segments
Save the object and go back
Release the object using the menu path Edit -> Set Release

3. Create/Assign Message type Transactions WE81/WE82

Go to WE81
Create a new Message type ZRZSO_MT
Save the object
Go to WE82 and create new entry
Assign the message type ZRZSO_MT to the basic type ZRZORDER
Also specify the Release Version
Save the object

Thus we have defined the IDoc structure which will hold the data to be transferred.
In the next part of the article we will understand the outbound settings, i.e. the
settings to be done in the source system.
In the previous part we created an IDoc structure which can carry our data from
source system to target system(s). In this part we will understand how to setup the
source system to be able to generate and send an outbound IDoc.

Outbound Settings

Define Logical Systems and Assign


Client to Logical System Transaction
SALE

Go to Define Logical System


(See the figure)
Define a new logical system
to identify the local system and save it
Now, go to Assign Client to Logical System (See the figure)
Add a new entry
Specify the client, previously created logical system and other attributes
Save the entry
Define a new logical system to identify the partner system and save it

Maintain RFC Destinations Transaction SM59

Create a new RFC destination for R/3 type connection


Specify the target host on Technical settings tab
Provide the Logon credentials on the Logon/Security tab
Save the settings
To verify the settings, Click on Test connection or Remote logon

Define Ports Transaction WE21

We need to define a RFC port for the partner system


Click on Transactional RFC node
Create a new port
Provide a description
Specify the name of the target RFC destination
Save the object

Maintain Distribution Model Transaction BD64

Click on Change
Create a new model view
Provide a Short text and Technical name to the model view
Add message type
Specify sender and receiver systems
Also, specify the message type that we created previously
Save the Distribution model

Generate/Create Partner Profile Transactions BD82/WE20

To generate Partner profiles automatically you may use BD82 or go to BD64


and use the menu path Environment -> Generate partner profiles
Otherwise, you may use transaction WE20 to create a partner profile
On selection screen, specify the model view, target system and execute
The result log will be displayed on the next screen
To verify the partner profile go to WE20
Check the partner profile for the target system
Distribute Model View Transaction BD64

Select the Model View


Go to menu path Edit -> Model View -> Distribute
Result log will be displayed on the next screen

Outbound IDoc Generation Program

Create an executable program ZRZ_ORDER_IDOC in SE38. Below, I have


described the program logic:

Fetch the data from the DDic tables ZCUSTOMERS, ZSOHEADERS and
ZSOITEMS as per the selection criteria
Fill the control record structure of type EDIDC
Specify message type, Basic IDoc type, tRFC Port, Partner number and
Partner type of the receiver
Fill the data records
Define structures like the IDoc segments
Fill the structures with fetched data
Pass the segment name and the above structure to the appropriate
fields of EDIDD type structure
Append the EDIDD structure to the EDIDD type internal table
Now, call the function module MASTER_IDOC_DISTRIBUTE and pass the
IDoc control record structure and data record table
Commit work if return code is zero
Function module returns a table of type EDIDC to provide the details about
generated IDoc
Display appropriate log

In the previous parts we learned how to create a custom IDoc and set up the source
system to send an outbound IDoc. In this part we will learn how to configure the
receiving SAP R/3 system to be able to receive and post the inbound IDoc.

Inbound IDoc Posting Function Module


In the receiving system, create a function module Z_IDOC_INPUT_ZRZSO_MT
using SE37. Below, I have described the logic for the same.

Add Include MBDCONWF. This include contains predefined ALE constants.


Loop at EDIDC table

Check if the message type is ZRZORDER. Otherwise raise


WRONG_FUNCTION_CALLED exception
Loop at EDIDD table
Append data from the segments to appropriate internal tables
For example: append data from ZRZSEG1 segment to the internal table
of type ZCUSTOMERS
Update the DDic tables from internal tables
Depending on the result of the update, fill the IDoc status record (type
BDIDOCSTAT) and append it to the corresponding table.
Status 53 => Success
Status 51 => Error

You can download the sample ABAP code for the above function module here.

Inbound Settings

Define Logical Systems Transaction SALE (Please refer to Outbound


Settings discussed in previous part)
Assign Client to Logical System Transaction SALE (Please refer to Outbound
Settings discussed in previous part)
Maintain RFC Destinations Transaction SM59 (Please refer to Outbound
Settings discussed in previous part)
Define Ports Transaction WE21 (Please refer to Outbound Settings
discussed in previous part)
Generate/Create Partner Profile Transactions BD82/WE20 (Please refer to
Outbound Settings discussed in previous part)
Assign Function Module to Logical message Transaction WE57
Create a new entry
Specify name of the Function Module as Z_IDOC_INPUT_ZRZSO_MT
Also, specify Type as F, Basic IDoc type as ZRZORDER, Message type
as ZRZSO_MT and Direction as 2 (Inbound)
Save the entry
Define Input method for Inbound Function Module Transaction BD51
Create a new entry
Provide Function Module name as Z_IDOC_INPUT_ZRZSO_MT
Specify the Input method as 2
Save the entry
Create a Process Code Transaction WE42
Create a new Process Code ZPCRZ
Select Processing with ALE Service
Choose Processing type as Processing by function module
Save the entry
On the next screen, select your function module from the list
Save the changes
Now you will be taken to the next screen
Double-click on Logical message
In the Assignment to logical message, specify the message type
ZRZSO_MT
Save the changes

Send and receive data

On the sender system, execute the IDoc Generation Program. Check the status of
IDoc using transaction WE02.

Check the status of the IDoc in the receiver system using transaction WE02. You
can also check the contents of DDic tables to make sure that the records have been
created in the receiver system.

You might also like