要使用 WebSphere Message Broker 的功能来转换 SAP IDoc 数据,必须对 WebSphere Message Broker 中 IDoc 的分段数据进行建模。
发送到 SAP 应用程序的消息和从 SAP 应用程序接收的消息由 IDoc 解析器处理,该解析器需要消息模型才能正确解释数据。本主题说明如何构建消息模型。在 SupportPac IA0F 中提供预构建版本消息模型的示例。
使用以下过程可以创建消息模型:
必须将消息集添加到代理归档文件并部署到代理执行组,这是因为 IDoc 解析器使用 MRM 解析器解析您已定义的 IDoc 分段。
创建消息流来处理 IDoc 时,将使用“运行时解析器”属性、消息集名称和“定制有线格式”名称。它们分别显示为 MQinput 节点的消息域、消息集和消息格式属性的值。不要在 MQinput 节点上提供消息类型属性,因为 IDoc 解析器使用 SAP 定义的 IDoc DD 字段 segnam 的内容提供消息的名称。
当到达 ESQL 语句中的 sdatatag 标记时,下一个标记是 MRM(必须手动输入),然后是要对其进行处理的字段名。请在此处指定消息分段内字段的名称,而不是消息分段的名称。
例如,以下代码设置 IDoc 的分段名称:
SET OutputRoot.IDOC.DD[I].segnam = 'E2MAKTM001';以下示例设置 E2MAKTM001 分段中的 msgfn 字段:
SET OutputRoot.IDOC.DD[I].sdatatag.MRM.msgfn = '006';