在某些情况下,不会以传统模式为假在Impex上触发拦截器

2020-09-19 16:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我为自己的自定义类型和扩展了...

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

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


嗨,我为自己的自定义类型和扩展了Product的子类型创建了PrepareIntercepter。 在前一种情况下,拦截器在通过impex导入时触发。 但是在后一种情况下,不会触发。 旧版模式设置为false。 看来ModelService仅在我自己的自定义类型上被调用。 我对Product和Category尝试了相同的操作,这两个操作都已经存在,但是没有被调用。 我可以在下面看到调试日志。

DEBUG()((00000FFM))[DefaultImportProcessor]主脚本的第3行:###切换到旧版导入处理器###

这是杂交规范吗? 这个问题有解决方案吗?

4条回答
95年老男孩
2020-09-19 16:55 .采纳回答

我发现了为什么在服务层模式下没有调用我的拦截器的原因。 它与类型是否扩展Product无关,而与impex语法无关。 从hybris Commerce Suite版本5.1.1开始,如果导入遇到标题行的参数" allownull"或" forceWrite",则导入将动态切换到旧版模式。 我不知道此规范会发生变化,并且我的impex使用[allownull = true]作为修饰符,因此发生了这种切换。 这是在以下维基页面的"属性相关修饰符的提示"部分中编写的: https://wiki .hybris.com/display/release5/ImpEx + Syntax ,但很重要,因为脚本生成器生成的默认导入脚本可能具有allownull或forceWrite作为修饰符。 关于产品类型的脚本始终包含这些内容。 因此,只要使用默认导入脚本,就永远不会在服务层上处理导入。

一周热门 更多>