MessageBox.success('You will be navigated back to the Fiori Launchpad', {
onClose: () => {
const oCrossAppNavigator = sap.ushell.Container.getService("CrossApplicationNavigation")
oCrossAppNavigator.toExternal({
target: {
semanticObject: "#"
}
})
}
})
Tag: Message Box
[SAPUI5] Suppress default oData error message / display meaningful error messages
Create a separate ErrorHandler.js file, like it is described here and either do your own error handler implementation, or take the sample from here. To avoid displaying multiple errors at once, follow this chapter.
Thanks to the provided dsag sample, this is takes only a few minutes and improves the user experience a lot!
[SAPUI5] Parse error message
If the error response is type json:
oModel.callFunction("/myFunction", {
method: "GET",
urlParameters: {
ID: myID,
},
success: oData => console.log(oData),
error: oError => MessageBox.error(JSON.parse(oError.responseText).error.message.value, { title: "An error occurred" })
});
If the error response is coming from a Gateway and has an XML body (link):
MessageBox.error(jQuery.parseXML(oError.response.body).querySelector("message").textContent)
[SAPUI5] Message Box
https://experience.sap.com/fiori-design-web/message-box/
https://sapui5.hana.ondemand.com/#/entity/sap.m.MessageBox
https://sapui5.hana.ondemand.com/#/api/sap.m.MessageBox
onRemoveItem: function (oEvent) {
const sPath = oEvent.getSource().getParent().getBindingContext().getPath()
const oModel = this.getView().getModel()
MessageBox.confirm(
this.getModel("i18n").getProperty("MessageBoxText"),
{
actions: [MessageBox.Action.YES, MessageBox.Action.NO],
emphasizedAction: MessageBox.Action.YES,
onClose: sAnswer => {
if (sAnswer === MessageBox.Action.YES) oModel.remove(sPath)
}
}
)
},