CPI:BAI文件:使用groovy脚本将文本文件转换为XML

2020-08-14 09:52发布

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

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


大家好,

我有一个来自银行的文本文件,需要转换为复杂类型的WSDL文件并通过SOAP协议发送到S4 HANA云。 我检查了许多博客,发现CSV到XML的转换器只能用于简单的XML文件。 我相信必须使用常规脚本将文本文件转换为WSDL。 有人遇到过类似的问题吗?如果是,您如何解决呢?

注意:我已经放了一段XML和WSDL文件,以了解它的外观。 根据前两位数字,该行中跟随的值/字段会有所不同。

文本文件格式:

01,BOFMCAM2,10000833,200611,1038,5,80,1,2/02,10000833,BOFMCAM2,1,200610,,USD,2/03,00014628973,USD,015,15789137 ,,, 901, 15789137 ,, 88,010,15789137 ,,, 030,15789137 ,,, 88,040,15789137 ,,, 060,15789137 ,,, 88,066,15789137,//49,110523959,5/03,00011240341,CAD,901,0, ,, 015,72520353 ,,, 88,010,-2907305 ,,, 040,0 ,,, 88,100,75427658,9,V,200610,,066,0 ,,, 88,030,72520353 ,,, 060,72520353 ,,/16,275,2907305,V,200609 ,,//88,零余额信贷88,0001-1025-852 88,VIREMENT-TRESORERIE ZERO 16,195,152060,V,200610 ,,//88,电汇付款88,收货D" 联合国专利88,CA,CONCUR TECHNOLOGIES I 16,142,9252963,V,200610,//88,直接存款88,GE LEBLANC MSP/DIV 16,142,344925,V,200610 ,,//88,直接存款88,STC BPY/FAC 16,142,3042526,V,200610 ,,//88,直接存款

WSDL文件:

-- -- < xsd:element type =" xi0:Date" name =" ValueDate" minOccurs =" 0"/>

谢谢。

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

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


大家好,

我有一个来自银行的文本文件,需要转换为复杂类型的WSDL文件并通过SOAP协议发送到S4 HANA云。 我检查了许多博客,发现CSV到XML的转换器只能用于简单的XML文件。 我相信必须使用常规脚本将文本文件转换为WSDL。 有人遇到过类似的问题吗?如果是,您如何解决呢?

注意:我已经放了一段XML和WSDL文件,以了解它的外观。 根据前两位数字,该行中跟随的值/字段会有所不同。

文本文件格式:

01,BOFMCAM2,10000833,200611,1038,5,80,1,2/02,10000833,BOFMCAM2,1,200610,,USD,2/03,00014628973,USD,015,15789137 ,,, 901, 15789137 ,, 88,010,15789137 ,,, 030,15789137 ,,, 88,040,15789137 ,,, 060,15789137 ,,, 88,066,15789137,//49,110523959,5/03,00011240341,CAD,901,0, ,, 015,72520353 ,,, 88,010,-2907305 ,,, 040,0 ,,, 88,100,75427658,9,V,200610,,066,0 ,,, 88,030,72520353 ,,, 060,72520353 ,,/16,275,2907305,V,200609 ,,//88,零余额信贷88,0001-1025-852 88,VIREMENT-TRESORERIE ZERO 16,195,152060,V,200610 ,,//88,电汇付款88,收货D" 联合国专利88,CA,CONCUR TECHNOLOGIES I 16,142,9252963,V,200610,//88,直接存款88,GE LEBLANC MSP/DIV 16,142,344925,V,200610 ,,//88,直接存款88,STC BPY/FAC 16,142,3042526,V,200610 ,,//88,直接存款

WSDL文件:

-- -- < xsd:element type =" xi0:Date" name =" ValueDate" minOccurs =" 0"/>

谢谢。

付费偷看设置
发送
6条回答
代楠1984
1楼 · 2020-08-14 10:40.采纳回答

嗨Nisha

一些注意事项。 首先,您没有创建WSDL。 相反,您需要创建WSDL描述的SOAP服务的请求格式。

其次,如果您是Groovy脚本的新手,我将从Vijay Kumar Kapuganti ,并使用一些现在不需要编码的功能。

掌握脚本步骤很容易,但是 学习如何在Groovy中编程需要花费更长的时间。 幸运的是,在此期间您还有其他选择。

致谢

Morten

Bunny_CDM
2楼-- · 2020-08-14 10:38

非常感谢Morten。

歪着头看世界
3楼-- · 2020-08-14 10:32

您好 Nisha Divakaran

最简单 我能想到的方式是编写一个普通的脚本来读取每一行并将标题和行项目的每个块分组,然后使用MarkupBuilder创建所需的XML。

  • Group

H,header1

L,lineitem

L,lineitem

H,header2

L,lineitem

L,lineitem

,因此它应该看起来像这样。

[[[[H,header1],[L,lineItem],[L,lineitem]] ,[[H,header2],[L,lineItem],[L,lineitem]] ...]

  • 发布此步骤后,您可以使用MarkupBuilder将其转换为xml。

希望这会有所帮助!

感谢和问候,

Praveen T

落灬小鱼
4楼-- · 2020-08-14 10:31

Hi Praveen,

非常感谢您的回复。 我对CPI和常规脚本非常陌生。 您是否有实现此目标的示例? 我看了一下MarkupBuilder,发现它也是Groovy脚本中使用的类。

谢谢。

Nisha

Climb_Ma
5楼-- · 2020-08-14 10:29

嗨,

在您的情况下,您可以简单地将CSV文件转换为XML(通过创建XSD并以Resouce的形式提供给iflow),并使用xsd和wsdl作为源并进行目标映射,即可正常工作。

感谢和问候,

Vijay。