在UI5屏幕上显示OData消息

2020-09-01 18:51发布

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

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


嗨,

我正在使用oDataModel.submitChanges()方法,并实现了成功和错误回调方法。 当submitChanges方法被调用时,我从后端返回一条消息,如下所示。

1)我的问题是,..为什么即使在调用回调函数之前仍出现此消息? 调用成功或错误回调时,此消息是否不应该出现?

2)当我仍想保留弹出的错误消息时,如何隐藏错误消息的"显示详细信息"部分? 如此,由于其技术细节,显示细节会使用户感到困惑。

下面是我使用的代码。

 oDataApprvMod.submitChanges({groupId:" appr_submit",

 成功:功能(oData,oResponse)
 {
 if(oData .__ batchResponses [0] .__ changeResponses!=未定义)
 {
 if(oData .__ batchResponses [0] .__ changeResponses [0] .statusCode =='201'&& oData .__ batchResponses [0] .__ changeResponses [0] .statusText =='已创建')
 {
 MessageBox.success("程序已成功提交批准",{title:"成功"}));
   }
     }
    } .bind(this),

  错误:function(oError){
    } .bind(this)
 });
 

以下是我收到的错误消息(截图)。 我想要错误弹出消息,但要删除"显示详细信息"部分。

有人建议我如何处理它? 是在UI5还是在后端处理?

(30.3 kB)

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

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


嗨,

我正在使用oDataModel.submitChanges()方法,并实现了成功和错误回调方法。 当submitChanges方法被调用时,我从后端返回一条消息,如下所示。

1)我的问题是,..为什么即使在调用回调函数之前仍出现此消息? 调用成功或错误回调时,此消息是否不应该出现?

2)当我仍想保留弹出的错误消息时,如何隐藏错误消息的"显示详细信息"部分? 如此,由于其技术细节,显示细节会使用户感到困惑。

下面是我使用的代码。

 oDataApprvMod.submitChanges({groupId:" appr_submit",

 成功:功能(oData,oResponse)
 {
 if(oData .__ batchResponses [0] .__ changeResponses!=未定义)
 {
 if(oData .__ batchResponses [0] .__ changeResponses [0] .statusCode =='201'&& oData .__ batchResponses [0] .__ changeResponses [0] .statusText =='已创建')
 {
 MessageBox.success("程序已成功提交批准",{title:"成功"}));
   }
     }
    } .bind(this),

  错误:function(oError){
    } .bind(this)
 });
 

以下是我收到的错误消息(截图)。 我想要错误弹出消息,但要删除"显示详细信息"部分。

有人建议我如何处理它? 是在UI5还是在后端处理?

(30.3 kB)
付费偷看设置
发送
5条回答
追夢秋陽
1楼 · 2020-09-01 19:17.采纳回答

找到了解决方案。

 oDataApprModel.attachRequestFailed(null,com.XXX.util.messages.showErrorMessage); 

以上代码在控制器中,然后在util类中实现了一种方法来解析错误消息。 这样,您可以转到错误消息和错误详细信息部分。 最初,我还显示了错误详细信息,现在我也将其注释掉了。那样,我现在只显示错误消息,而没有错误详细信息显示给用户。

 var sMessage ="",
 sDetails ="",

 如果(jQuery.sap.startsWith(sDetails," {\" error \":")){

 var oErrorMod = new sap.ui.model.json.JSONModel();
 oErrorMod.setJSON(sDetails);
 sMessage = oErrorMod.getProperty("/img/error/message/value");
 }
 
奄奄一息的小鱼
2楼-- · 2020-09-01 18:54

感谢您提供解决方案,以供将来参考。 :)

最诚挚的问候
Ronnie

大道至简
3楼-- · 2020-09-01 19:16

我认为您使用该模板生成了fiori应用。 因此,使用模板,在控制器文件夹中生成了一个名为" ErrorHandler"的文件,请检查该文件。 如果任何请求失败,该文件将引发错误。 您可以在此处进行修改。

感谢

Mahesh

葫芦娃快救爷爷
4楼-- · 2020-09-01 19:07
Venkata Sunil Naidu Chennam ,酷。我想到的第一件事是错误处理程序,因为它是最新版本(至少4年)。 可能您正在使用旧版本或某些自定义应用程序或标准应用程序 extension.Br
Mahesh
派大星 ヾ
5楼-- · 2020-09-01 19:18

我实际上正在使用Eclipse,因此它不是模板。 但我仍然应该能够听从您的建议。 让我尝试与您联系。 谢谢。

一周热门 更多>