分类描述符属性的Impex,其中特征描述符包含方括号

2020-09-24 15:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试创建一个用于更新与产品...

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

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


我正在尝试创建一个用于更新与产品的"分类属性"关联的功能值的提示。 但是,特征描述符带有方括号,例如"校准(PSI)"。

 <代码> $ productCatalog = myProductCatalog
  $ productCatalogName =我的产品目录
  $ catalogVersion = catalogversion(catalog(id [default = $ productCatalog]),version [default ='Online'])[unique = true,default = $ productCatalog:Online]
      $ clAttrModifiers = system ='MyProductClassification',version ='1.0',translator = de.hybris.platform.catalog.jalo.classification.impex.ClassificationAttributeTranslator,lang = EN
     
  $ feature1 = @校准(PSI)[$ clAttrModifiers];
   
  INSERT_UPDATE产品; $ catalogVersion;代码[unique = true]; $ feature1
  ; myproductcode; 12
     

  

当列描述符遇到'('时,它将假定 Calibration 是限定符;而应将 Calibration(PSI)作为完整限定符。

Impex令人兴奋:

 原因:de.hybris.platform.impex.jalo.header.HeaderValidationException:未知的分类属性标定在系统版本'MyProductClassification.1.0'中的列3:@Calibration [HY-0]
          在de.hybris.platform.catalog.jalo.classification.impex.ClassificationAttributeTranslator.lookupAttributeOrAssignment(ClassificationAttributeTranslator.java:208)处
          在de.hybris.platform.catalog.jalo.classification.impex.ClassificationAttributeTranslator.init(ClassificationAttributeTranslator.java:167)
          在de.hybris.platform.impex.jalo.header.SpecialColumnDescriptor.createValueTranslator(SpecialColumnDescriptor.java:72)
          在de.hybris.platform.impex.jalo.header.SpecialColumnDescriptor。(SpecialColumnDescriptor.java:38)
          在de.hybris.platform.impex.jalo.translators.AbstractTypeTranslator.translatorColumnDescriptor(AbstractTypeTranslator.java:114)
          在de.hybris.platform.impex.jalo.translators.AbstractTypeTranslator.translateColumnDescriptors(AbstractTypeTranslator.java:78)
          在de.hybris.platform.impex.jalo.header.HeaderDescriptor。(HeaderDescriptor.java:171)


  

所有基础代码都在jalo层中。 即使没有打开旧模式。 参考类是:

de.hybris.platform.catalog.jalo.classification.impex.ClassificationAttributeTranslator de.hybris.platform.impex.jalo.header.AbstractDescriptor

仅当我需要完整的限定符'@Calibration(PSI)'时才返回'@Calibration'的方法

C

olumnParams de.hybris.platform.impex.jalo.header.AbstractDescriptor.parseColumnDescriptor(String expr)引发HeaderValidationException

自定义翻译器启动得很晚,所以我不能从ClassificationAttributeTranslator扩展,而所有这些都是具有私有属性且没有设置器的Jalo类:(

1条回答
大简至美
2020-09-24 16:17

最终在服务层创建了一个包含所有内容的自定义转换器。 分类API解密时有点挑战。 但是所有服务确实存在。

选择将标题列(例如 Calibration(PSI))移至值行; 因此,标头仅具有一个虚拟列(就像 @media 一样),并且转换程序消耗的格式为 Calibration(PSI):20 psi 的单元格值。 价值线可以有尽可能多的括号。

一周热门 更多>