首页 > 解决方案 > 通过 Java 代码完成 impex 导入后未反映更改

问题描述

我已经编写了使用 Java 代码的 impexes。我在 HAC 中运行它们。它们已成功导入,但未反映通过代码进行的更改。有人可以告诉我们需要做什么才能反映这些变化吗?使用的 impexes 是:

$contentCatalog=apparel-ukContentCatalog 
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Staged])[default=$contentCatalog:Staged] 
$picture = media(code,$contentCV)

INSERT_UPDATE BannerComponent;$contentCV[unique=true];uid[unique=true];name;&componentRef;urlLink;
;;myBannerComp;My Banner Component;myBannerComp;/;


UPDATE BannerComponent;uid[unique=true];$contentCV[unique=true];$picture[lang=en];headline[lang=en];content[lang=en];
#%xyzService = de.hybris.platform.core.Registry.getApplicationContext().getBean("xyzService");
#%xyz=xyzService.findXyzByCode("D100");
;myBannerComp;
#%xyz.getPhoto();
#%xyz.getName();
#%xyz.getDescription();

上面的 impex 在 HAC 中加载成功,但是当我在后台检查时,找不到通过代码所做的更改。

标签: hybrisimpexsap-commerce-cloud

解决方案


请尝试以下impex。

$contentCatalog=apparel-ukContentCatalog 
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Staged])[default=$contentCatalog:Staged] 
$picture = media(code,$contentCV)

INSERT_UPDATE BannerComponent;$contentCV[unique=true];uid[unique=true];name;&componentRef;urlLink;
;;myBannerComp;My Banner Component;myBannerComp;/;


UPDATE BannerComponent;uid[unique=true];$contentCV[unique=true];$picture[lang=en];headline[lang=en];content[lang=en];
"#% beforeEach: 

de.hybris.platform.servicelayer.<package>.xyzService service = de.hybris.platform.core.Registry.getApplicationContext().getBean(""xyzService"");;
try 
{
    <CustomModel> xyz=xyzService.findXyzByCode("D100");
    line.put(new Integer(3), xyz.getPhoto());
    line.put(new Integer(4), xyz.getName();
    line.put(new Integer(5), xyz.getDescription();
    
} 
catch (Exception ex) {}
";
;myBannerComp;

推荐阅读