首先确定出站方和入站方,本例中我使用150作为发送方将200作为接收方。
- 发送端系统配置
- 进入tcode-SALE,点击定义逻辑系统,这里我定义D01CLNT150为发送端,
D01CLNT200为接收端


2,将逻辑系统分配给对应的client




3,进入tcode-WE31,创建IDOC开发段(segment)这里可以按照实际需求创建想要传输的结构,为求简单我创建了ZKNA1并选取了几个客户主数据的字段作为示例

4,进入tcode-WE30,创建Idoc Type命名为YKNTYPE


将上一步创建的segment添加到YKNTYPE下,这里可以为YKNTYPE添加多层结构,本文中仅使用单层结构

5,进入tcode-WE81创建Message Type,这里命名为YKNA1_METYPE

6,进入tcode-WE82,创建Message Type 与 Idoc Type的对应关系,值得注意的是
Message Type 与 Idoc Type是多对多的关系

7,进入tcode-SM59,创建物理连接,因为出入站均为sap系统所以这里选择ABAP连接

这里创建一个与目的逻辑系统同名的RFC目标-D01CLNT200,依次设置好目标系统服务器和登陆账号后保存设置


测试一下连接是否可用

8,进入tcode-WE21,创建接收端的端口,选择事务性RFC,创建名为TO_CL200的端口

设置RFC目标-D01CLNT200

9,进入tcode-WE20,创建合作伙伴参数,这一步需要将前面几个步骤的设置整合起来,
选择逻辑系统类型,添入目标逻辑系统及代理人等参数

保存后添加伙伴参数,由于目标系统为接收端所以要添加外向型参数

依次分配目标逻辑系统,Message Type ,目标端口,Idoc Type

10,创建一个发送程序,该程序通过调用函数MASTER_IDOC_DISTRIBUTE来实现发送IDOC
*&---------------------------------------------------------------------*
*& Report YN_IDOC_DEMO01
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YN_IDOC_DEMO01.
DATA: LV_ZKNA1 TYPE ZKNA1, "IDoc数据段
LV_EDIDC TYPE EDIDC, "IDoc的控制记录
GT_EDIDC TYPE TABLE OF EDIDC,
GT_EDIDD TYPE TABLE OF EDIDD WITH HEADER LINE. "IDoc的数据记录
CLEAR LV_EDIDC.
*系统根据下面4行即可与WE20(合作和伴配置文件)设置关联起来
LV_EDIDC-MESTYP = 'YKNA1_METYPE'. "Message Type
LV_EDIDC-IDOCTP = 'YKNTYPE'. "IDOC Type
LV_EDIDC-RCVPRT = 'LS'. "接收方类型为逻辑系统
LV_EDIDC-RCVPRN

本文介绍如何在SAP系统中配置并实现IDoc的发送与接收过程,包括逻辑系统的定义、开发段创建、消息类型的设定、物理连接建立、伙伴参数配置等关键步骤。

804

被折叠的 条评论
为什么被折叠?



