Wednesday, August 1, 2007

IDOC Technical Document

Intermediate Document


An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data. IDoc is not a process.

· IDocs are stored in the database.
· In the SAP system, IDocs are stored in database tables.
· IDocs are independent of the sending and receiving systems.
· IDocs are independent of the direction of data exchange.



Creation of IDOCs

Transaction code: WE 30
Defining Segment:
Creating Segment : Tcode – WE31
Creating Message Type : Tcode – we81
Assigning Message type to Idoc type: Tcode – we82

Process
The two processes for IDoc are Outbound Process and Inbound Process.

Outbound Process
When the data is sent out from the system, the process is called Outbound Process and the IDoc is known as Outbound IDoc.

Inbound Process
When the data is coming in, the process is called Inbound Process and the IDoc is known as Inbound IDoc.

Outbound Process (Sending System) Steps :
1) Goto Tcode SALE



Click on Sending & Receiving Systems à Select Logical Systems
Here Define the Logical Systems à Click on Execute Button
Go for New Entries
1) System Name : LOG1
Description: Sending System

2) System Name : LOG2
Description: Receiving System

Press Enter & Save it will ask for Request if you want new request create new request or press continue for transferring the objects.

Assigning Client to the Logical System:

Select Assign Client to Logical Systems -> Execute


Ø 100 -> Double click on this and give the following information
Client : Sending System
City : Chennai
Logical System : LOG1
Currency :
Client role :

Ø 250 -> Double click on this and give the following information
Client : Receiving System
City :
Logical System : LOG2

Save this Data.


Step 2) For RFC Creation:

· Goto Tcode SM59 -> Select R/3 Connects
Click on create Button

RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles

Give the information for required fields:

RFC Destination : LOG2
Connection type : 3
Target Host :
System No : 00
Client :
User : Login user name
Password :



Save this & Test it and Remote Login



Step 3) Goto Tcode BD64: – Click on the change button

Click on the create model view
Short Text: model view
Technical Name: LMOD

Save this & press ok
Select just created model view
Name: “LMOD”
Goto add message type

Model Name : LMOD
Sender : LOG1
Receiver : LOG2
Message type: ZAZHARMESS


Save and press Enter.

4) Goto Tcode BD82:
Give Model View : LMOD
Partner system : LOG2
Execute this by pressing F8
It will gives you sending system port No: A00000000089 (Like)


5) Goto Tcode BD64:
Select the model view
Goto à Edit à model view à Distribute
Press ok & Press Enter.


Run your Zprogram

REPORT ZAZHARIDOC1 .

DATA: Begin of imara occurs 0,
matnr like mara-matnr,
mtart like mara-mtart,
end of imara.
DATA: wamas_con LIKE edidc,
imas_data LIKE edidd OCCURS 0 WITH HEADER LINE,
icom_con LIKE edidc OCCURS 0 WITH HEADER LINE.

PARAMETERS: e_matnr LIKE mara-matnr,
e_msgtyp LIKE edidc-mestyp,
e_rcvprn LIKE edidc-rcvprn.

* retrive app. data from DB

SELECT matnr mtart FROM mara INTO TABLE imara WHERE
matnr = e_matnr.

*Master idoc control record

wamas_con-rcvprt = 'LS'.
wamas_con-rcvprn = e_rcvprn.
wamas_con-idoctp = 'ZAZHARIDOC'.
wamas_con-mestyp = e_msgtyp.

* master idoc data records

LOOP AT imara.
imas_data-segnam = 'ZAZHARSEG'.
move imara to imas_data-sdata .
APPEND imas_data.
ENDLOOP.

CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
master_idoc_control = wamas_con
TABLES
communication_idoc_control = icom_con
master_idoc_data = imas_data
COMMIT WORK.

6) Verifying Transfer of IDOCs Tcode – we05
ALE/IDOC Status Codes (outbound):

01 IDoc Added
30 IDoc ready for dispatch
29 Error in ALE service Layer
12 Dispatch ok
03 Data passed to port ok.

Inbound Process (Receiving System) Steps:

Do the same step as you did in sending system

ü Creating IDoc
ü Defining the Segment
ü Creating Message Type
ü Assigning the Message Type
ü Defining the Logical System
ü Assigning the Logical System
ü Creating the Distribution Model


Goto Tcode – we57:

Assign function module to IDoc type

Module: Function module
Basic type:
Message type:
Direction: 2 (inbound)




Creating Inbound process code – we42







Verifying Idoc List Tcode – we05

ALE/IDOC Status Codes (Inbound):

50 IDoc Added
51 Application Document not posted
64 IDoc ready to be transferred to application
62 IDoc passed to application
53 Application Document posted