与模式附加相关的Impex问题

2020-08-22 11:35发布

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

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


每次在impex中使用mode = append时,如果它们每次都像超级类别的情况一样持续出现,则值会重复。 当我们使用mode = append时,避免集合类型中的数据重复的最佳方法应该是什么?

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

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


每次在impex中使用mode = append时,如果它们每次都像超级类别的情况一样持续出现,则值会重复。 当我们使用mode = append时,避免集合类型中的数据重复的最佳方法应该是什么?

付费偷看设置
发送
10条回答
我是小鹏鹏啊
1楼-- · 2020-08-22 12:04

你好罗德里戈

避免重复行的最佳方法是在标头中的任何属性中使用唯一修饰符[unique = true]。 唯一修饰符不必是您的itemtype的主键,基本上是一个内部过滤器,impex引擎将使用该内部过滤器来预先检查该属性在操作过程中的唯一性。

例如:

想象一下,您想修改某个人,并且主键是person_id,如果要插入,删除或更新任何行,但要通过名称" RODRIGO"进行过滤,则可能需要设置[唯一 = true]属性名称和person_ID。 为了在您的追加模式操作期间按名称和person_id进行过滤

有关impex语法的详细信息 https://wiki.hybris.com/display/release5/ImpEx + Syntax#ImpExSyntax-Header

我希望这可以帮助您解决问题

最好的问候

歪着头看世界
2楼-- · 2020-08-22 12:19

Hello Rodrigo

您能否上传上载的标题? 并说明您是否每天运行此impex会产生不同的结果?

DafaDDDa
3楼-- · 2020-08-22 11:59

我使用控件结构来删除收藏夹列表中的重复项,如下所示:

  INSERT_UPDATE NavigationBarCollectionComponent; $ contentCV [unique = true]; uid [unique = true]; components(uid,$ contentCV)[mode = append]
  "#%afterEach:impex.getLastImportedItem()。setComponents(impex.getLastImportedItem()。getComponents()。stream()。distinct()。collect(java.util.stream.Collectors.toList()));";
  ;; NavBarComponent; TestBarComponent
  #%afterEach:end
  
小灯塔
4楼-- · 2020-08-22 12:01

嗨罗德里戈,

您找到任何解决方案了吗? 等待您的答复。

感谢与问候,

jovirus
5楼-- · 2020-08-22 11:57

您可以在-items.xml中将集合声明为"集合"而不是"列表"

me_for_i
6楼-- · 2020-08-22 12:17

您好Rodrigo,

您可以尝试[unique = true]

谢谢,维吉。

一周热门 更多>