使用应用程序接口框架处理与监控入站 IDoc

学习目标

  • 使用 SAP 应用程序接口框架在各种场景中处理和监控入站 IDoc。

入站 IDoc 处理

在本单元中,我们考察 SAP 应用程序接口框架处理 IDoc 的各种场景。每个场景应用 SAP 应用程序接口框架能力的不同方面,以适应各种处理与监控需求。本概览列出了本单元将演示的场景。

场景 1:监控现有 IDoc

SAP 应用程序接口框架可以监控并处理现有 IDoc 中的错误,并应用批量更改功能来纠正常见的错误。

场景 2:处理 IDoc 函数模块

通过在操作中调用 IDoc 函数模块,可以使用 SAP 应用程序接口框架处理 IDoc。

场景 3:处理 BAPI/函数模块

通过在操作中调用 BAPI 或函数模块,也可以使用 SAP 应用程序接口框架处理 IDoc。

场景 4/5:处理 ALE 并写入索引表

使用 ALE 处理 IDoc,并使用启用器(enabler)写入索引表,以获得增强的处理能力。

注意

SAP 应用程序接口框架提供了用于监控系统中现有 IDoc 的工具,包括错误检测以及针对常见反复出现的错误使用批量更改功能。

IDoc 段是 DDIC 中的单个结构,我们有一些特殊事务可以告知系统这些结构如何构成特定的 IDoc 消息类型。遗憾的是,这意味着系统中现有的 IDoc 结构不能用于 SAP 应用程序接口框架接口。一个接口需要一个用于 RAW 结构的根结构和一个用于 SAP 结构的结构。SAP 应用程序接口框架可帮助您从 IDoc 类型创建这些结构。

在 SAP 应用程序接口框架中处理 IDoc 的前提条件

  • 每个 SAP 应用程序接口框架接口都需要相应的源和目标 DDIC 结构。

  • IDoc 基本类型不能直接用作 SAP 应用程序接口框架 IDoc 接口的源/目标结构。

  • 创建一个与接口中所用 IDoc 基本类型完全相同的 DDIC 结构。

IDoc 生成报表

一个 IDoc 基本类型可能很庞大。创建一个与该基本类型对应的 DDIC 结构可能很困难,尤其是当必须为 IDoc 考虑扩展时。SAP 应用程序接口框架生成报表会为该基本类型创建或更新所需的结构。

您可以通过事务代码 /AIF/IDOC_GEN 打开生成报表。该报表可以:

  1. 为基本类型创建所需的 DDIC 结构(带或不带扩展)。

  2. 更新基本类型现有的 DDIC 结构(带或不带扩展)。

  3. 为特定 IDoc 场景生成接口;为生成的接口维护消息类型和基本类型。

通过理解这些要素,您可以有效地使用 SAP 应用程序接口框架功能进行 IDoc 处理与监控,确保准确的数据处理和简化的流程。在下一课中,让我们更详细地探讨每个场景。

场景 1:监控现有 IDoc

此场景纯粹用于监控目的,IDoc 的处理由标准 ALE 功能负责。无需对 IDoc 接口做任何改动。可以在 SAP 应用程序接口框架中监控 IDoc,只需要一个专门用于被监控 IDoc 的基本接口。在 IDoc 场景 1 中,可以在监控与错误处理事务中监控现有 IDoc,而 SAP 应用程序接口框架不会影响它们的处理。此场景仅应用所提供的监控能力。由于 SAP 应用程序接口框架不参与处理,因此不会创建索引表,SAP 应用程序接口框架会从 IDoc 控制记录中获取 IDoc 数据以显示在“数据消息”视图中。

要实现 SAP 应用程序接口框架 IDoc 场景 1,必须遵循以下步骤:

  1. 从基本类型创建 DDIC 结构。

  2. 定义 SAP 应用程序接口框架接口。

  3. 将消息类型和基本类型分配到该接口。

  4. (可选)为警报和接口监控维护接收者。

场景 1 的所有必要步骤(步骤 1–3)都可以使用 IDoc 生成报表完成,无需人工干预。配置场景 1 的 IDoc 接口时,按如下方式指定接口引擎:

  • 应用程序引擎:IDoc

  • 持久化引擎:IDoc

  • 选择引擎:IDoc 控制记录

  • 日志记录引擎:IDoc 状态记录

如果由生成报表生成接口,则引擎会相应地预设。

视频:本节含 SAP 官方视频(视频 ID 1_3xslflqx),需在 learning.sap.com 在线观看。

场景 2:处理 IDoc 函数模块

在场景 2 中,来自 IDoc 的数据会在 SAP 应用程序接口框架中经过处理,然后在操作中执行标准 IDoc 处理函数。此场景支持使用检查、值映射、警报功能和接口监控器。

标准 ALE 功能从 SAP 应用程序接口框架操作内部触发。监控与错误处理通过 SAP 应用程序接口框架监控进行。

通过 SAP 应用程序接口框架处理函数处理 IDoc 所需的步骤如下:

  1. 从基本类型创建 DDIC 结构。

  2. 定义 SAP 应用程序接口框架接口。

  3. 将消息类型和基本类型分配到该接口。

  4. 维护 IDoc 定制。

  5. 创建检查、值映射等。

  6. 定义并分配一个调用标准 ALE 功能的操作。

  7. (可选)为警报和接口监控维护接收者。

场景 2 的步骤 1–3 可以通过 IDOC 生成报表执行。所有其他步骤必须在 SAP 应用程序接口框架或标准定制中完成。

  1. SAP 应用程序接口框架函数模块需要分配到 IDoc 中使用的消息类型和基本类型(事务 WE57)。

  2. 需要一个入站流程代码。SAP 应用程序接口框架处理函数模块需要分配到该流程代码(事务 WE42)。

  3. 合作伙伴参数文件中的流程代码被更改为为 SAP 应用程序接口框架处理函数模块维护的流程代码(事务 WE20)。

要使用 IDoc 场景 2 和 3,您需要更改标准 IDoc 定制。如果使用生成报表创建接口,则该接口的引擎已经相应地设置好了。

步骤 4:维护 IDoc 定制

对于场景 2 的 IDoc 接口,您必须按如下方式指定接口引擎:

  • 应用程序引擎:IDoc

  • 持久化引擎:IDoc

  • 选择引擎:SAP 应用程序接口框架索引表

  • 日志记录引擎:SAP 应用程序接口框架应用程序日志

视频:本节含 SAP 官方视频(视频 ID 1_bq2k6rl8),需在 learning.sap.com 在线观看。

视频:本节含 SAP 官方视频(视频 ID 1_dt1mdlta),需在 learning.sap.com 在线观看。

视频:本节含 SAP 官方视频(视频 ID 1_qt74ifpa),需在 learning.sap.com 在线观看。

场景 3:处理 BAPI/函数模块

要使用 SAP 应用程序接口框架 IDoc 场景 3,需要以下步骤:

  1. 从基本类型创建 DDIC 结构。

  2. 定义 SAP 应用程序接口框架接口。添加 SAP 结构。

  3. 将消息类型和基本类型分配到该接口。

  4. (可选)创建检查、值映射等。

  5. 定义并分配一个操作以调用 BAPI 或客户函数。

  6. (可选)为警报和接口监控器维护接收者。

场景 3 的步骤 1–3 可以通过 IDOC 生成报表执行。所有其他步骤在 SAP 应用程序接口框架定制中完成。接口中的 SAP 结构必须维护。

对于场景 3 的 IDoc 接口,您必须按如下方式指定接口引擎:

  • 应用程序引擎:IDoc

  • 持久化引擎:IDoc

  • 选择引擎:SAP 应用程序接口框架索引表

  • 日志记录引擎:SAP 应用程序接口框架应用程序日志

如果使用生成报表创建接口,则该接口的引擎已经相应地设置好了。

此场景与场景 2 几乎相同。不同之处在于,SAP 应用程序接口框架操作中调用的不是 ALE 功能,而是 BAPI 或其他函数。监控通过 SAP 应用程序接口框架监控与错误处理完成。

在场景 3 中,来自 IDoc 的数据先使用应用程序接口框架处理,然后才从操作内部启动 IDoc 处理。处理可以在函数模块、BAPI 等中完成。在此场景中,您可以使用检查、值映射和警报。此外,还可以使用接口监控器。

场景 2 与场景 3 的主要区别在于,场景 3 需要结构映射。由于调用的是 BAPI 或其他函数,源结构与目标结构不同,因此需要结构映射。

在场景 2 中,调用的是标准 ALE 功能,因此源结构和目标结构相同,在最简单的情况下可以使用“移动对应”功能进行映射。

视频:本节含 SAP 官方视频(视频 ID 1_lzt5k6c1),需在 learning.sap.com 在线观看。

视频:本节含 SAP 官方视频(视频 ID 1_dokq10g7),需在 learning.sap.com 在线观看。

视频:本节含 SAP 官方视频(视频 ID 1_697u4sqe),需在 learning.sap.com 在线观看。

视频:本节含 SAP 官方视频(视频 ID 1_guepijs0),需在 learning.sap.com 在线观看。

视频:本节含 SAP 官方视频(视频 ID 1_8lscnov7),需在 learning.sap.com 在线观看。

视频:本节含 SAP 官方视频(视频 ID 1_86hvjo9i),需在 learning.sap.com 在线观看。

场景 4:处理 ALE 并写入索引表

场景 4 与场景 1 一样,是一个纯粹的监控场景。与 IDoc 场景 1 相比,您可以使用 SAP 应用程序接口框架的一些高级功能。您可以使用警报、接口特定的索引表和接口特定的选择屏幕。如果指定了接收者,IDoc 也可以显示在接口监控器中。

IDoc 的处理由标准 ALE 功能完成。与场景 1 相比,会调用 SAP 应用程序接口框架启用器来写入索引表和统计信息并触发警报。监控通过 SAP 应用程序接口框架监控与错误处理完成。

IDoc 启用器根据 SAP 应用程序接口框架定制中的设置确定接口。如果找到对应的接口,就可以写入索引表条目并创建警报。如果未找到对应的接口,ALE 处理照常继续。没有分配 SAP 应用程序接口框架接口的 IDoc 会不受干扰地继续处理。

SAP 应用程序接口框架启用器将 IDoc 状态更改记录到标准单索引表、您的单索引表或多索引表中,从而可以使用所有索引表功能,例如接收者分配。

为 Doc 隐式调用 SAP 应用程序接口框架启用器:如果隐式启用器调用可用,那么当 IDoc 的状态发生变化时,IDoc 标准处理会调用启用器。

安装启用器后会发生什么?如果处理的 IDoc 有对应的接口,则相关信息会写入表中。更新 SAP 应用程序接口框架表之后,正常的 IDoc 处理继续。如果处理的 IDoc 没有对应的 SAP 应用程序接口框架接口,则不会向 SAP 应用程序接口框架表写入任何信息。处理继续,但不更新 SAP 应用程序接口框架表。

注意

注意:前提是有一个以生成的 IDoc 结构作为 RAW 结构和 SAP 结构的 SAP 应用程序接口框架接口。

要使用 SAP 应用程序接口框架 IDoc 场景 4,需要以下步骤:

  1. 从基本类型创建 DDIC 结构。

  2. 定义 SAP 应用程序接口框架接口。

  3. 将消息类型和基本类型分配到该接口。

  4. (可选)创建索引表。

  5. (可选)为警报和接口监控器维护接收者。

场景 4 的步骤 1–3 可以通过 IDOC 生成报表执行。所有其他步骤必须在 SAP 应用程序接口框架定制中完成。

对于场景 4 的 IDoc 接口,您必须按如下方式指定接口引擎:

  • 应用程序引擎:IDoc

  • 持久化引擎:IDoc

  • 选择引擎:SAP 应用程序接口框架索引表

  • 日志记录引擎:SAP 应用程序接口框架应用程序日志引擎

如果使用生成报表创建接口,则该接口的引擎已经相应地设置好了。

对于场景 5 的 IDoc 接口,您必须按如下方式指定接口引擎:

  • 应用程序引擎:IDoc

  • 持久化引擎:IDoc

  • 选择引擎:SAP 应用程序接口框架索引表

  • 日志记录引擎::iDoc 状态记录

将 IDoc 导入系统并处理到索引表,有助于您查找针对不同接收者过账时出错的 IDoc,使监控比在 IDoc 事务中更容易。

如果为某个 IDoc 设置了启用器场景,则只会显示在启用器场景设置之后创建的 IDoc。如果现有 IDoc 应显示在接口中,您可以通过事务 /AIF/IDOC_IMPORT 导入它们。

您可以导入:

  • 按 IDoc 编号导入特定 IDoc

  • 按消息类型或基本类型导入 IDoc

  • 导入特定时间范围内的 Doc

视频:本节含 SAP 官方视频(视频 ID 1_ry57yvix),需在 learning.sap.com 在线观看。

视频:本节含 SAP 官方视频(视频 ID 1_joembvzz),需在 learning.sap.com 在线观看。

本课其余配图

Unit1_S5_GeneratedReport

Unit1_S7_Scenario1map

Unit1_s11_Scenario2

Unit1_S14_scenario3

Unit1_S16_SS

Unit1_S20_scenario4

Unit1_S22_SS