SAP IDOC 教程:定义、结构、类型、格式和表格

什么是 IDOC?

IDOC是 只是一个数据容器 用于在任意两个能够理解数据语法和语义的进程之间交换信息。

换句话说,IDOC 就像一个具有指定格式的数据文件,它在两个知道如何解释该数据的系统之间进行交换。

IDOC 代表“ 中级文件”

当我们执行 出境 ALE 或 EDI 流程,创建 IDOC。

SAP 系统,IDOC 存储在数据库中。每个 IDOC 都有一个 唯一编号(在客户端内)。

主要功能

  • IDOC 是 独立于发送和接收系统。(SAP到SAP 以及非SAP)
  • IDOC 基于 EDI 标准ANSI ASC X12和EDIFACT,当数据大小发生冲突时,以长度较大的为准。
  • IDOC 是 与数据交换方向无关 例如 ORDERS01:采购模块:入站和出站
  • 可以在 文本编辑器. 数据以字符格式存储,而不是二进制格式。

IDOC 的结构

IDOC 的结构

I文档结构由3部分组成-

  1. 管理部分(控制记录)- 其中包含 idoc 类型、消息类型、当前状态、发送者、接收者等。这被称为控制记录。
  2. 应用程序数据(数据记录) – 包含数据。这些被称为数据记录/中模板.
  3. 状态信息 (状态记录)- 这些为您提供了有关 idoc 经历的各个阶段的信息。

您可以使用事务查看 I-DOC WE02 or WE05

IDOC 的结构

如上图所示,IDOC 记录包含三个部分:控制、数据和状态。让我们详细了解一下它们 - 控制记录

  • 所有控制记录数据都存储在EDIDC表中。该表的关键是IDOC编号
  • 它包含 IDOC 编号、方向(入站/出站)、发送者、接收者信息、正在使用的通道、正在使用的端口等信息。
  • 方向‘1’表示出站,‘2’表示入站。

数据记录

  • 数据记录包含应用程序数据,例如员工头信息、每周详细信息、客户详细信息等
  • 所有数据记录数据都存储在EDID2至EDID4表中,EDIDD是一个您可以看到其组成部分的结构。
  • 它包含诸如 idoc 编号、idoc 中段的名称和编号、层次结构和数据之类的数据
  • 实际数据作为字符串存储在名为 SDATA 的字段中,该字段长度为 1000 个字符。

状态记录

  • 在每个里程碑或遇到错误时,状态记录都会附加到 I-DOC。
  • 所有状态记录数据都存储在EDIDS表中。
  • 状态 1-42 为出站,状态 50-75 为入站

IDOC 类型

I DOC 类型(基本)定义了要交换的业务文档的结构和格式。 IDOC 是 IDOC 类型的实例 ,就像变量和变量类型的概念一样 编程语言. 您可以使用以下方式定义 IDOC 类型 WE30

什么是段?

段定义了 数据记录 在 I-DOC 中。段是可重复使用的组件。

对于每个部分 SAP 创建

  • 段类型(与版本无关)
  • 段定义(取决于版本)
  • 段文档

最后 3 个字符是段的版本

定义随着版本的不同而不断变化,但段类型保持不变。

交易:WE31

IDOC 中的段

什么是扩展 IDOC 类型?

IDOC 有两种类型:-

  1. 基本版
  2. 延期

扩展 IDOC 类型

SAP 提供许多预定义的基本 IDOC 类型 无法修改。如果你想向这些受限的基本类型添加更多数据,你可以使用扩展类型。大多数情况下,你会 不是 使用扩展。

扩展 IDOC 类型

文件管理

每份 IDOC 均在交易中完整记录 WE60

文件管理

讯息类型

消息代表两个合作伙伴之间传输的特定类型的文档,例如订单、订单回复、发票等

一个 idoc 类型可以与多种消息类型相关联

此外,一个消息类型可以与不同的 idoc 类型相关联。交易 WE81

讯息类型

IDOC 视图

IDOC 类型可用于多种消息类型,这导致 IDOC 包含比特定消息类型所需的更多的字段。
IDOC 视图用于提高生成 IDOC 的性能,以确保只有相关段才填充数据。IDOC 视图仅对出站处理很重要。

IDOC 视图

合作伙伴简介

合作伙伴是指与您开展业务并交换文件的业务伙伴

在我们与之交换 Idocs 的合作伙伴的合作伙伴资料中,我们维护交换数据所需的参数。使用的事务是 WE20.

IDOC 中的合作伙伴资料

港口

端口定义了您的 SAP 系统和要与之传输数据的另一个系统(子系统)之间的端口。端口定义了两个系统之间交换数据的媒介。

有不同类型的端口。最常用的两种是 TRFC 端口 用于ALE和 文件 EDI 使用的端口。

对于 TRFC 端口,我们必须给出使用以下方式创建的逻辑目标的名称 SM59.

使用文件端口时,您可以指定放置 IDOC 文件的目录。其他系统或中间件将从此处获取文件。函数模块可用于为 idoc 生成文件名。 测试 您可以使用“出站文件”来指定常量文件名。选项卡“出站触发器如果我们想在此位置创建 idoc 时触发子系统上的某些处理,则可以使用“”来提供信息。我们必须指定命令文件名和要运行的目录。

IDOC 港口

这太令人困惑了!

让我们通过一个例子来了解创建 IDOC 的过程 -

  • 每当创建采购订单 (PO) 时,我们都希望将 IDOC 发送给供应商。
  • 采购订单以 IDOC 的形式发送给供应商(合作伙伴)。该合作伙伴必须在该系统中启用 EDI。 SAP 应该意识到它可以以电子方式将文档发送给该供应商。
  • 客户发送的作为出站 idoc 的采购订单对于供应商来说将是入站 idoc。 SAP 供应商方面的系统可以处理此问题以在其系统上创建申请文件(销售订单)。
  • 报价单、RFQ、采购订单、订单、发票、交货单等是通过 IDOC 交换的一些常见文件

数据传输过程 SAP 系统被称为 出库流程,而数据进入你的身体 SAP 系统称为 入库流程。作为开发人员或顾问,将参与为您的组织设置这些流程。以下是如何设置它们的步骤-

出站流程

涉及的步骤 –

  1. 创建细分(WE31)
  2. 创建 idoc 类型(WE30)
  3. 创建消息类型(WE81)
  4. 将消息类型与 idoc 类型关联(WE82)
  5. 创建端口(WE21)
  6. 如果您要使用消息控制方法来触发 idoc,则创建用于创建 idoc 的功能模块,并将该功能模块与出站流程代码关联
  7. 否则,创建将创建 idoc 的功能模块或独立程序
  8. 对于您想要与之交换 idoc 的合作伙伴,创建一个合作伙伴配置文件 (WE20),其中包含出站参数中的必要信息。触发 idoc。

入站流程

涉及的步骤-

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