从Groovy类访问catalogVersionService

2020-09-19 06:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我试图通过groovy访...

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

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


大家好,我试图通过groovy访问catalogversionservice,但这会引发错误。 如果不在课程中,它将很好地工作。

我得到的错误是 脚本执行失败[原因:java.lang.NullPointerException:无法在空对象上调用方法getCatalogVersion()]

  import de.hybris.platform.catalog.model.CatalogVersionModel;
  导入de.hybris.platform.catalog.model.CatalogModel;
  导入de.hybris.platform.core.model.product.ProductModel;
  导入de.hybris.platform.product.ProductService;
  导入de.hybris.platform.catalog.CatalogVersionService;
  导入de.hybris.platform.catalog.model.classification.ClassAttributeAssignmentModel;
  导入de.hybris.platform.catalog.model.classification.ClassificationClassModel;
  导入de.hybris.platform.classification.features。*;
 
  公共类MainClass
  {
   
   def outputData()
    {
      CatalogVersionModel catalogVersion = catalogVersionService.getCatalogVersion(" Maincat"," Staged");
   ProductModel product1 = productService.getProductForCode(catalogVersion," PROD_1");
   
    }
  }
 
  新的MainClass()。outputData()
 
  
4条回答
软件心理学工程师
2020-09-19 06:21 .采纳回答

catalogVersionService 不在范围内。 它属于隐式脚本类,因此不能从 MainClass

实例访问。

在构造 MainClass

的实例时,您可以执行类似的操作来传递 catalogVersionService
 公共类MainClass {
    def catalogVersionService
    def productService
    
    def outputData(){
      def catalogVersion = catalogVersionService.getCatalogVersion('Maincat','Staged')
      def product1 = productService.getProductForCode(catalogVersion,'PROD_1')
      println product1.name
    }
  }
  
  新的MainClass(catalogVersionService:catalogVersionService,productService:productService).outputData()
  

一周热门 更多>