SAP ABAP IDOC教程:分步指南
⚡ 智能摘要
SAP IDoc(中间文档)是一种标准化的数据容器,用于在系统间传输业务信息。 SAP 和非SAP 本教程将介绍通过 ALE 和 EDI 系统进行数据传输的方法。教程将解释其定义、结构、类型、表、合作伙伴配置文件、端口以及端到端的出站和入站流程。

什么是IDoc?
IDoc 是 只是一个数据容器 用于在任意两个能够理解数据语法和语义的进程之间交换信息。
换句话说,IDoc 就像一个具有特定格式的数据文件,可以在两个知道如何解释该数据的系统之间交换。
IDoc 代表“中间文档“。
当你执行一个 出境 在 ALE 或 EDI 流程中,会创建一个 IDoc。 SAP 系统IDoc 存储在数据库中,每个 IDoc 都有一个 唯一编号 在客户内部。
主要功能
- IDoc 是 独立于发送和接收系统 (SAP到SAP 以及非SAP).
- IDoc 基于 EDI IDoc 遵循 ANSI ASC X12 和 EDIFACT 标准。如果数据大小存在冲突,则采用长度较大的数据。
- IDoc 是 与数据交换方向无关例如,采购模块中的 ORDERS01 同时支持入库和出库。
- 可以在以下位置查看 IDoc: 文本编辑器 因为数据是以字符格式而不是二进制格式存储的。
IDoc 的结构
IDoc结构由三部分组成:
- 管理部分(控制记录) — 包含 IDoc 类型、消息类型、当前状态、发送方、接收方以及类似的元数据。这被称为控制记录。
- 应用程序数据(数据记录) — 包含业务数据。这些数据被称为数据记录或 中模板.
- 状态信息(状态记录) — 提供有关 IDoc 所经历的各个阶段的信息。
您可以使用事务查看 IDoc。 WE02 or WE05.
如上图所示,IDoc 记录包含三个部分:控制、数据和状态。下面将详细介绍每个部分。
控制记录
- 所有控制记录数据都存储在 EDIDC 表格。此表格的键是 IDoc 编号。
- 它包含诸如 IDoc 编号、方向(入站/出站)、发件人、收件人信息、正在使用的通道和正在使用的端口等信息。
- 方向“1”表示出站,“2”表示进站。
数据记录
- 数据记录包含应用程序数据,例如员工抬头信息、每周详细信息、客户详细信息等。
- 所有数据记录都存储在表中。 EDID2 至 EDID4和 EDIDD 这是一个可以看到其组成部分的结构。
- 它包含诸如 IDoc 编号、IDoc 中段的名称和编号、层次结构以及数据本身等数据。
- 实际有效载荷以字符串形式存储在名为“有效载荷”的字段中。 数据这是一个 1000 个字符的字段。
状态记录
- 状态记录会在每个里程碑节点或遇到错误时附加到 IDoc。
- 所有状态记录数据都存储在 EDIDS 表。
- 状态 1-42 为出站状态,状态 50-75 为入站状态。
IDoc 类型
IDoc 类型(基本)定义了要交换的业务文档的结构和格式。 IDoc 是 IDoc 类型的一个实例。就像变量和变量类型的概念一样 编程语言可以使用事务定义 IDoc 类型。 WE30.
什么是段?
段定义了 数据记录 在 IDoc 中,段是可重用的组件。
对于每个片段, SAP 创建以下组件。
- 段类型(与版本无关)
- 段定义(取决于版本)
- 段文档
最后三个字符代表段的版本。定义会随着版本的变化而变化,但段类型保持不变。事务: WE31.
什么是扩展IDoc类型?
IDoc 有两种类型:
- 基础版
- 延期
SAP 提供许多预定义的基本 IDoc 类型, 无法修改如果需要向受限的基本类型添加更多数据,可以使用扩展类型。大多数情况下,您会 不会 需要扩展功能。
文件记录
每个 IDoc 都在交易中得到完整记录。 WE60.
讯息类型
消息代表一种特定类型的文档,即 transmit两个合作伙伴之间的通信,例如订单、订单回复和发票。
一个 IDoc 类型可以关联多个消息类型。反之亦然,一个消息类型也可以关联不同的 IDoc 类型。事务: WE81.
IDoc 视图
一个 IDoc 类型可以用于多个消息类型,这会导致 IDoc 包含的字段比特定消息类型所需的字段更多。
IDoc 视图通过确保仅将数据填充到相关段中,从而提高 IDoc 生成性能。IDoc 视图仅对出站处理至关重要。
合作伙伴简介
合作伙伴是指与您进行业务往来和交换文件的商业伙伴。
在与其交换 IDoc 的合作伙伴的合作伙伴配置文件中,您可以维护交换数据所需的参数。所使用的事务是 WE20.
港口
端口定义了您与设备之间连接的技术特性。 SAP 系统和您要与之传输数据的另一个系统(子系统)。端口定义了两个系统之间交换数据的介质。
端口有多种类型。最常用的两种是: TRFC 端口 用于 ALE 和 文件端口 用于电子数据交换(EDI)。
对于 TRFC 端口,您必须提供使用创建的逻辑目标的名称。 SM59使用文件端口时,您可以指定 IDoc 文件应存放的目录。其他系统或中间件随后会从该目录获取文件。可以使用函数模块为 IDoc 生成文件名。 测试您可以使用“出站文件”来指定一个固定的文件名。“选项卡”出站触发器可以使用此命令提供信息,以便在 IDoc 在此位置创建时触发子系统上的某些处理。请指定命令文件名和要运行的目录。
通用IDoc事务 Codes
| 交易 Code | 目的 |
|---|---|
| WE02 / WE05 | 显示和监控 IDoc |
| WE30 | 创建或更改 IDoc 类型 |
| WE31 | 创建或更改细分 |
| WE20 | 维护合作伙伴资料 |
| WE21 | 维护端口 |
| WE42 | 定义入站流程 Code |
| WE57 | 将入站函数模块分配给消息类型 |
| WE60 | IDoc 文档 |
| WE81 / WE82 | 创建消息类型/关联到 IDoc 类型 |
| BD51 | 定义功能模块特性 |
| SM59 | 维护 RFC 目标 |
IDoc 处理:一个实际案例
以通过 IDoc 向供应商发送采购订单为例。
- 每当创建采购订单 (PO) 时,系统都需要向供应商发送 IDoc。
- 采购订单以IDoc的形式发送给供应商(合作伙伴)。该合作伙伴必须在系统中启用EDI功能。 SAP 它意识到可以通过电子方式将文件发送给该供应商。
- 客户发送的出站IDoc所代表的采购订单,对供应商而言就变成了入站IDoc。 SAP 供应商端的系统可以处理此信息,并在其系统中创建申请文档(销售订单)。
- 报价单、询价单、采购订单、销售订单、发票和送货单是 IDoc 上最常交换的一些文档。
数据传输过程 SAP 系统被称为 出库流程当数据流入您的设备时 SAP 系统被称为 入库流程作为负责为贵组织设置这些流程的开发人员或顾问,以下详细介绍了配置每个流程的步骤。
出站流程
涉及的步骤:
- 创建段(WE31)。
- 创建 IDoc 类型 (WE30)。
- 创建消息类型(WE81)。
- 将消息类型与 IDoc 类型关联 (WE82)。
- 创建端口(WE21)。
- 如果使用消息控制方法触发 IDoc,请创建构建 IDoc 的函数模块,并将其链接到出站流程。 Code.
- 否则,创建一个函数模块或独立程序,直接创建 IDoc。
- 创建合作伙伴配置文件 (WE20),并在出站参数中填写与你交换 IDoc 的合作伙伴的必要信息,然后触发 IDoc。
入站流程
涉及的步骤:
- 创建基本 IDoc 类型(事务 WE30)。
- 创建消息类型(事务 WE81)。
- 将消息类型与基本 IDoc 类型关联(事务 WE82)。
- 创建用于处理 IDoc 的功能模块。
- 定义功能模块特性(BD51)。
- 将入站功能模块分配给消息类型(WE57)。
- 定义流程 Code (交易 WE42)。
- 创建合作伙伴资料(交易 WE20)。










