点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好
在以下要求上我需要您的帮助。
PI版本:7.0
PI从AL11中选择pdf文件并转换为base64,然后使用SOAP适配器发送给第三方。
这是通过Java映射成功实现的。
现在,附加要求是将动态文件名传递给WSDL中的某些字段。
例如:
文件名是AL11中的 200345666742_67834_1287945090523567_20170117153350.PDF
预期输出:
200345666742-发票编号
67834-商家ID
1287945090523567-卡号
20170117-日期
153350-时间
提前谢谢!! 如果需要更多信息,请告诉我。
嗨Anitha!
您说您使用Java映射。 那么,为什么不能在映射中读取"动态配置"参数并将结果放入相应的有效负载元素呢?
String [] lineParts = line.split(" _");
之后 这样您将获得所有所需的字段,例如,只应使用substring()方法另外分割日期/时间部分。
关于此,Evgeniy。
嗨!
您是否在发送方通道中设置了用于将文件名存储为动态配置的参数?
错误消息指出您的fileName变量为null。 这意味着,您没有从动态配置中获得它的价值。
Evgeniy。
您好,
您是否使用文件适配器作为发件人?
问候。
Anoop Rai
嗨,
您可以通过UDF达到此要求
您可以使用udf中的适配器特定属性捕获文件名,并将文件名作为UDF的输出返回。 然后,您可以使用子字符串标准函数和其他标准函数。
Hi Anitha,
如果我理解您的问题的严格性,那是您需要读取文件名,以后再在输出XML的某些文件中使用它。 这些链接可以帮助您读取文件名:
https://blogs.sap.com/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter-sp14 /
https://wiki.scn.sap.com/wiki/display/XI/Sample+Code+-+Dynamic+Configuration+in+Java+and+ABAP+Mapping
稍后,您可以将变量与文件名一起使用,以在输出XML中进行设置。
如果我错了,您可以编辑base64 PDF,我认为解决方案将更加复杂。
此致。
大家好
1。是的,我正在使用文件适配器作为SOAP的发送者和接收者。
2。使用Java映射将整个PDF文件转换为Base64并传递到wsdl的字段之一。
3.In wsdl我还有其他字段需要从文件名传递值 >
4.No 用于创建UDF的消息映射
5。通过动态配置,我可以在Java映射中调用文件名,但是我的问题是如何拆分文件名中的值并发送到字段?
请帮帮我!
谢谢Evgeniy
我正在尝试这样做,并将让您知道结果。
致谢
Anitha
一周热门 更多>