如何在OData服务中返回大量消息?

2020-09-25 01:37发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在使用OData服务来调用...

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

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


我们正在使用OData服务来调用BAPI_SALESORDER_SIMULATE。 对于非常大的订单(超过1000行),可以在参数表MESSAGETABLE中返回许多消息。 我们想将这些消息返回给服务的使用者/调用者,但是如何处理这么多消息呢?

由于没有UPDATE_DEEP_ENTITY(PUT),我们正在使用CREATE_DEEP_ENTITY(POST)。

我们研究了以下选项:

A)我们在http-header参数sap-messages中返回消息。 这显然无效,因为此参数可以包含的内容显然有限。

B)有人建议使用复杂类型-但显然它与实体(在本例中为SalesOrder)之间存在1:1关系。 这意味着我们最多只能返回一条消息。

C)然后,我们想为消息创建一个单独的实体,并将其返回到响应正文中。 但是看来,不可能返回请求中没有的任何实体。

我对A,B和C的结论有误吗-也许我错过或误解了某些东西吗?

如果我正确地说不能同时使用A,B或C来解决问题,那么该如何解决呢?

我们目前的解决方案/解决方法是,当从BAPI返回100条以上的消息时,我们仅向请求者返回一条消息,即"消息太多。无法显示"(或类似的内容)。

谢谢。

4条回答
SC_Yao
2020-09-25 02:35

嗨Ralph,

感谢您的回答和帮助。 我很高兴得到确认,我并没有错。 我将与同事讨论您对解决方法的建议。

关于OData V4,我什么也没听到,也不知道;)

谢谢

Michael

一周热门 更多>