奇怪的结构图

2020-08-15 03:11发布

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

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


你好。

当前,我面临着一个怪异的结构要映射,源是一个定义良好的xml数据对象,但是目标结构却怪异地解耦了,我不确定如何通过消息映射解决它。 我被要求避免使用Java映射,因此我必须尝试使其与消息映射一起使用。

源代码结构如下:

您会看到一个普通的定义良好的xml数据对象,其中有两个标头字段像一个主键一样。

目标结构为:

就像它被定义为关系表一样,其中struct充当头表,而substruct是另一个通过组合主键引用struct的表。 项目就像表中的注册表。 我知道这很奇怪,但这是必要条件。

我尝试了几种删除上下文的功能组合,使用了尽可能多的功能并按值划分,但似乎都没有得到期望的结果。

提前感谢社区可以提供的任何帮助。

(12.0 kB)

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

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


你好。

当前,我面临着一个怪异的结构要映射,源是一个定义良好的xml数据对象,但是目标结构却怪异地解耦了,我不确定如何通过消息映射解决它。 我被要求避免使用Java映射,因此我必须尝试使其与消息映射一起使用。

源代码结构如下:

您会看到一个普通的定义良好的xml数据对象,其中有两个标头字段像一个主键一样。

目标结构为:

就像它被定义为关系表一样,其中struct充当头表,而substruct是另一个通过组合主键引用struct的表。 项目就像表中的注册表。 我知道这很奇怪,但这是必要条件。

我尝试了几种删除上下文的功能组合,使用了尽可能多的功能并按值划分,但似乎都没有得到期望的结果。

提前感谢社区可以提供的任何帮助。

(12.0 kB)
付费偷看设置
发送
7条回答
浮生未央
1楼 · 2020-08-15 03:52.采纳回答

胡安!

像这样的东西(只是模板):

关于Evgeniy。

callcenter油条
2楼-- · 2020-08-15 04:13

叶夫根尼,你是今天的男人。 你钉了!

诀窍是将子结构的上下文更改为使用根上下文,而不是父上下文。 您不会相信我,但我正在考虑在接下来的测试中玩这个玩具。

它就像一种魅力。 我进行了几次测试,将结构和子结构重复了随机的次数,并且正确地构建了目标文档,而没有丢失任何信息。

小熊yu生菜
3楼-- · 2020-08-15 04:15

我主要使用XSLT映射处理此类要求。 特别看看应用模板。 应该可以通过源和目标的外观来实现

  • XML
 <?xml version =" 1.0"?>
 
 <货件>
  0815 
 <交货>
 <交货>
  5312000684 
  0000998450 
 丁堡
  12345 
  239.55 
  kg 
  3021.23 
  10021.44 
 <货币>美元
 
 
  0010881741 
  1234 
  13.45 
  33.21 
 <状态> SHPD 
  2013-03-21T12:04:09 
  0.23 
  kg 
 
 
  0010881742 
  1235 
  14.45 
  34.21 
 <状态> SHPD 
  2013-03-21T12:04:10 
  0.24 
  kg 
 
 
  0010881743 
  1236 
  15.45 
  35.21 
 <状态> SHPD 
  2013-03-21T12:04:11 
  0.25 
  kg 
 
 
 
 
 
 


 
  • XSLT
 <?xml版本=" 1.0"编码=" utf-8"?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 <时间戳>
 
 
 <总重量>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 <总重量>
 
 
 
 
 
 
 
 
 <总费用>
 
 
 
 
 
 
 
 
 
 <出货>
 
 
 
 
 
 
 
 
 
 
 

但是,这可以通过图形映射解决。 也许其他人会为此而烦恼

PS:原谅冗长的代码,但是社区软件不允许使用zip,当我将文件的扩展名也更改为.txt时,也遇到了一些问题。/p>

三十六小时_GS
4楼-- · 2020-08-15 04:07

嗨,詹斯。

不幸的是,XSL也不可行。 但这是一种不错的方法,当我和客户放弃图形映射时,我会尝试一下。

谢谢。

huskylover
5楼-- · 2020-08-15 03:50

如果没有XSL选项,则应该可以使用usaOneAsMany和一些上下文魔术来实现。 诚然,UOAM是其中最用户不友好的功能之一,每当我需要它时,我都会避免这样做,因为我需要再次解决它。

话虽如此, 看看 https://integrationlearn.com/sap-pi-mapping/useoneasmany- (-easy-example/的解释)(这曾经是SDN内的博客,但我实在无法在SAP社区内找到它。我希望双方共同同意迁出该地,这不只是简单的 昵称;-)

这应该完全符合您的要求吗? 我看到的最大区别是,您拥有的是子结构,而本教程则没有。

还要看一下:https://blogs.sap.com/2015/02/20/useoneasmany-in-sap-pi/

干杯

Jens

何必丶何苦呢
6楼-- · 2020-08-15 03:59

很棒的链接!

我将它们添加为书签。

非常感谢Jens。

四川大学会员
7楼-- · 2020-08-15 04:15

我什至尝试通过向子结构中添加另一个子结构(例如sub_substructure)来更深入地学习,只要您可以正确地映射键 将子结构和sub_substructure上下文更改为根,并在图形映射中生成足够的上下文,如下所示:

上下文更改:

生成足够的上下文:

一周热门 更多>