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

问题描述 投票:0回答:1

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

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

<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>

怎么处理?

error-handling odata sapui5
1个回答
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将自动调用。
© www.soinside.com 2019 - 2024. All rights reserved.