正在使用出站或入站代理并使用 XI 协议接收 XI 消息。想要从 XI 消息的动态头读取或设置值。标准系统不包含此操作的接口。
原因和条件
正在将 SAP Process Integration 用作应用程序系统中的本地集成引擎。
解决方案
应用程序代理可以使用四个 RFC 功能模块,以便可以使用 XI 协议读取或设置来自 XI 消息的动态头的值。使用 Web 服务协议的消息时,忽略四个功能模块的调用。
功能模块:SXMB_SET_DYN_HDR_OUT
调用:
在 ABAP 发送方系统中调用后续同步或异步出站代理之前。
描述:
使用参数 DYNAMIC_T,动态值(名称、命名空间、值)的表仅传递给下一出站代理。建议在调用出站代理之前直接调用功能模块。在 ROLLBACK WORK 的情况下,功能模块的调用也无效。所有动态参数均通过调用功能模块来传递。如果存在多个调用,则不会累积动态值。
例外:
在以下情况下触发 PARAMETER_NOT_VALID:
◦动态值的名称或命名空间为空。
◦表中的动态值超过 40 个。
功能模块: SXMB_GET_DYN_HDR_OUT
调用:
在 ABAP 发送方系统中调用同步出站代理之后。
描述:
使用参数 DYNAMIC_T,从 XI 消息的最终出站代理读取动态值(名称、命名空间、值)的表。
例外:
无
功能模块: SXMB_GET_DYN_HDR_IN
调用:
在 ABAP 接收方系统中同步或异步入站代理的实施类中。
描述:
使用参数 DYNAMIC_T,从请求 XI 消息读取动态值(名称、命名空间、值)的表。
例外:
无
功能模块: SXMB_SET_DYN_HDR_IN
调用:
在 ABAP 接收方系统中同步入站代理的实施类中。
描述:
使用参数 DYNAMIC_T,将动态值(名称、命名空间、值)的表传递到 XI 消息同步响应中的调用程序。在 ROLLBACK WORK 的情况下,功能模块的调用也无效。所有动态参数均通过调用功能模块来传递。如果存在多个调用,则不会累积动态值。
例外:
在以下情况下触发 PARAMETER_NOT_VALID:
◦动态值的名称或命名空间为空。
◦表中的动态值超过 40 个。