2020-08-16 11:24发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
如何在源str中的多个字段上映射多个值。
可能在图形映射中使用UDF或任何其他建议吗?
来源
P1
P2
P3
定位结构
谢谢
Raj
嗨Raj,
将创建重复项,并可以在其图像上用+符号对其进行标识。 重复节点的路径后缀为[i],其中" i"以1开头。
问候
Anupam
或多或少,这与以下线程非常相似。 答案是Anupam已经在答案中写的更详细的版本。
PI消息映射:将单个字段转换为多行
问候, Bartosz
嗨,拉吉,
简单的图形化映射解决方案来解决您的问题。
但是在我解释相同之前,我有一个疑问。 如果不确定有效负载中将存在多少个元素,将如何创建源消息数据类型。 PI Server执行图形映射之前,先将有效负载与源XSD/数据类型进行比较。 例如,下面我们有这样的源结构
但是有效载荷可以具有源结构中不存在的字段,例如S5,S6 ... Sn。 那么如何创建源代码结构。
如果源结构定义不正确,则Java映射只能解决您的问题。
第二,如果您可以解释用于方案的源适配器和目标适配器,那就太好了。
感谢Anupam,我会尝试的,让您知道它的进展。
我希望"第3步在上述步骤中重复3次"。 您提到的可以扩展为" n"。
因为在我的情况下此值是动态的,并且项目结构也是重复的
P1 P2 P3 .... Pn
P1 P2 P3 .....
嗨,Raj
如果您更改了源有效负载结构,并使用图形映射解决了此问题。 这是为您提供的解决方案。 项目段下的SalesEntryseq字段表示有效负载中的" S"字段。
然后,您需要一个上下文类型为UDF的结果,如下所示。
public void createTargetNodes(String [] a,ResultList ParentNode,ResultList ChildNodeValues,Container Container)引发StreamTransformationException { 字符串s [] = a [0] .split(";"); for(int i = 0; i 如果您想继续使用旧的源代码结构,请参考我的 博客 https://blogs.sap.com/2020/06/21/use-of-return-as-xml-feature-and-dom-parser-in-graphical-mapping/ 屏幕截图的某些部分已刻意绘制,因此仅显示了相关部分。 问候 Anupam
如果您想继续使用旧的源代码结构,请参考我的 博客
https://blogs.sap.com/2020/06/21/use-of-return-as-xml-feature-and-dom-parser-in-graphical-mapping/
屏幕截图的某些部分已刻意绘制,因此仅显示了相关部分。
嗨Anupam,
感谢您抽出宝贵的时间对此进行检查。
我的方案发送者邮件和接收者idoc。 我正在阅读csv附件并将其转换为XML,并将其映射到IDOC结构。 我使用了有效负载交换和转换bean模块,并将csv转换为XML。
现在我的源XML在项目级别上具有一个字段,而不是以前的方法,我想将所有(S1; S2; S3; ..SN)包含在xml上的一个字段中,并以某个字符分隔,例如";"
源
P1; P2; P3; .. Pn
目标在idoc上如下所示。.需要在 P1; P2; P3; .. Pn
并附加到E1EDL11-SERNR [1] = P1,E1EDL11-SERNR [2] = P2 ..... E1EDL11-SERNR [n] = Pn
映射任何指针的最佳方法是什么?
最多设置5个标签!
嗨Raj,
将创建重复项,并可以在其图像上用+符号对其进行标识。 重复节点的路径后缀为[i],其中" i"以1开头。
问候
Anupam
或多或少,这与以下线程非常相似。 答案是Anupam已经在答案中写的更详细的版本。
PI消息映射:将单个字段转换为多行
问候,
Bartosz
嗨,拉吉,
简单的图形化映射解决方案来解决您的问题。
但是在我解释相同之前,我有一个疑问。 如果不确定有效负载中将存在多少个元素,将如何创建源消息数据类型。 PI Server执行图形映射之前,先将有效负载与源XSD/数据类型进行比较。 例如,下面我们有这样的源结构
但是有效载荷可以具有源结构中不存在的字段,例如S5,S6 ... Sn。 那么如何创建源代码结构。
如果源结构定义不正确,则Java映射只能解决您的问题。
第二,如果您可以解释用于方案的源适配器和目标适配器,那就太好了。
问候
Anupam
感谢Anupam,我会尝试的,让您知道它的进展。
我希望"第3步在上述步骤中重复3次"。 您提到的可以扩展为" n"。
因为在我的情况下此值是动态的,并且项目结构也是重复的
谢谢
Raj
嗨,Raj
如果您更改了源有效负载结构,并使用图形映射解决了此问题。 这是为您提供的解决方案。 项目段下的SalesEntryseq字段表示有效负载中的" S"字段。
然后,您需要一个上下文类型为UDF的结果,如下所示。
嗨Anupam,
感谢您抽出宝贵的时间对此进行检查。
我的方案发送者邮件和接收者idoc。 我正在阅读csv附件并将其转换为XML,并将其映射到IDOC结构。 我使用了有效负载交换和转换bean模块,并将csv转换为XML。
现在我的源XML在项目级别上具有一个字段,而不是以前的方法,我想将所有(S1; S2; S3; ..SN)包含在xml上的一个字段中,并以某个字符分隔,例如";"
源
P1; P2; P3; .. Pn目标在idoc上如下所示。.需要在
字段中的';"上拆分值P1; P2; P3; .. Pn并附加到E1EDL11-SERNR [1] = P1,E1EDL11-SERNR [2] = P2 ..... E1EDL11-SERNR [n] = Pn
映射任何指针的最佳方法是什么?
谢谢
Raj
一周热门 更多>