业务流程操作中的目录同步导致错误"工作者SyncWorker中的错误"

2020-08-31 15:44发布

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

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


我正在尝试使用CatalogVersionSyncJob从业务流程中的操作之一同步目录。 在执行此操作时,我收到以下错误信息: 日志,所有项目均未同步。 有人可以告诉我该错误的根本原因是什么。

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

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


我正在尝试使用CatalogVersionSyncJob从业务流程中的操作之一同步目录。 在执行此操作时,我收到以下错误信息: 日志,所有项目均未同步。 有人可以告诉我该错误的根本原因是什么。

付费偷看设置
发送
2条回答
打个大熊猫
1楼-- · 2020-08-31 16:00

面对同样的问题。 通过触发流程操作中的事件并在事件侦听器中运行SyncJob来解决此问题。 对我来说,同步只能通过SetupSyncJobService很好地执行,而通过DefaultCatalogSynchronizationService执行作业会导致SyncWorker中出现异常。

事件侦听器示例:

  @Override
      受保护的void onEvent(StartCatalogSyncEvent startCatalogSyncEvent){
          PerformResult resultEnglish = setupSyncJobService.executeCatalogSyncJob(String.format("%sProductCatalog",FIVER));
          PerformResult resultGerman = FiverSetupSyncJobService.executeCatalogSyncJob(
                  FiverSetupSyncJobService.getCatalogVersion(FIVER_PRODUCT_CATALOG,STAGED_CATALOG_VERSION),
                  FiverSetupSyncJobService.getCatalogVersion(GERMAN_PRODUCT_CATALOG,ONLINE_CATALOG_VERSION));
 
          如果(StringUtils.isNotBlank(startCatalogSyncEvent.getProcessCode())){
              BusinessProcessModel processModel = businessProcessService.getProcess(startCatalogSyncEvent.getProcessCode());
              如果(ProductImportProcessModel的processModel实例){
                  如果(CronJobResult.SUCCESS.equals(resultEnglish.getResult())&& CronJobResult.SUCCESS.equals(resultGerman.getResult())){
                      (((ProductImportProcessModel)processModel).setSyncSuccess(Boolean.TRUE);
                  }其他{
                      (((ProductImportProcessModel)processModel).setFailMessage("同步错误。英语结果:" + resultEnglish.getResult()。getCode()+"。德语结果:" + resultGerman.getResult()。getCode()+"。");
                  }
              }
              businessProcessService.triggerEvent(startCatalogSyncEvent.getProcessCode()+" _SynchronizationEnd");
          }
      }

 
  
callcenter油条
2楼-- · 2020-08-31 16:02

大家好,

使用

从Groovy脚本执行产品同步时,我遇到相同的问题
 SyncResult syncResult = catalogSynchronizationService.performSynchronization(itemsToSync,syncJob,cfg); 

这与交易有关吗? 我猜想业务流程操作和常规脚本都可用于事务。

此致

毛罗

一周热门 更多>