ALE 接口

SAP 应用程序链接支持 (ALE) 接口和 ALE 传递 IDoc 接口支持在两个或两个以上 SAP 系统之间,或者 SAP 系统与外部系统之间进行业务流程集成和异步数据通信。 数据是以中间文档 (IDoc) 的形式进行交换的。

适配器通过启用以业务对象格式进行数据交换来支持出站和入站处理。
  • 对于 Inbound 处理,SAP 将 IDoc 中的数据推送到 SAP 适配器中。 适配器将 IDoc 转换为 Business Object 并将它们传递至端点。
  • 对于 Outbound 处理,SAP 适配器将 Business Object 转换为 IDoc,并将它传递至 SAP。

要使用 ALE 接口或 ALE 传递 IDoc 接口进行入站处理,请确保正确配置了 SAP 服务器 (例如,必须设置伙伴概要文件并注册 SAP RCF 程序标识以侦听事件)。 要处理扩展 IDoc 类型,必须已使用扩展 IDoc 所使用的所有段填充 EDISYN 表。 例如,可以使用 SAP 系统上提供的事务 we60 来填充 EDISYN 表。

应用程序系统在 ALE 集成系统中是松散耦合的,数据以异步方式进行交换。

IDoc

媒体文档(IDoc)是以预定(结构化 ASCII)格式跨越系统边界进行数据交换的容器。 IDoc 类型指明了要用于传送数据的 SAP 格式。 IDoc 类型可以传送多个消息类型(对应于不同 业务流程的逻辑消息)。 IDoc 可以用于出站处理和入站处理。 SAP 适配器支持 IDoc 的基本类型和扩展类型。

例如,如果应用程序开发者希望在 SAP 服务器上创建销售订单时收到通知,那么开发者将运行 "适配器连接" 向导 以发现 SAP 服务器上的 ORDERS05 IDoc。 然后向导为 ORDERS05 生成 Business Object 定义。 此向导还将生成其他资源,例如 EIS 导出组件和服务组件体系结构 (SCA) 接口。

IDoc 是针对 Inbound 和 Outbound 事件进行交换的,并且 IDoc 可作为单个文档或作为包进行交换。

对 IDoc 数据的处理取决于您使用的是 ALE 接口还是 ALE 传递 IDoc 接口。
  • ALE 接口

    对于出站处理,适配器使用 IDoc 业务对象来填充对 SAP 服务器发出的支持 RFC 的相应函数调用。

    对于入站处理,可以将 IDoc 作为已解析或未解析的文档从 SAP 服务器 发送
    • 对于已解析文档,适配器会解析该 IDoc 并创建反映 IDoc 内部结构的 Business Object。
    • 对于未解析的 IDoc,适配器会处理该 IDoc 但不会转换该 IDoc 的数据部分。
  • ALE 传递 IDoc 接口

    对于出站处理和入站处理,适配器不会执行 IDoc 转换,此转换在客户机希望执行 IDoc 解析时非常有用。

事务性 RFC 处理

适配器使用事务性 RFC (tRFC) 以确保传递并确保每个 IDoc 仅与 SAP 进行一次交换。 tRFC 组件将所调用的函数存储在具有唯一事务标识 (TID) 的 SAP 系统的数据库中。 在消息中,TID 是一个字段。

消息流必须确定如何存储 SAP 事务标识,以及如何将 SAP 事务标识与发送到适配器的数据关联。 事件成功后,消息流不应该重新提交与此 TID 相关联的事件,以免处理重复事件。
  • 如果消息流未随 Business Object 一起发送 SAP 事务标识,那么在运行事务后,适配器将返回一个 SAP 事务标识。
  • 如果消息流包含 SAP 事务标识,那么它必须先使用该值填充 Business Object 中的 SAP 事务标识属性,然后再运行事务。

SAP 事务标识可用于与为出站事件创建的全局唯一标识进行交叉引用。 您可以创建用于管理集成方案的全局唯一标识。

排队 RFC 处理

适配器使用 qRFC (已排队的事务性 RFC) 来确保 IDoc 按顺序传递到 SAP 服务器 上的队列,或者按顺序从 SAP 服务器接收。 附加线程可能会增加消息流的吞吐量,但您应该考虑对消息顺序的潜在影响。 要维护消息顺序,请确保您的消息流是单线程消息流。