使用批处理模式处理OData异常

时间:2017-12-13 14:29:23

标签: error-handling odata sapui5

我正在实施SAPUI5(类似Fiori)应用程序,它在一个批处理中调用多个CREATE操作。现在我刚刚重新定义了方法/ IWBEP / IF_MGW_APPL_SRV_RUNTIME~CHANGESET_BEGIN / END,并且多次调用了正确的方法。没有错误时工作正常。

如何在CREATE_ENTITY方法中抛出业务异常以在ForntEnd层获取消息?在控制台中,我只能看到:

<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
   <code>005056A509B11ED1B9BF9F46AA8E82ED</code>
   <message xml:lang="en">In the context of Data Services an unknown internal server error occured</message>
</error>

如何处理?

1 个答案:

答案 0 :(得分:0)

我自己解决了。

  1. 重新定义/ IWBEP / IF_MGW_APPL_SRV_RUNTIME~CHANGESET_BEGIN而不是 实现任何代码。这将允许调用多个操作(例如。 _CREATE_ENTITY)一批。

  2. 相应地实施_CREATE_ENTITY,进行必要的检查并准备要处理的数据(创建/更新),不要在该方法中使用COMMIT。

  3. 重新定义/ IWBEP / IF_MGW_APPL_SRV_RUNTIME~CHANGESET_END并调用所有需要的BAPI或SQL INSERT / UPDATE语句。如果出现任何错误抛出/ IWBEP / CX_MGW_BUSI_EXCEPTION - 它将在前端正确处理。 COMMIT将自动调用。

相关问题