创建IDOC:
第一步: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
)
管理IDOC:
WE02 显示IDOC,可以根据时间,IDOC类型查找IDOC,查看成功,出错信息。
WE46 IDOC管理(出\入)
WE60 IDOC类型文档(可以查看IDOC结构,和每个字段的描述.
WE19
根据IDOC号进行IDOC处理,可以修改IDOC值进行补发动作,处理分为内向和外向。
消息配置:
WE20
配置伙伴消息进和出IDOC类型
WE21 配置伙伴。
官方介绍:
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.
Transaction code: WE 30
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.
When the data is sent out from the system, the process is called Outbound
Process and the IDoc is known as Outbound IDoc.
When the data is coming in, the process is called Inbound Process and the
IDoc is known as Inbound IDoc.
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 :
sappdc.wipro.com
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,
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.
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
什么是IDOC,以及IDOC的步骤,布布扣,bubuko.com
原文:http://www.cnblogs.com/dekevin/p/3611312.html