SAP ABAP IDOC教程:分步指南

⚡ 智能摘要

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

  • 📦 核心定义: IDoc 是一个与系统无关的数据容器,它基于 ANSI ASC X12 和 EDIFACT 等 EDI 标准。
  • 🧱 三部分结构: 每个 IDoc 由控制记录、数据记录和状态记录组成,分别存储在专用的数据库表中。
  • ???? 类型层级: 基本 IDoc 类型随附 SAP 且无法修改;扩展类型会在需要时添加自定义字段。
  • 🔁 流程图: 出站创建并发送 IDoc;入站通过链接的功能模块接收并发布 IDoc。
  • 🤖 人工智能赋能: 人工智能驱动的监控工具可以及早检测 IDoc 故障并自动映射字段 SAP 和非SAP 伙伴。

SAP IDOC教程

什么是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结构由三部分组成:

  1. 管理部分(控制记录) — 包含 IDoc 类型、消息类型、当前状态、发送方、接收方以及类似的元数据。这被称为控制记录。
  2. 应用程序数据(数据记录) — 包含业务数据。这些数据被称为数据记录或 中模板.
  3. 状态信息(状态记录) — 提供有关 IDoc 所经历的各个阶段的信息。

您可以使用事务查看 IDoc。 WE02 or WE05.

显示控制、数据和状态的IDoc记录

如上图所示,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类型?

IDoc 有两种类型:

  1. 基础版
  2. 延期

基本和扩展 IDoc 类型

SAP 提供许多预定义的基本 IDoc 类型, 无法修改如果需要向受限的基本类型添加更多数据,可以使用扩展类型。大多数情况下,您会 不会 需要扩展功能。

扩展 IDoc 类型图示

文件记录

每个 IDoc 都在交易中得到完整记录。 WE60.

WE60 中的 IDoc 文档

讯息类型

消息代表一种特定类型的文档,即 transmit两个合作伙伴之间的通信,例如订单、订单回复和发票。

一个 IDoc 类型可以关联多个消息类型。反之亦然,一个消息类型也可以关联不同的 IDoc 类型。事务: WE81.

IDoc 中的消息类型

IDoc 视图

一个 IDoc 类型可以用于多个消息类型,这会导致 IDoc 包含的字段比特定消息类型所需的字段更多。

IDoc 视图通过确保仅将数据填充到相关段中,从而提高 IDoc 生成性能。IDoc 视图仅对出站处理至关重要。

IDoc 视图

合作伙伴简介

合作伙伴是指与您进行业务往来和交换文件的商业伙伴。

在与其交换 IDoc 的合作伙伴的合作伙伴配置文件中,您可以维护交换数据所需的参数。所使用的事务是 WE20.

IDoc中的合作伙伴资料

港口

端口定义了您与设备之间连接的技术特性。 SAP 系统和您要与之传输数据的另一个系统(子系统)。端口定义了两个系统之间交换数据的介质。

端口有多种类型。最常用的两种是: TRFC 端口 用于 ALE 和 文件端口 用于电子数据交换(EDI)。

对于 TRFC 端口,您必须提供使用创建的逻辑目标的名称。 SM59使用文件端口时,您可以指定 IDoc 文件应存放的目录。其他系统或中间件随后会从该目录获取文件。可以使用函数模块为 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 系统被称为 入库流程作为负责为贵组织设置这些流程的开发人员或顾问,以下详细介绍了配置每个流程的步骤。

出站流程

涉及的步骤:

  1. 创建段(WE31)。
  2. 创建 IDoc 类型 (WE30)。
  3. 创建消息类型(WE81)。
  4. 将消息类型与 IDoc 类型关联 (WE82)。
  5. 创建端口(WE21)。
  6. 如果使用消息控制方法触发 IDoc,请创建构建 IDoc 的函数模块,并将其链接到出站流程。 Code.
  7. 否则,创建一个函数模块或独立程序,直接创建 IDoc。
  8. 创建合作伙伴配置文件 (WE20),并在出站参数中填写与你交换 IDoc 的合作伙伴的必要信息,然后触发 IDoc。

入站流程

涉及的步骤:

  1. 创建基本 IDoc 类型(事务 WE30)。
  2. 创建消息类型(事务 WE81)。
  3. 将消息类型与基本 IDoc 类型关联(事务 WE82)。
  4. 创建用于处理 IDoc 的功能模块。
  5. 定义功能模块特性(BD51)。
  6. 将入站功能模块分配给消息类型(WE57)。
  7. 定义流程 Code (交易 WE42)。
  8. 创建合作伙伴资料(交易 WE20)。

常见问题

IDoc 是异步的,用于通过 ALE 或 EDI 进行系统间消息传递。BAPI 是同步的,用于实时访问。 SAP 业务对象。IDoc 已排队;BAPI 立即返回。

IDoc 类型定义了段和字段的技术结构。消息类型定义了业务含义,例如订单或发票。一个 IDoc 类型可以服务于多个消息类型,反之亦然。

使用事务代码 WE02 或 WE05 显示 IDoc 并检查状态记录。出站 IDoc 使用状态代码 1-42;入站 IDoc 使用状态代码 50-75。事务代码 BD87 用于重新处理出错的 IDoc。

每个数据记录中用于存储有效负载的 SDATA 字段长度为 1000 个字符。一个 IDoc 可以包含多个数据记录,因此总有效负载会随着段数的增加而增加。

是的。IDoc 与系统无关,并遵循 EDI 标准,例如 ANSI ASC X12 和 EDIFACT。非-SAP 系统可以通过文件端口或中间件生成或使用 IDoc 文件,例如 SAP PI/PO。

控制记录位于 EDIDC 表中,数据记录位于 EDID2 至 EDID4 表中,状态记录位于 EDIDS 表中。IDoc 编号是连接给定 IDoc 的所有三个表的关键。

AI 驱动的监控工具能够对重复出现的 IDoc 错误进行聚类,根据历史模式预测故障,并针对状态 51 或 56 问题推荐修复方案,从而显著减少人工重新处理时间。

是的。人工智能驱动的地图ping 引擎会比较不同细分市场的定义。 SAP 以及合作伙伴系统,提出领域地图ping并从过去的纠正措施中吸取教训——大幅减少 ALE 和 EDI 项目中的手动配置。

总结一下这篇文章: