在本主题中,主要讨论 SAP IDoc 标头的详细信息。它有助与理解 SAP PO 和 SAP ERP |SAP S4 HANA直接 的集成和数据传输.
1 – 什么是 IDOC 头信息?
IDOC Header segment 是一个表,可以在其中找到逻辑系统和业务文档信息的信息。在 SAP ERP 视图中,我们可以调用“Control Record”。
在 IDoc Header 中包含业务凭证的状态和信息:
– SAP IDoc 编号:SAP 在创建 IDOC 时生成的唯一编号
– 消息方向:消息方向(入站/出站)
– 消息状态:IDOC 的当前状态是在 SAP 中创建的
– 基本类型:已在 SAP 中创建相关业务凭证
IDOC General messages
IDOC Message路由信息
在下图的合作伙伴组中,您可以看到发送端和接收端系统的详细信息,这些信息需要在合作伙伴参数 tcode : WE20 中设置。
合作伙伴的系统信息可帮助 SAP 在创建 IDOC 之前识别消息的技术信息。
端口帮助 SAP 知道 IDOC 版本将与 SAP 和 RFC(远程函数调用)通信,获取 SAP 系统的详细连接和认证信息。要定义 Port,您可以使用 tcode : WE21。定义 RFC 连接,使用 tcode:SM59
2 – IDOC 头信息
gment Name | Field Name | Remarks |
EDI_DC40 | TABNAM | 表结构的名称 |
MANDT | SAP 客户端 | |
DOCNUM | SAP IDoc 编号 | |
STATUS | IDoc 的状态 | |
DIRECT | 方向 | |
OUTMOD | 输出模式 | |
TEST | 测试标志 | |
IDOCTYP | 基本类型的名称 | |
MESTYP | 消息类型 | |
SNDPOR | 发送方端口(SAP 系统、外部子系统) | |
SNDPRT | 发件人的合作伙伴类型 | |
SNDPRN | 发件人的合作伙伴编号 | |
RCVPOR | 接收器端口 | |
RCVPRT | 接收方的合作伙伴类型 | |
RCVPRN | 接收方的合作伙伴编号 |
3 — 入站 IDOC Header Mapping
SAP PO 中的消息映射
详细 入站 IDOC 标头,我们需要在 EDI_DC40 段中提供信息:
1. 技术表
2. 业务对象类型(基本类型和消息类型)
3. 消息方向(入站/出站)
4. 发件人合作伙伴系统
5. 接收方合作伙伴系统
SAP PO中 接收器通道
在接收方通道中,SAP PO 从partner system或message mapping后的payloa获取 IDOC 标头信息,然后发送到 SAP ERP。
接收方: SAP 系统(SAP ERP、SAP CAR、SAP S4HANA)
IDOC 消息通过 TRFC(远程函数调用)连接进入 SAP 系统,基于 IDOC 的标头信息进行IDOC创建。业务凭证将再次根据我们在“Partner profiles”功能中定义的业务路由进行创建(tcode : we20 )
对于每种消息类型, SAP 都有不同的IDOC处理 和创建业务凭证的动作。
例如:
当我们创建销售订单时,SAP 将立即在 SAP 上创建销售订单 IDOC 和销售订单凭证。但是当我们向 SAP CAR 发送每张销售凭据时,SAP CAR 将首先将消息发送到入站队列中,然后业务用户根据需要再进行接收凭证的创建。
当我们有多个 SAP 目标系统环境时,消息映射有一个有趣的问题:
通常,在 SAP 环境中,我们有三个环境
DEV – 开发环境
QAS – 测试环境
PRD – 生产环境。
因此,IDOC 标头中的发送方和接收方系统/端口可能不同。为避免手动设置消息映射,我们有两种解决方案:
IDOC Header 可由源系统提供
IDOC Header 可以通过“Values Mapping进行调整,然后 SAP PO 顾问可以手动调整 Integration Builder 功能,而不需要产生传输请求。
4 — 出站 IDOC 标头接收
在出站场景中,SAP 中的 IDOC Header配置步骤 (Partner Profile) 也与 Inbound 场景相同。
但是您需要考虑一些注意事项:
– 如果 SAP 发送到另一个 SAP 系统,则合作伙伴类型应为“客户”。
– 如果 SAP 发送到 SAP PO,则合作伙伴类型为“逻辑系统”
– 消息类型将在 Partner Profile 的 “Outbound” 组中定义
结论,了解标头 IDOC 信息的详细信息有助于 SAP PO 顾问正确配置。功能顾问可以独立使用 SAP IDOC 进行入站/出站 do 单元测试