亲爱的读者,
本博客介绍了sap cpi中的通用拆分器。通用拆分器中有很多可用的选项,我将用一个简单的示例详细讨论所有这些选项。
拆分器和通用拆分器的使用:
拆分器用于将批量消息拆分为一小块。通用拆分器根据通用拆分器中提供的配置条件将消息拆分为N个部分。
到目前为止,返利软件,我们在CPI中共有6种类型的拆分器。具体如下。导航到托盘-路线-拆分器
CPI中拆分器的类型
我将跳转到示例并详细解释所有参数。让我们假设下面是输入有效负载,我想根据id将其拆分。
示例1:
如何使用绝对和相对XPath表达式
Iflow如下所示。为简单起见,配置接收方邮件和计时器。
将示例1输入有效负载保留在内容主体修饰符中,并开始配置通用拆分器。
使用XPath进行xml输入。对于非xml输入,请使用换行符。
这里您将指定拆分的路径。
您可以用两种方式指定它。
它以"/"开头。这是指定路径的简单方法。
XPath=//id
它将拆分示例1输入XML的次数与在XML中找到id的次数相同。在我的示例中,id出现两次,因此它将分为两次作为输出1和输出2,如下所示。
输出1
输出2
这里您需要提供完整路径。
XPath=/root/record/items/id
您将得到与输出1和输出2相同的输出。
示例2:
出现在两个不同的节点
现在id出现在两个节点中。items and details
XPath="/id
将示例2的输入xml拆分为5部分。
XPath=/root/record/items/id
或
XPath=//items/id
(两者相同)
将示例2的输入xml拆分为2部分,包含作为父级的项
使用绝对XPath表达式选择要拆分的id节点(项或详细信息)。
示例3:
包含命名空间的xml
拆分示例3消息,您需要为集成流(在运行时配置下)定义名称空间映射(前缀和名称空间的映射)
例如xmlns:p1=http://父域
XPath=/p1:root/p1:record/p1:items/p1:id
您将得到两个输出:output1和output2(见上文)
示例4:
分割输出xml只包含包络元素和其余元素元素的
XPath=/p1:root/p1:record/p1:items/p1:id
我们使用术语包络元素来指代上面的元素,包括分割点。
和节点出现在分割点的下面,因此这些节点将不是输出xml的一部分。
下面的输出3和输出4是输出示例4输入xml
输出3
输出4
示例5:
非xml输入
使用表达式类型=换行符
常规拆分器将入站消息的第一行解释为标头或根元素。因此,从第2行开始拆分。下面是示例5的输出。
输出5
输出6
输出7
示例6:
非xml输入,使用组
分组将输出xml分组。我已经把分组值2,因此我们将得到2输出,而不是4。
输出8
输出9
流式处理,大数据分析,并行处理和异常停止:
如果您要流式处理拆分大型复合消息的过程,大数据中心是什么,请选中此复选框。
选择此复选框将提高内存效率。这将允许Iflow第一步拆分复合消息,优惠券返利,个人网站建站,然后将拆分的消息传输到内存。
如果不选择此选项,则在拆分和进一步处理之前,消息将完全传输到内存。停用流媒体比激活流媒体占用更多内存。
如果要同时启用(并行)处理所有拆分消息,请选中此复选框。
并发进程数:如果选择了并行处理,则拆分消息将在线程中并发处理。定义拆分器中要使用的并发进程数。默认值为10。允许的最大值为50.
超时(秒):系统在中止前等待处理完成的最大时间(秒)。默认值为300秒。
如果发生异常,选择此选项停止消息处理。
具有异常处理的拆分器
请参阅下面的博客:
https://blogs.sap.com/2018/10/17/cloud-integration-use-of-general-and-iterating-splitter-with-exception-handling/
分流器流程步骤在本地流程中的使用
见下文博客:
https://blogs.sap.com/2018/02/07/cloud-integration-use-of-splitter-flow-steps-in-local-process/
结论:
在本博客中,您了解了如何在sap CPI中使用通用拆分器。我试图涵盖所有的选择,在通用拆分器可用。如何对XML和非XML消息使用通用拆分器。