异常:尽管无法在items.xml中删除属性,但"无法读取属性"

2020-08-16 07:51发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我们有自己的属性 Cron...

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

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


您好,我们有自己的属性 CronJob#exportLevel 。 由于不再需要它,我们将其从items.xml中删除

问题是,现在运行Cronjob时,我们在其中一个系统上获得了Exception(请参阅附件 exception.txt 查看完整的堆栈跟踪):

 信息|  jvm 1 | 主|  2019/07/25 14:48:53.892 | 错误[TaskExecutor-master-8066-Task [8800222020534]] [PropertyJDBC]错误,读取项目'8800287359477'/'8800287359477'的属性字段'exportLevel'/'p_exportlevel'(信息为[exportLevel,p_exportlevel,class de.hybris.platform  .util.ItemPropertyValue])
  信息|  jvm 1 | 主|  2019/07/25 14:48:53.892 | 堆栈:
  信息|  jvm 1 | 主|  2019/07/25 14:48:53.892 | 错误[TaskExecutor-master-8066-任务[8800222020534]] [DefaultTaskService]无法执行任务8800222020534(hjmpTS:0)。
  信息|  jvm 1 | 主|  2019/07/25 14:48:53.892 |  de.hybris.platform.servicelayer.exceptions.SystemException:de.hybris.platform.persistence.hjmp.HJMPException:java.sql.SQLException:无效的列名
  信息|  jvm 1 | 主|  2019/07/25 14:48:53.892 |


  

因此,我们认为我们应该删除相应的AttributeDescriptor以便解决该问题。 但是

  SELECT * FROM属性描述符在更低位置(QualifierInternal)='exportlevel'

  

返回空结果。 因此该属性不存在,但仍在某些hybris表中定义...我们还可以检查哪些表来查找属性声明?

在例外情况下,将调用de.hybris.platform.cache.AbstractCacheUnit.get(AbstractCacheUnit.java:180)。 因此,也许我们应该清空一些hybris缓存来解决此问题? 但是重置HAC>监视>缓存无济于事。 您是否知道我们还可以检查些什么以了解问题?

提前谢谢!

斯文

12968-exception.txt (17.9 kB)
8条回答
compass1988
2020-08-16 07:58

请通过以下链接获取更多有关删除列的正确方法的信息:

* /img/questions/12748493/view.html*

您提到您具有CronJob#exportLevel属性,因此您知道要在哪个表(LFullExportCronJob)中搜索。 或那是不正确的信息。 是表需要搜索属性并将其删除。 基本上,问题是您的属性已从items.xml中删除,但仍保留在数据库中。

注意: 我希望从items.xml中删除属性后,您可以完成空白系统更新。

尝试下面的代码进行删除:

删除AttributeDescriptor;限定符[unique = true]; enclosingType(code)[unique = true]

; exportLevel; LFullExportCronJob

清除所有孤立类型

  1.打开hybris管理控制台。
    2.转到维护选项卡,然后选择清除选项。
    3.显示"类型系统"选项卡中的"清理"页面。
    4.确保两个复选框均已选中,然后单击"清除所有孤立类型"按钮。
    5,孤立类型被删除

  

请告诉我这是否对您有帮助,或者您需要更多详细信息或方法来帮助您。

一周热门 更多>