点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我已经实现了OData批处理,并且存在以下问题。
即使后端引发业务异常,也不会触发错误回调。
(我发现只有在出现连接错误时才会触发)
我的引发异常的后端代码
如果sy-subrc <> 0。 io_message_container-> add_message_from_bapi( 出口 it_bapi_messages = lt_return iv_add_to_response_header = abap_true ) 引发异常类型/iwbep/cx_mgw_busi_excetion 出口 message_container = io_message_container。 endif。
用于调用SubmitChanges的前端代码
oModel.submitChanges({ 成功:功能(oRes){ //一些代码; }, 错误:函数(oErr){ //一些代码; }, groupId:sBatchGroup });
引发异常时,我可以在控制台中看到错误消息,但不会触发错误回调。
我已阅读以下有关此问题的主题,但尚未找到解决方案。
https://answers。 sap.com/questions/12184545/submitchanges-error-callback-not-working-in-versio.html
/img/questions /12269639/odata-submitchanges-error-handling.html#
我需要做的是显示带有服务器返回的消息的消息弹出窗口。
除非OData请求失败,否则消息似乎不会出现在消息弹出窗口中。
此致
宇达电通
(47.4 kB)
已通过将" iv_message_target"传递到" add_message"方法解决了该问题。
(" add_messages_from_bapi"没有此参数)。
之后,MessageManager开始从后端接收错误消息。
<后端代码>
<前端代码>
由于即使后端有错误,submitChanges回调仍然成功,所以我需要进行额外的错误检查。
只是一个小问题。.您如何将消息发送到弹出窗口? 您打算在错误句柄中手动读取它们吗?
嗨,Mahesh,
一旦您将以下代码添加到控制器的init方法,并将MessagePopover控件添加到视图,就应该自动显示消息。
MessaegManager负责获取和显示消息。
感谢Mahesh,我实现了此注释功能。
我的假设是,如果SubmitChanges()返回错误,则消息管理器可以自动选择消息。
是。 此应用首先使用create方法实现,并且错误处理按预期工作。
哦,我假设messagemanger还要处理来自commitchangs抛出的odata消息。
但是,如果您尝试使用普通的create call以及所有方法,它们是否会被消息管理器记录?
嗨,丹尼尔,
您可以使用以下代码检查批量调用是否成功。
如果调用成功,则ODataModel应该不再具有挂起的更改。
仅当对后端本身的调用失败(例如连接错误)时,才会调用commitChanges的错误回调。
此致
Mio
一周热门 更多>