将文件名映射到WSDL中的某些字段

2020-09-29 17:59发布

         点击此处--->   EasySAP.com群内免费提供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-时间

提前谢谢!! 如果需要更多信息,请告诉我。

         点击此处--->   EasySAP.com群内免费提供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-时间

提前谢谢!! 如果需要更多信息,请告诉我。

付费偷看设置
发送
10条回答
土豆飞人
1楼 · 2020-09-29 18:29.采纳回答

嗨Anitha!

您说您使用Java映射。 那么,为什么不能在映射中读取"动态配置"参数并将结果放入相应的有效负载元素呢?

String [] lineParts = line.split(" _");

之后 这样您将获得所有所需的字段,例如,只应使用substring()方法另外分割日期/时间部分。

关于此,Evgeniy。

三十六小时_GS
2楼-- · 2020-09-29 18:31

嗨!

您是否在发送方通道中设置了用于将文件名存储为动态配置的参数?

错误消息指出您的fileName变量为null。 这意味着,您没有从动态配置中获得它的价值。

Evgeniy。

Nan4612
3楼-- · 2020-09-29 18:38

您好,

您是否使用文件适配器作为发件人?

问候。

Anoop Rai

huskylover
4楼-- · 2020-09-29 18:42

嗨,

您可以通过UDF达到此要求

您可以使用udf中的适配器特定属性捕获文件名,并将文件名作为UDF的输出返回。 然后,您可以使用子字符串标准函数和其他标准函数。

My梦
5楼-- · 2020-09-29 18:21

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,我认为解决方案将更加复杂。

此致。

宇峰
6楼-- · 2020-09-29 18:40

大家好

1。是的,我正在使用文件适配器作为SOAP的发送者和接收者。

2。使用Java映射将整个PDF文件转换为Base64并传递到wsdl的字段之一。

3.In wsdl我还有其他字段需要从文件名传递值

4.No 用于创建UDF的消息映射

5。通过动态配置,我可以在Java映射中调用文件名,但是我的问题是如何拆分文件名中的值并发送到字段?

请帮帮我!

spaceman01
7楼-- · 2020-09-29 18:26

谢谢Evgeniy

我正在尝试这样做,并将让您知道结果。

致谢

Anitha

一周热门 更多>