创建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
----------------------实例 ------------------------------------------------Outbound Idoc-
---------------------------------------实例
----------------------------------Inbound Idoc
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16794144/viewspace-671175/ ,如需转载,请注明出处,否则将追究法律责任。