IDOC测试
SAP定义了很多标准的IDOC类型,消息类型和相应的处理函数,如:
说明 | 消息类型 | IDOC类型 | 出站处理代码 | 入站处理代码 |
采购订单创建触发销售单创建 | ORDERS | ORDERS03 | ME10/NEU(EF) | ORDE |
跨公司销售业务下公司间发票触发销售组织的发票录入 | INVOIC | INVOIC01 | SD08/RD04(V3) | INVF |
| | | | |
……
对于这些标准的IDOC,只要做相应配置就可以启用。
下面的测试是创建自定义的消息类型,IDOC类型和相关处理程序。
两个Client,138和118,138作为发送端,118为接收端。
Outbound IDOC :
138端的配置
1 设置IDOC Type.
1.1 WE31,创建gment。
这里先输入YPOHEAD,点击创建,在接下来的屏幕中,录入EBELN, BUKRS, BEDAT等字段及他们对应的data element。
接着创建YPOITEM,输入EBELN, EBELP, MATNR, MENGE, MEINS等字段及他们对应的data element。
1.2 WE30, 创建IDOC Type,定义结点间的相互逻辑关系.
先输入YPOIDOC,然后点击创建,紧跟着点击create new进入。在主界面中,先点击创建按钮,将YPOHEAD添加,设置Mandatory g打勾,min = 1, max = 1,代表我们每个IDOC仅包含一张采购订单。
然后在YPOHEAD下添加YPOITEM,同样的Mandatory g打勾,min = 1, max = 999。
最后如下:
2 创建Message Type.
2.1 WE81,创建Message Type.
先切换到编辑状态,然后点击New Entries,输入YPO即可。
2.2 WE82,关联Message Type和IDOC Type.
3,创建到118的端口.
3.1 SM59,创建到接收端的连接
3.2 WE21,创建Port
WE21创建Port,类型TRANSACTIONAL RFC,名为DEV118-1。
4 创建并分配Logical System。
4.1 BD54,创建逻辑系统
4.2 SCC4,分配逻辑系统给CLIENT。
分配R3P118给客户端118,如下:
分配R3P138给客户端138,截图略
5 WE20,定义Partner profile。
在PARTNER TYPE为logical system下,创建一个patner no为R3P118的partner,type填写LS。下面的Post processing:Permitted agent,填写US(Ur),Agent为你自己的用户名或某basis人员用户名。然后,点击outbound下方的加号,创建一个outbound parameter。Message Type为YPO,receiver port为DEV118-1,output mode选择transfer idoc immed.,Basic Type填写YPOIDOC,保存即可。
出站参数设置如下
在PARTNER TYPE为logical system下,创建一个patner no为I02LS的partner,type填写LS。
下面的Permitted agent,填写US(Ur),Agent为你自己的用户名或某basis人员用户名。
然后,点击outbound下方的加号,创建一个outbound parameter。Message Type为YPO,receiver port为I02PORT,output mode选择transfer idoc immed.,Basic Type填写YPOIDOC,保存即可。
6 编程发送IDOC
REPORT ytestidoc_o.
DATA: ls_pohead TYPE ypohead,
ls_poitem TYPE ypoitem,