点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我已经在我的产品上创建了一个...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我已经在我的产品上创建了一个...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,我已经在我的产品上创建了一个验证拦截器
公共类MyProductValidatorInterceptor实现ValidateInterceptor { @Override 公共无效onValidate(最终对象模型,最终InterceptorContext ctx)抛出InterceptorExceptio { 如果(模型实例为MyProductModel &&(ctx.isNew(model)|| ctx.isModified(model,ChemicalProductModel.APPROVALSTATUS))) { 最终的MyProductModel myProductModel =(MyProductModel)模型; 最终ArticleApprovalStatus批准状态= chemicalProductModel.getApprovalStatus(); 如果(ArticleApprovalStatus.APPROVED == rovalStatus) { 抛出新的InterceptorException(" 由于没有必填字段,因此无法将产品保存在批准中"); } } } }
但是后台办公室会显示一般错误消息
我如何显示我的错误消息?
(55.3 kB)
ModelSavingExceptionTranslationHandler上toString方法的实现,负责解决出现ModelSavingException时在bakoffice中显示的错误消息,在版本1905中已更改。 >
Hybris在内部捕获所有InterceptorExeptions,然后重新抛出ModelSavingException,并以异常为原因。
1905年版本的实现如下:
通过此实现,无论原因是什么,错误消息将始终相同。
为了进行比较,6.4中的实现显示了抛出异常的详细消息,如下所示:
这应该是一个错误,因为文档 1905年仍然说将显示抛出异常的消息,否则文档不是最新的。
可以通过重写ModelSavingExceptionTranslationHandler来解决此问题,但这会影响Hole平台,我们还不知道为什么首先要更改实现。 因此,更明智的是向SAP支持人员报告此事。
一周热门 更多>