首页 > Linux操作系统 > Linux操作系统 > 什么是IDOC,以及IDOC的步骤


原创 Linux操作系统 作者:SAP骑士 时间:2009-04-07 08:57:44 0 删除 编辑

   第一步:WE31 创建IDOC所包含的字段.
   第二步:WE30 创建IDOC 把Segment分配给IDOC
   第三步:WE81  创建信息类型
   第四步:WE82   把IDOC类型与信息类型对应.
   第五步:WE57 Assign Message & Idoc Type to a Function Module for Data Process
   第六步:SM59 Define a RFC connection for Idoc transfer
   第七步:WE21 Define a Port ( Assign a RFC destination which created in SM59 )
   第八步:WE41/42 Creat Process Code
   第九步:WE20 Define a Partner Profiles( Also creat a Outbound parameters with Port, or Inbound parameters with Process code )
   WE02   显示IDOC,可以根据时间,IDOC类型查找IDOC,查看成功,出错信息。
   WE46   IDOC管理(出\入)
   WE60   IDOC类型文档(可以查看IDOC结构,和每个字段的描述.
   WE19  根据IDOC号进行IDOC处理,可以修改IDOC值进行补发动作,处理分为内向和外向。
    WE20 配置伙伴消息进和出IDOC类型
    WE21 配置伙伴。



What is a IDOC?

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.

An IDoc Type is SAP's format for data being moved between applications. Essentially, SAP has defined what a sales order, financial statement, invoice, etc will look like electronically. This includes how fields are grouped together (segments), the order and hierarchy of these groupings, and the format of each individual field.

If you're familiar with EDI at all, then an IDoc will look very familiar to you. Nearly everything you're used to is there: from segment name to allowable codes to min/max occurs.

It is important to note that an IDoc Type is really just a structure defined on the system and given a name (i.e., ORDERS04). An actual IDoc, however, consists of data, which fits within the defined structure of the IDoc Type. This IDoc is identified by a number rather than by a type.

Creation of IDOCs

Transaction code: WE 30

Steps of Defining Segment

Creating Segment : Tcode - WE31
Creating Message Type : Tcode - we81
Assigning Message type to Idoc type: Tcode - we82


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:
 Creating the logical system

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 -


Client                   : Sending System
Logical System    : LOG1
and also
Client   : Receiving System
Logical System    : LOG2

Save this Data.

Step 2) For RFC Creation:
 Goto Tcode SM59 and  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                      : 210
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  ZIDOC1                             .
DATA: Begin of imara occurs 0,
matnr like mara-matnr,
mtart like mara-mtart,
end of imara.
DATA: wamas_con LIKE edidc,
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.
master_idoc_control = wamas_con
communication_idoc_control = icom_con
master_idoc_data = imas_data

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
1) Goto Tcode - we57:
Assign function module to IDoc type
Module: Function module
Basic type:  
Message type:
Direction: 2 (inbound)
2) Creating Inbound process code - we42
3) Verifying Idoc List Tcode - we05
4) 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

来自 “ ITPUB博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

上一篇: DXWB 数据迁移
请登录后发表评论 登录


  • 博文量
  • 访问量