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

2020-08-16 07:51发布

         点击此处--->   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)

         点击此处--->   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条回答
闻人可可
1楼 · 2020-08-16 08:24.采纳回答

以下查询中存在错误(可能是错字):

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

应该是:

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

此外,从数据库中删除相应的记录后,请确保执行 ant clean all updatesystem

警告:在执行穿孔操作之前,请先备份数据库。

骆驼绵羊
2楼-- · 2020-08-16 08:05

您好 Rohit。

当我遵循impex运行时,会抛出一个错误:

Impex:

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

; returnRequestPOS; RTOEntry

错误:
删除AttributeDescriptor; qualifier [unique = true]; enclosingType(code)[unique = true]

由于属性描述符RTOEntry.returnRequestPOS:java.lang.Integer不可移动而无法删除项目8797614800983。; returnRequestPOS; RTOEntry 

我已经尝试了所有可能的出路(从后台删除,直接从数据库中删除),但是每次尝试创建RTOEntry时我仍然遇到错误。

请帮助我。

提前谢谢!

一周热门 更多>