点击此处---> 群内免费提供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)
以下查询中存在错误(可能是错字):
应该是:
此外,从数据库中删除相应的记录后,请确保执行
ant clean all updatesystem
。警告:在执行穿孔操作之前,请先备份数据库。
当我们从items.xml中删除属性时,该属性仍保留在 db,因此您可能需要删除它。 您可以尝试从hac中删除孤立的属性。如果仍然存在,请通过sql命令等从表中删除该属性。
您还可以尝试从hmc/backoffice移除属性。
您好,您知道该属性是在哪种类型下添加的。 如果您从items.xml中获取了代码,那么将很容易删除,请提供该代码,以便轻松确认并提供删除步骤。
感谢您的回答,但还不完整。 我们在哪里可以删除后台的属性? 在"系统>类型>类型" CronJob">属性"下看不到它。
如果要使用SQL从数据库中删除属性,应在表中搜索哪个? 在表" attributedescriptors"中未声明它。
您读过异常吗?
先谢谢了。
嗨
请通过以下链接获取更多有关删除列的正确方法的信息:
您提到您具有CronJob#exportLevel属性,因此您知道要在哪个表(LFullExportCronJob)中搜索。 或那是不正确的信息。 是表需要搜索属性并将其删除。 基本上,问题是您的属性已从items.xml中删除,但仍保留在数据库中。
注意: 我希望从items.xml中删除属性后,您可以完成空白系统更新。
尝试下面的代码进行删除:
删除AttributeDescriptor;限定符[unique = true]; enclosingType(code)[unique = true]
; exportLevel; LFullExportCronJob
清除所有孤立类型
请告诉我这是否对您有帮助,或者您需要更多详细信息或方法来帮助您。
您提到您具有CronJob#exportLevel属性,因此您知道要在哪些表中搜索。 或那是不正确的信息。 是表需要搜索属性并将其删除。 基本上,问题是您的属性已从items.xml中删除,但仍保留在数据库中。
注意: 我希望从items.xml中删除属性后,您已经完成了空白的系统更新。
您可以使用SQL查询将其删除,以从表LFullExportCronJob中删除属性exportLevel。
您可以点击该链接,其中有很多示例可以删除列,并且提供了很好的链接。
/img/questions/12748493/view.html
一周热门 更多>