云中的CPI映射以实现客户集成

2020-08-14 17:36发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嘿SAP专家,

我对iFlow的CPI映射有疑问"从SAP Business Suite复制业务合作伙伴"。

如果源结构中的字段" IndustrialSectorCode"是初始字段,则需要禁止目标结构中的节点" IndustrySector" +子节点。

如何在IndustrySector的映射中访问" IndustrialSectorCode"字段?

我已经尝试了节点函数" removeContexts" +" createif",但这会在XML文件中创建一个奇怪的字符串,并且完全没有抑制作用:

映射CPI:

有什么想法吗?

致谢。

西蒙。

(42.3 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嘿SAP专家,

我对iFlow的CPI映射有疑问"从SAP Business Suite复制业务合作伙伴"。

如果源结构中的字段" IndustrialSectorCode"是初始字段,则需要禁止目标结构中的节点" IndustrySector" +子节点。

如何在IndustrySector的映射中访问" IndustrialSectorCode"字段?

我已经尝试了节点函数" removeContexts" +" createif",但这会在XML文件中创建一个奇怪的字符串,并且完全没有抑制作用:

映射CPI:

有什么想法吗?

致谢。

西蒙。

(42.3 kB)
付费偷看设置
发送
4条回答
追夢秋陽
1楼-- · 2020-08-14 18:04

你好

您需要编辑标准iflow内容,并添加" groovy脚本"图块并编写脚本以清空该字段。

N-Moskvin
2楼-- · 2020-08-14 17:47

Hello Davide,

感谢您的回复。

我还不熟悉groovy,但是我会尝试使用它。

Tong__Ming
3楼-- · 2020-08-14 18:07
 import com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 导入groovy.util.XmlSlurper;
 导入groovy.xml.XmlUtil;

 def消息processData(消息消息){

     def valid_values = ['EXAMPLE0001','EXAMPLE0002'];
    
     def body = message.getBody(java.lang.String);
     def messageLog = messageLogFactory.getMessageLog(message);
    
     定义IDOC = new XmlSlurper()。parseText(body);
     def E1KNA1M = IDOC.E1KNA1M;

 E1KNA1M.E1KNVVM.each {it->
 messageLog.setStringProperty(" BZIRK-1",it.BZIRK.text());

 if(!valid_values.contains(it.BZIRK))
 {
 it.BZIRK ="";
 }

 messageLog.setStringProperty(" BZIRK-2",it.BZIRK.text());
 }

     def distrZone = E1KNA1M.E1KNVVM.findAll {distrZone.contains(it.BZIRK)};
    
    
     def cleanBody = XmlUtil.serialize(IDOC).replaceAll(" \\ <\\?xml(。+?)\\?\\>","").trim();
     messageLog.setStringProperty(" Body",cleanBody);

     message.setBody(cleanBody);

     返回消息;
 }
 
Aaron 3364
4楼-- · 2020-08-14 17:49

这只是有关如何使用Groovy的示例:在这里,我们从传入的IDOC中筛选出我们不想到达的C4C值(在脚本处理字段BZIRK为空之后)。 请记住,BZIRK是在销售数据级别上,而不是在标题上。

一周热门 更多>