第一章 AIF(Application Interface Framework)简介
AIF是什么?做什么用的?
功能简介
这样图很清楚的说明了AIF是什么,它是一个技术框架,它可以实施接口并且监控接口,以及解决消息处理期间出现的错误。有了AIF,它可以及时的向用户通知要解决的问题并从系统中获得必要的帮助信息,如关于如何继续操作的说明 。
AIF两个主要功能:
- 接口开发
- 错误监控
这两个功能分别对应了接口的设计时和接口的运行时。
- 接口实施(设计时)
- 接口实施主要通过定制菜单
- 轻松访问相关数据或基础SAP应用程序的功能
- 重新使用接口组件(如:检查,映射和操作)
- 支持接口变式(异常或附加步骤)
- 接口组件和接口变式的独立实施和测试
- 监控和错误处理(运行时和操作)
- 业务用户监控(关键用户)
- 接口访问的可定制权限
- 接口状态概览
下面分别简单说明这两个功能:
接口开发,AIF可以用于创建所有必要步骤,以过账具有现有业务功能的接口以及创建新的业务功能。
错误监控,AIF专注于帮助监控业务用户的错误,根据界面的内容通知正确的人,例如可以根据销售组件的不同通知到不同的人来处理。它不仅可以用来监控AIF中开发的接口,还可以监控已有的接口。
优势
面向开发人员和业务用户的AIF工具将减少IT和业务工作量,从而加快日常工作的执行速度并降低整个公司的成本。
体系结构概览
数据以不同的形式(IDOC, PROXY,BDOC,FILE)从不同的系统(例如通过PI等中间件系统)传到SAP应用程序系统,传入数据将首先到AIF,AIF执行为接口定义的检查、字段映射和值映射。此外还从BAPI操作中执行功能操作,调用标准功能或是自开发功能。这些功能在应用程序系统中POST数据。
AIF接口开发由技术用户完成。技术用户在AIF中执行必要的步骤。
在AIF处理数据时,会写入应用程序日志,存储在应用程序日志或是标准日志(如IDOC的状态记录)中消息显示在“监控和错误处理”中。这些消息可以帮助用户进行监控和错误处理以解决错误。由业务用户在SAP应用程序系统中完成 。
如果启用了警报管理 ,在发生错误时可以向负责接口的业务用户发出警报。
使用场景
场景1,运行时和监控
这也是最经典最常用的场景,既使用运行时也使用监控。也就是既用AIF构建接口,也在AIF中完成接口监控。接口开发和持续监控在一个单一工具中的高度整合和协同作用。此场景可基于多种接口技术(例如 Web Service、IDOC、qRFC、bgRFC 和客户特定技术)使用。
场景2, 只监控
此场景为希望拥有非常高效且以业务为中心的监控工具,但具有现有接口或具有使用其他接口技术而不是 AIF 的特定原因的客户提供快速赢取和优势。此场景可用于监控现有接口,很少需要进行更改或调整。
要监控现有接口,需要周围的 AIF 接口来告知框架要监控的内容。
场景3, 只运行时
此场景可用于只使用 AIF 运行时的功能(例如,检查、映射和操作),而无需监控的情况(例如,在调用应用程序中完成错误处理的同步调用)。
这样的场景可以从框架中为多个用例调用逻辑,同时通过结构化和中央视图以及接口逻辑的处理进行管理,而不是在多个不同的工具和技术中本地调用。
上图是AIF支持的接口种类:
- Proxy XI Runtime
- File
- IDOC
- AIF Runtime XML
- Web Service
- ESB
- BDoc
此外,可以扩展 AIF 的 监控和错误处理 以支持其他技术。这可以使用自定义代码完成,而无需修
改 监控和错误处理 。例如,通过这种方式,可以支持: - CIF
- qRFC
- bgRFC
- MWB
- 或任何其他客户特定的技术
第二章 常规功能
开发AIF接口有必需的步骤和可选的步骤:
TCODE: /AIF/CUST
下面是依次介绍:
命名空间
必须将所有接口、值映射、固定值、检查和操作分配到命名空间。定义接口 、 定义值映射 、 定义固定值 、 定义检查 和 定义操作 等定制活动在命名空间级别锁定。如果一个用户编辑特定命名空间的对象和配置,则会针对其他用户锁定这些对象和配置。
命名空间可以包含:
● 多个定义的接口
● 几个定义的检查
● 多个定义的值映射
● 多个定义的操作
Framework中
对于应由 AIF 监控或处理 的每个接口,都需要相应的 AIF 接口。必须根据所使用的通信技术设置接口。定义接口后,您可以维护映射并将操作分配到此接口。
要创建接口,需要命名空间。新接口将分配到此命名空间。此接口需要 RAW 数据结构和 SAP 数据结构。需要维护给定命名空间接口的权限。
接口需要名称和版本。接口名称是一个 10 位的 CHAR 字段。您可以创建不同版本的 AIF 接口。每个 AIF 接口也需要版本号。应在描述字段中描述接口的用途。除接口名称、版本和描述外,必须至少为接口定义原始数据结构和 SAP 数据结构。
● 一个接口可以有多个版本。接口的唯一标识符是命名空间、接口名称和版本的组合。
● 创建新版本的接口何时有用?
- 如果接口处理需要一些更改,但接口的目的保持不变。
- 如果定义的目标日期需要对接口进行更改,则无法更改接口的常规定制。
● 在 AIF 处理中,缺省情况下选择最高的接口版本。(AIF 缺省提供接口的最新版本。还可以执行接口确定并从规则中查找要使用的版本。此规则也可以与接口的内容相关。)
数据发送到接口。传入数据将传输到 AIF 接口中使用的源结构。然后执行为接口定义的结构映射、检查和值映射。数据成功映射到定义的目标结构后,执行操作。在操作中,通过标准处理功能、BAPI 或客户功能启动数据处理。
引擎
实例
TCODE: /AIF/CUST
创建命名空间:
创建AIF 接口:
TCODE:/AIF/ERR
No interval available for number range object /AIF/RUN
TCODE: /AIF/SETUP
TCODE: /AIF/XML_RESTART