ALE、EDI 和 IDocs 简介及区别: SAP 教程
什么是 EDI?
EDI,即电子数据交换,是指不同应用程序之间结构化业务数据的电子交换。因此,一家公司创建的采购订单可以直接作为销售订单发送到供应商的系统中,无需任何人重新录入。
EDI Archi质地
如上图所示,EDI Archi结构由三层组成——
- 支持 EDI 的应用程序它们支持业务交易的自动处理。
- IDoc 接口: 它被设计为一个开放接口。IDoc 接口由 IDoc 类型和功能模块组成,这些模块构成了应用程序的接口。
- EDI 子系统:这将 IDoc 类型转换为 EDI 消息类型,反之亦然。EDI 架构的此组件不由 SAP.
EDI工艺的优点
- 减少数据输入错误
- 缩短加工周期时间
- 电子形式的数据可用性
- 减少纸质工作
- 降低成本
- 减少库存和改进规划
- 标准通信方式
- 更佳的业务流程
- 竞争优势
ALE是什么?
EDI面向外部贸易伙伴。ALE解决企业内部的镜像问题,即多个系统相互集成。 SAP 各个系统必须保持步调一致。
ALE 支持跨松散耦合的 SAP R/3 系统(不同版本的 SAP R/3)。来自 R/2 和非 R/XNUMX 的连接 SAP 系统也受支持。
ALE 支持-
- R/3 系统不同版本之间的应用程序分布
- 版本升级后继续进行数据交换,无需特殊维护
- 客户特定的扩展。
- 允许连接到非SAP 系统。
- R/3 与 R/2 系统的耦合。
什么是 IDOC?
ALE 和 EDI 都需要数据交换,而且两者都将这项工作交给同一个对象。
国际数据中心 is 只是一个数据容器 用于在任意两个能够理解数据语法和语义的进程之间交换信息。
简单来说,IDoc 就像一个具有特定格式的数据文件,可以在两个知道如何解释该数据的系统之间交换。
IDOC 代表“中间文档“。
当我们执行 出境 ALE 或 EDI 流程中,会创建 IDOC。在 入境 ALE 或 EDI 流程中,IDOC 用作创建申请文档的输入。在 SAP 系统IDOC 存储在数据库中。每个 IDOC 都有一个 唯一编号 (在客户端内)。
IDOC 基于 EDI 标准、ANSI ASC X12 和 编辑部如果数据大小发生冲突,则采用长度较大的那个。IDOC 是 与数据交换方向无关例如,采购模块中的 ORDERS01 既用于入库也用于出库。IDOC 可以在以下位置查看: 文本编辑器 因为数据以字符格式而非二进制格式存储。IDOC 是 独立于发送和接收系统 (SAP到SAP 以及非SAP).
IDoc结构:控制记录、数据记录和状态记录
了解 IDoc 是一个容器,只有在能够读取其内部内容之后才有意义。每个 IDoc,无论消息类型如何,都由三种记录类型构成。
| Record | 表 | 它包含什么 |
|---|---|---|
| 控制记录 | EDIDC | 每个 IDoc 只有一个。包含 IDoc 编号、基本类型、消息类型、方向以及发送方和接收方合作伙伴的详细信息。 |
| 数据记录 | EDID4 | 业务有效载荷。每条记录映射到一个段,段可以嵌套以形成父子层次结构。 |
| 状态记录 | EDIDS | 审计跟踪。每个处理步骤都会附加一个状态码,因此 IDoc 的完整历史记录始终可见。 |
状态数字也能让你一目了然地知道方向。 Code01 到 49 范围内的 s 属于出站 IDoc,其中 03 表示“已传递到端口”,12 表示“已分发”。 Code从 50 开始的 s 属于入站 IDoc,其中 53 表示“申请文档已发布”,51 表示“申请文档未发布”。
ALE 和 IDoc 流程是如何运作的?
上述记录遵循固定的步骤顺序。理解这个顺序才能找到故障接口停止运行的位置。
出库流程
- 申请文件已创建。 用户或批处理作业保存业务文档,例如采购订单。
- 消息控制已触发。 输出确定会找到消息类型(例如 ORDERS)和合作伙伴配置文件,该配置文件指示应生成 IDoc。
- IDoc 已生成。 选择功能模块读取应用程序表,并填充控制记录和数据记录。IDoc 接收状态 30,“准备发送”。
- IDoc被传递到端口。 端口定义决定了传输介质,它可以是文件、远程函数调用或 XML 传输。状态变为 03。
- 子系统或合作伙伴接收到它。 对于 EDI,该子系统将 IDoc 转换为 EDIFACT 或 ANSI X12 消息。成功传输后返回状态 16。
入库流程
- IDoc已到达。 通过端口写入数据库,状态码为 50。
- 已审核合作伙伴资料。 SAP 查找发件人、消息类型和分配的处理代码。
- 进程代码调用函数模块, 它会根据基本类型验证段。
- 申请文件已寄出。 成功则状态码为 53。失败则状态码为 51,IDoc 将保留在数据库中,并附带错误消息。
- 失败的IDoc将被重新处理 主数据更正后,合作伙伴无需重新发送任何内容。
由于 IDoc 在每个阶段都会被存储,因此即使某个步骤失败也不会丢失数据。这种持久性是主要原因。 SAP 尽管IDoc已经问世数十年,但集成仍然依赖于IDoc。
ALE 和 EDI 的区别
这三个概念都定义清楚之后,区别就很容易阐明了。
ALE 用于支持跨多个分布式集成流程 SAP 而 EDI 系统则用于业务伙伴系统之间(可能非同一系统)的业务文档交换。SAP 系统)。
ALE 是 SAPEDI 是一种用于支持分布式环境的技术,而 EDI 是一种用于交换业务文档的过程,这些文档现在都采用了标准格式。
| 基地 | 但 | EDI |
|---|---|---|
| 目的 | 分发业务流程和主数据 | 与贸易伙伴交换商业文件 |
| 典型范围 | 内部,之间 SAP 系统 | 外部,公司之间 |
| 所需子系统 | 没有 | 是的,可以将 IDoc 转换为 EDIFACT 或 ANSI X12 格式。 |
| 涉及的标准 | SAP 专有分销模式 | EDIFACT,ANSI ASC X12 |
| 数据载体 | IDoc | IDoc |
IDoc 是一种数据容器,EDI 和 ALE 流程都使用它来进行数据交换。 正是因为存在共同的容器,所以这两种技术几乎总是被放在一起研究。
通用IDoc事务 Code SAP
ALE 和 EDI 的日常工作是通过少量事务代码完成的。下表按其用途对这些代码进行了分组。
| 交易 | 目的 |
|---|---|
WE02 / WE05 |
显示 IDoc 并按状态、日期、方向或合作伙伴进行筛选。 |
WE19 |
测试工具。复制一个现有的 IDoc,编辑其中的段,然后在调试模式下重新处理它。 |
WE20 |
维护合作伙伴档案,将合作伙伴与消息类型和处理代码关联起来。 |
WE21 |
定义端口,指定 IDoc 如何物理地离开或进入系统。 |
WE30 / WE31 |
创建和扩展 IDoc 基本类型和段。 |
BD87 |
重新处理状态为错误(例如 51 或 56)的 IDoc。 |
SM58 |
检查事务性 RFC 队列,看 IDoc 是否始终无法到达目标系统。 |
一个实用的故障排除习惯是从 WE02 开始读取状态,然后在根本原因修复后使用 BD87 重新处理。


