Impex导出:从属性引用集合类型

2020-08-15 17:36发布

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

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


专家,

我已经检查了论坛,找不到与此相关的任何问题。 因此发布它。

我具有以下impex导出。

"#%impex.setTargetFile("" language.csv"",true,1,-1);"
 INSERT_UPDATE语言;活动; fallbackLanguages(isocode); isocode [unique = true]
 "#%impex.exportItems("" Language"",true);"
 

请注意上述提示中的 fallbackLanguages 属性。 这是OOTB属性,类型为 LanguageList 。 这将成功导出。 导出后的值将类似于 en,fr

但是,当我从属性引用集合类型时,例如下面的impex导出,

"#%impex.setTargetFile("" custlanguage.csv"",true,1,-1);"
 INSERT_UPDATE客户; uid [unique = true]; sessionLanguage(fallbackLanguages(isocode))
 "#%impex.exportItems("" Customer"",true);"
 

它抛出如下异常。

 de.hybris.platform.impex.jalo.ImpExException:主脚本第3行:无法通过属性Language.fallbackLanguages引用类型的语言,因为不支持属性类型LanguageList [HY-0]
 在de.hybris.platform.impex.jalo.exp.Exporter.export(Exporter.java:186)
 

这是不受支持的,或者我不知道该怎么做。 任何帮助将不胜感激。

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

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


专家,

我已经检查了论坛,找不到与此相关的任何问题。 因此发布它。

我具有以下impex导出。

"#%impex.setTargetFile("" language.csv"",true,1,-1);"
 INSERT_UPDATE语言;活动; fallbackLanguages(isocode); isocode [unique = true]
 "#%impex.exportItems("" Language"",true);"
 

请注意上述提示中的 fallbackLanguages 属性。 这是OOTB属性,类型为 LanguageList 。 这将成功导出。 导出后的值将类似于 en,fr

但是,当我从属性引用集合类型时,例如下面的impex导出,

"#%impex.setTargetFile("" custlanguage.csv"",true,1,-1);"
 INSERT_UPDATE客户; uid [unique = true]; sessionLanguage(fallbackLanguages(isocode))
 "#%impex.exportItems("" Customer"",true);"
 

它抛出如下异常。

 de.hybris.platform.impex.jalo.ImpExException:主脚本第3行:无法通过属性Language.fallbackLanguages引用类型的语言,因为不支持属性类型LanguageList [HY-0]
 在de.hybris.platform.impex.jalo.exp.Exporter.export(Exporter.java:186)
 

这是不受支持的,或者我不知道该怎么做。 任何帮助将不胜感激。

付费偷看设置
发送
2条回答
Tong__Ming
1楼-- · 2020-08-15 18:23

查看翻译人员: https://help.sap.com/viewer/d0224eca81e249cb82f2 /1905/zh-CN/4ce7b82cbc574456ac197393f88e5cc6.html

创建自定义转换器,该转换器扩展AbstractValueTranslator并覆盖exportValue方法。 将此翻译器与language(list)/collection属性一起使用。

让我知道答案是否有帮助。 如果是这样,请不要忘记投票并接受答案。

愤怒的猪头君
2楼-- · 2020-08-15 18:19

@ geff.h.n.chang,谢谢您的所有评论。 是的,我同意并且也了解翻译人员。 我正在寻找是否在写一个之前提供了任何OOTB。 另外,我的要求是一次性的。 我正在考虑写一个作为最后的方法,以确保只有在评估了时间和精力之后,这才是不可能的。 也许我以前应该澄清得更多。

有一个作为CollectionValueTranslator的OOTB转换器,默认情况下,它使用importValue和exportValue方法来回转换值,以在值是集合类型时提供适当的转换。 正如我在第一个示例中提供的那样,此转换器自动为我完成工作,并且默认情况下,如果直接调用,则会产生诸如en,fr之类的fallbackLanguages(isocode)结果。

请考虑以下示例。 在这里,我通过引用CustomerModel.defaultShippingAddress.country.isocode获取用户的送货国家。

"#%impex.setTargetFile("" custlanguage.csv"",true,1,-1);"
 INSERT_UPDATE Customer; uid [unique = true]; defaultShipmentAddress(country(isocode))
 "#%impex.exportItems("" Customer"",true);" 

这给了我以下回应,同时也照顾了OOTB。

 dummy1@mailinator.com; IN
 dummy2@mailinator.com; IN 

另一方面,如果我尝试引用CustomerModel.sessionLanguage.fallbackLanguages.isocode中的集合类型来获取诸如en,fr之类的值,则它不起作用。 请让我知道是否提供了OOTB。

一周热门 更多>