SAP Process Integration (PI)/Process Orchestration (PO) 中的数据类型增强功能有助于修改 SAP 标准应用程序提供的标准服务接口或代理接口的输入/输出数据结构。尽管您可以使用数据类型增强功能将结构附加到任何 ABAP 代理(标准或自定义)的输入或输出结构,但数据类型增强功能的标准用途是向 SAP 标准 ABAP 代理接口添加其他数据字段。
演示中使用的 SAP 版本:
- SAP S4 HANA Fashion 1709
- SAP PO 7.5
数据类型增强方案:
我们假设这样一个场景:您有一个代理出站场景,在 SAP 中创建预订后,您将航空公司预订信息发送到 PI/PO 中间件。SAP 已经提供了此用于发送预订信息的服务界面,但如果您需要在同一消息中发送其他信息,该怎么办?例如,带有有关预订的其他注释的字符串字段。
在大多数情况下,不允许编辑标准 SAP 对象,但即使允许,也不是行业标准的最佳实践。SAP 提供了修改框架或工具来修改标准 ABAP 对象,例如 BADI、DDIC 附加结构、用户存在等。同样,如果您需要向 SAP 标准 ABAP 代理接口的输入或输出添加其他字段,则可以使用数据类型增强功能。
在开始构建代理接口之前,您需要确保在 SAP 后端系统和 SAP PI/PO 之间建立代理连接。
数据类型增强示例:
通过 SAP 标准内容,我们收到了服务接口“FlightBookingOrderConfirmation_Out”和相应的 ABAP 代理接口。
让我们向此代理接口添加一个名为“Notes”的附加字符串字段。
PI/PO 中的原始服务接口
SPROXY 中的服务使用者(ABAP 代理接口)视图
我们将增强以下数据类型 “FlightBookingOrderConfirmation”,这是服务接口(代理接口)“FlightBookingOrderConfirmation_Out”的下划线数据结构。
原始消息类型结构
有关如何创建数据类型增强功能的分步指南
步骤 1:在企业资源存储库 (ESR) 中创建数据类型增强对象。
设置 Data Type Enhancement 的名称。
然后,分配要修改的标准数据类型的名称。在此示例中,我们将向之前标识的数据类型“FlightBookingOrderConfirmation”添加其他字段。
创建新的数据类型增强并分配原始数据类型
根据需要添加其他数据字段。根据此示例,我们将添加一个新的数据结构,其中包含一个名为“Notes”的字符串字段。
配置 Data Type Enhancement 的结构
保存并激活。
Message Type (消息类型) 以及 Data Type Enhancement 中的其他字段
步骤 2:使用事务 SPROXY 将 ESR 中创建的数据类型增强功能导入 SAP。
转到事务 SPROXY,然后单击 create new object。
在 SPROXY 中创建新的数据类型增强对象
选择对象类型作为 “Data Type Enhancement”(数据类型增强)。
选择对象类型 数据类型增强
选择对象的源。我们正在从 ESR 导入数据类型增强。
在 SPROXY 事务中选择源作为 ESR
浏览 Software Component 层次结构以选择对象。
从树视图中选择 created Data Type Enhancement
单击 continue 并在下一个屏幕中提供 package detail(包详细信息)、transport detail(传输详细信息)。
请注意,您无法导入在标准 sap 命名空间(如“sap.com”)下创建的数据类型增强功能。
第 3 步:验证代理类数据结构是否按预期更改。
转到 Service Consumer 并验证 Data Type Enhancement 包含的其他字段在参数中是否可用。
数据类型增强 (Data Type Enhancement) 包含在 Service Proxy 对象中的其他字
第 4 步:执行代理服务接口。
测试代理接口并包含数据类型增强添加的其他字段的值