2020-08-31 21:02发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我需要过滤从成功因素获得... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我需要过滤从成功因素获得的有效负载中的记录。
在某些情况下,我必须删除一条记录并将其附加到文件末尾。
请让我知道如何在SAP CPI Integration流中实现这一目标。
此致
Shruthi
Hello Shruthi,
下面的解决方案应该可以工作(在下面的示例中,我要删除员工ID为E4的记录)
输入XML:
<记录> E1 BLR Sriprsad <姓氏> Bhat Shivaram sri@test.com 记录> <记录> E2 GGN Praveen R T praveen@test.com 记录> <记录> E3 DEL Rahul <姓氏>辛格姓氏> Markand rahul@test.com 记录> <记录> E4 CHN Marko <姓氏> Chacko 姓氏> 凯尔 Marko@test.com 记录> 根>
脚本:
导入com.sap.gateway.ip.core.customdev.util.Message; 导入java.util.HashMap; 导入groovy.xml.XmlUtil; 导入groovy.xml.StreamingMarkupBuilder; 导入groovy.xml。*; def消息processData(消息消息){ //身体 def主体= message.getBody(); def list =新的XmlParser()。parseText(body) def nodeToDel = list.Record.find {it.EmployeeID.text()=='E4'} def父= nodeToDel.parent() parent.remove(nodeToDel) def valid_data = XmlUtil.serialize(列表) def Deleted_data = XmlUtil.serialize(nodeToDel); message.setProperty(" deleted_records",Deleted_data); message.setBody(valid_data); 返回消息; }
输出XML(有效记录):
<?xml version =" 1.0" encoding =" UTF-8"?> <根> <记录> E1 BLR Sriprsad Bhat Shivaram sri@test.com 记录> <记录> E2 GGN Praveen R T praveen@test.com 记录> <记录> E3 DEL Rahul <姓氏>辛格姓氏> Markand rahul@test.com 记录> 根>
输出XML(已删除的节点):
已删除的节点数据将存储在属性:$ {property.deleted_records}中,可以根据需要在以后的时间点进行检索
<?xml版本=" 1.0"编码=" UTF-8"?> <记录> E4 CHN Marko <姓氏> Chacko 姓氏> 凯尔 Marko@test.com 记录>
问候,
Sriprasad Shivaram Bhat
最多设置5个标签!
Hello Shruthi,
下面的解决方案应该可以工作(在下面的示例中,我要删除员工ID为E4的记录)
输入XML:
脚本:
输出XML(有效记录):
输出XML(已删除的节点):
已删除的节点数据将存储在属性:$ {property.deleted_records}中,可以根据需要在以后的时间点进行检索
问候,
Sriprasad Shivaram Bhat
一周热门 更多>