2020-08-27 04:08发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,
我们在SAP CPI中要求将三个不同的csv文件(标题,行项目,计划的行项目)组合在一起,并使用单个idoc(S4 HANA)对其进行映射。 根据头文件中的键值将多个订单项发布到单个idoc中。
能否请您提供必要的Groovy脚本或映射逻辑,以便对多个订单项进行排序,选择和发布。
谢谢
Avinash
你好Avinash,
稍作调整,就可以按预期获得输出,然后向前直接进行消息映射将帮助您获得IDoc结构。
建议#1:
当您将所有三个文件从Pipe Delimeted文件转换为XML时,请使Company字段具有唯一性,例如Company1(而不是在LineItem中使用Company2,在Lot_Line_Item中使用Company3)。
一旦 完成上述操作,然后使用下面的2个XSLT映射(因为我是XSLT的新手,建议使用2个XSLT :),并且像往常一样,我们的专家社区成员可以为我们提供更好的XSLT)
XSLT 1:
<?xml version =" 1.0" encoding =" UTF-8"?> <输出> <标题>
XSLT 2:
<文件> <组>
最终输出:
<组> <标题> Avinash B2 Capgemini Hyd Ravi B3 Capgemini 浦那 Aarush C1 Capgemini Hyd <组> <标题> Varma B1 Dell 禁令 Satya B4 Dell 妈妈 Varma C2 Dell 禁令 <组> <标题> Kaduks B1 Delloite 浦那 Sarmaa2 B4 Delloite 妈妈 Sarma2 B4 Delloite 妈妈 Sarma2 B4 Delloite 妈妈 Santu C2 Delloite Hyd
一旦您掌握了XML,就可以轻松将其转换为IDoc Structure。希望它会有所帮助!
问候,
Sriprasad Shivaram Bhat
能否请您分享更多细节,例如输入有效负载(3 diff csv)和期望的内容(目标xml看起来像)。
请注意,
嗨,Sirprasad,
下面是我的三个不同的net输入有效载荷。
标题:
订单项:一个具有多个订单项
Lot_Line:
我必须从SFTP服务器中选择上述三个文件,然后合并为一个文件,并使用单个idoc进行映射。
应基于订单号(标头-突出显示)从行项目和批行文件中识别相应记录,并将其发布到单个idoc(ORDERS05)中。
我能够合并到singe文件中,将其与订单idoc映射,并从订单项和批次中仅选择一条记录 line.As 单个订单号有多个订单项,因此我必须全部选中并将其发布到单个idoc中。
能否请您共享合并的文件(可能您已经转换为XML文件)和期望的XML file.By 相比之下,很难复制您的方案(就像为了为某些问题提供解决方案而构建整个界面一样)。
此致
感谢Sriprasad。
请找到附件的输入文件和预期输出的文件。
在这里,我有4个订单项,用于单个标头记录,且公司名称为" Deloitte"。
请提供您的帮助。我仍然面临问题。我能够将多个订单项添加到各自的idocs中,但现在有很多项目存在问题。
请提供帮助。 mapping-issue.jpg mapping-logic.jpg
感谢Sirprasad的精彩建议。目前,我能够使用制图实现此方案,但在放置各个批号线时面临问题 在E1EDP20下。
添加了逻辑并发布了错误屏幕快照。请检查并提出建议。
最多设置5个标签!
你好Avinash,
稍作调整,就可以按预期获得输出,然后向前直接进行消息映射将帮助您获得IDoc结构。
建议#1:
当您将所有三个文件从Pipe Delimeted文件转换为XML时,请使Company字段具有唯一性,例如Company1(而不是在LineItem中使用Company2,在Lot_Line_Item中使用Company3)。
一旦 完成上述操作,然后使用下面的2个XSLT映射(因为我是XSLT的新手,建议使用2个XSLT :),并且像往常一样,我们的专家社区成员可以为我们提供更好的XSLT)
XSLT 1:
XSLT 2:
最终输出:
一旦您掌握了XML,就可以轻松将其转换为IDoc Structure。希望它会有所帮助!
问候,
Sriprasad Shivaram Bhat
你好Avinash,
能否请您分享更多细节,例如输入有效负载(3 diff csv)和期望的内容(目标xml看起来像)。
请注意,
Sriprasad Shivaram Bhat
嗨,Sirprasad,
下面是我的三个不同的net输入有效载荷。
标题:
订单项:一个具有多个订单项
Lot_Line:
我必须从SFTP服务器中选择上述三个文件,然后合并为一个文件,并使用单个idoc进行映射。
应基于订单号(标头-突出显示)从行项目和批行文件中识别相应记录,并将其发布到单个idoc(ORDERS05)中。
我能够合并到singe文件中,将其与订单idoc映射,并从订单项和批次中仅选择一条记录 line.As 单个订单号有多个订单项,因此我必须全部选中并将其发布到单个idoc中。
谢谢
Avinash
你好Avinash,
能否请您共享合并的文件(可能您已经转换为XML文件)和期望的XML file.By 相比之下,很难复制您的方案(就像为了为某些问题提供解决方案而构建整个界面一样)。
此致
Sriprasad Shivaram Bhat
感谢Sriprasad。
请找到附件的输入文件和预期输出的文件。
在这里,我有4个订单项,用于单个标头记录,且公司名称为" Deloitte"。
嗨,Sirprasad,
请提供您的帮助。我仍然面临问题。我能够将多个订单项添加到各自的idocs中,但现在有很多项目存在问题。
请提供帮助。 mapping-issue.jpg mapping-logic.jpg
感谢Sirprasad的精彩建议。目前,我能够使用制图实现此方案,但在放置各个批号线时面临问题 在E1EDP20下。
添加了逻辑并发布了错误屏幕快照。请检查并提出建议。
一周热门 更多>