Tirgger以编程方式同步单个项目。

2020-09-23 08:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我发现CatalogSynchr...

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

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


我发现CatalogSynchronizationService确实对开发人员不友好:)

有没有一个示例如何执行Synchronization单项同步?

即使在当前的Hybris服务中,我发现的大多数代码也使用CatalogManager(来自hybris 3)和JALO图层。

这应该很容易,但它更像是不可能完成的任务;)

1条回答
三十六小时_GS
2020-09-23 09:19

好的,我附带了以下代码,其中使用了一些Jalo层。

 字符串catalogId = product.getCatalogVersion()。getCatalog()。getId();
 
           最终目录目录= CatalogManager.getInstance()。getCatalog(catalogId);
           if(catalog!= null){
              最终的CatalogVersion源= catalog.getCatalogVersion(CatalogManager.OFFLINE_VERSION);
              最终的CatalogVersion目标= catalog.getCatalogVersion(CatalogManager.ONLINE_VERSION);
 
              if(source!= null && target!= null){
                 SyncItemJob syncJob = CatalogManager.getInstance()。getSyncJob(源,目标);
                //将Jalo转换为Model,以便我们可以使用CatalogSynchronizationService
                 SyncItemJobModel syncJobModel = modelService.get(syncJob);
                 catalogSynchronizationService.performSynchronization(Collections.singletonList(product),syncJobModel,getSyncConfig());
              }
           }
 
  syncConfig被创建为休假:
 
  私人SyncConfig getSyncConfig(){
        最终SyncConfig syncConfig = new SyncConfig();
        syncConfig.setCreateSavedValues(Boolean.TRUE);
        syncConfig.setForceUpdate(Boolean.TRUE);
        syncConfig.setLogLevelDatabase(JobLogLevel.WARNING);
        syncConfig.setLogLevelFile(JobLogLevel.WARNING);
        syncConfig.setLogToFile(Boolean.TRUE);
        syncConfig.setLogToDatabase(Boolean.FALSE);
        syncConfig.setSynchronous(Boolean.FALSE);
        返回syncConfig;
     }
  

一周热门 更多>