一旦将业务对象数据转换为平面结构,将通过调用适配器的 ABAP 功能模块 Y_XR_RFC_DO_VERB_NEXTGEN 将业务对象数据传递至 SAP 内存。Y_XR_RFC_DO_VERB_NEXTGEN 不会处理业务对象数据;它只将该数据传递至适当的 ABAP 处理程序执行进一步的处理。在 Y_XR_RFC_DO_VERB_NEXTGEN 将业务对象数据传递至 ABAP 处理程序之后,它等待业务对象数据返回。
Y_XR_RFC_DO_VERB_NEXTGEN 使用特定于应用程序的业务对象查询描述信息来确定哪个 ABAP 处理程序处理业务对象数据。在运行时,Y_XR_RFC_DO_VERB_NEXTGEN 读取特定于应用程序的查询描述信息并将业务对象数据传递至指定的 ABAP 处理程序。
每个 ABAP 处理程序都必须一直使用 连接器的特定于应用程序的查询描述信息。特定于应用程序的查询描述信息的格式如下:
:function1:function2:function3
其中 Y_XR_RFC_DO_VERB_NEXTGEN 执行 function1,并以参数的形式传递 function2 和 function3。例如,“客户更新”和“物料检索”仅执行 function1:
对于“创建”、“更新”或“删除”查询描述,指定 :Y_XR_RFC_DYNAMIC_TRANSACTION
对于“检索”查询描述,指定 :Y_XR_RFC_DYNAMIC_RETRIEVE
适配器提供的一个 ABAP 处理程序是功能模块 Y_XR_IDOC_HANDLER。此 ABAP 处理程序将平面结构的数据重新格式化为 IDoc 定义的实例,并将重新格式化的数据传递至另一个为处理该特定类型的 IDoc 而编写的 ABAP 处理程序。以下示例举例说明了 IDoc 处理程序 API 的用法:
销售订单更新 = :Y_XR_IDOC_HANDLER:Y_XR_ORDER_C2
销售订单检索 = :Y_XR_IDOC_HANDLER:Y_XR_ORDER_C4
在此示例中,将执行 Y_XR_IDOC_HANDLER 并传递第二个功能模块名称以及业务对象数据。Y_XR_IDOC_HANDLER 执行对第二个 ABAP 处理程序的调用,以将 IDoc 格式的业务对象数据传递至为处理订单对象而专门编写的 Y_XR_ORDER 功能模块。有关为 IDoc 处理程序设置查询描述支持的步骤,请参阅"使用 IDoc 开发业务对象"。
要动态地调用 ABAP 处理程序,Y_XR_RFC_DO_VERB_NEXTGEN 要求每个 ABAP 处理程序的接口完全相同。这使 Y_XR_RFC_DO_VERB_NEXTGEN 能够发送和接收业务对象数据以及至任何 ABAP 处理程序的返回码和返回文本消息。有关功能模块接口的更多信息,请参阅"IBM WebSphere 功能模块接口"。