大家好!!
好吧,我很久没有在SAP社区写博客了。所以,我希望这个博客能帮我加油,并获得一些动力,在社区里发表一些博客
在这个博客里,我将主要关注一个新特性—如何跟踪通过IDOC/SOAP适配器从SAP CPI推送到SAP后端ERP的异步IDOC。
场景:源系统–>SAP CPI(通过IDOC/SOAP适配器)–>SAP Cloud Connector–>SAP ERP
在我们传统的SAP PI/PO中间件案例中,云服务器免费,SAP PI消息Id将是SAP IDOC控制的一部分记录EDI存档密钥,即EDI\ U DC40–ARCKEY(如下所示)。因此,这意味着标准的SAP inbound idoc处理功能模块正在考虑SAP PI message ID header字段
urn:sap.com:msgid=
例如。,urn:sap.com:msgid=1B575D45472848AA92CA4588E2E8FDF3
但是,对于SAP CPI,云服务器器,我们有一个不同的消息ID头SAP\ U MessageProcessingLogID,物联网概念,因此CPI消息不会记录在SAP ERP idoc control record ARCKEY中(可能FM模块还没有为此而设计)。而且tt看起来像SAP inbound idoc processing函数模块生成了一个新的32位十六进制Id
所以,诀窍是用一个与CPI message Id header:SAP\u MessageProcessingLogID相同的值来设置标准SAP header:SapMessageId。这可以在groovy脚本的映射步骤中完成,大淘客cms,也可以在如下所示的内容修饰符步骤的帮助下完成
当然,大数据的发展前景,同样可以通过使用值映射/IDOC/EDI\u DC40/ARCKEY字段来实现urn:sap.com:msgid=在CPI消息映射中。请注意,静态字符串urn:sap.com:msgid=(prefix)是ARCKEY所必需的,否则idoc适配器将抛出如下错误
org.apache.cxf.binding.soap.SoapFault:E/EA/728/SOAP\u MSGID\u PREFIX\u INVALID(IDoc SOAP Namespace–违规(SOAP\u MSGID\u PREFIX\u INVALID))
结果:
在CPI Moni中,
So,我们可以使用CPI消息Id(如下所示)在SAP ERP中搜索相应的IDOC编号。
Tcode:WE02(使用*CPIMessageID搜索)
参考:
SAP Cloud Integration IDOC over SOAP:https://blogs.sap.com/2017/09/15/sap-cloud-integration-idoc-over-soap/
仅此而已。希望这对你有帮助!!