点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们正在尝试通过impex更改ImportImpexCronJob logtodatabase属性的默认值。 logtodatabase的默认值在CronJob中设置,并在ImportImpexCronJob * -items.xml中重新声明。
我们不想扩展/子类化并重新声明该值。
我们可以按照此问题中的建议通过impex更新属性( https: //experts.hybris.com/questions/2379/view.html)。
例如,我们可以执行以下操作:
UPDATE AttributeDescriptor; enclosingType(code)[unique = true]; qualifier [unique = true];可选; UserPasswordChangeAudit; passwordEncoding; true
但是以下操作失败:
UPDATE AttributeDescriptor; enclosingType(code)[unique = true]; qualifier [unique = true]; attributeType(code); defaultValue; ImpExImportCronJob; logToDatabase; true
从日志中更新失败为:2 = ValueEntry('logToDatabase'= logToDatabase,unresolved = false,ignore = false),3 = ValueEntry('true'= null,unresolved = null,ignore = false)value" true" = null,unresolved = null,ignore = false
当我导出时,我可以看到logtodatabase的属性类型为java.lang.Boolean,但是defaultValue显示为长编码字符串!
所以我有两个问题:我可以用impex更新默认值吗? 如果是这样-怎么办?
预先感谢
如果看到AttributeDescriptorModel类,则将看到defaultValue是Object类型的。 它既不是原始类型,也不是对其他模型的引用。 在impex中,没有直接的方法将对象的值赋予属性。 因此,您可以尝试编写自己的翻译器或使用beanshell。
附件是我为此目的创建的一个beanshell- Beanshell
注意:除非您也对items.xml进行了相同的更改,否则在更新系统时,通过impex或通过beanshell直接对数据库所做的任何更改都将恢复。
一周热门 更多>