基本(甚至可能是愚蠢的)SAP Gateway OData服务问题

2020-09-11 00:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)某些背景:我们的团队中没有人以前...

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

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


某些背景:我们的团队中没有人以前有过使用Gateway或OData的经验,但是由于项目截止日期迫在眉睫,我们正在努力尽快学习。 我一直在浏览SCN博客(特别感谢作者,非常有帮助),并且到目前为止,在新的" ABAP到未来"一书的帮助下,我已经能够创建一个运行的简单服务。

在这一点上,我有一些一般性的问题,这些问题看似很愚蠢,但是如果是这样的话,我可以采取"您在这里遥不可及"的答案。 如果我正确阅读,我们使用的是EHP6,Gateway 2.0 SP 12。

1。 如果服务只能接受一个值,例如PARAMETER,该怎么办? 我阅读了此博客中介绍了如何实现过滤器并很好地理解它,但从本质上讲,过滤器看起来与选择选项等效。 有没有办法改变它或做一些不同的事情? 还是我们在"参数思维"方式上根本上是错误的?

2。 与p有关。 1-是否可以轻松实现OBLIGATORY之类的东西? 即 该服务需要提供一定的价值,否则它将无法正常工作。

3。 将成功/错误消息返回给服务使用者的良好实践是什么? 在什么情况下服务应该引发异常而不是仅返回错误消息? (我不确定这些选项如何对服务使用者起作用。)返回消息的最佳方法到底是什么? 一些字符串表? BAPIRET2似乎太重了...我发现了一些有关消息和异常的现有问答(附件A ),但它们与非常具体的情况有关,我正在寻找一般指导。

谢谢!

13条回答
悻福寶寶
2020-09-11 00:49

您好,Jelena,

因为您已经收到很多正确且有用的答案,所以我只在此处添加一些评论 :

1。

正如 Amarpreet Singh 所述, 如果您不想使用$ filter = myproperty eq ,则函数Import可能是您的解决方案,因为函数Imports接受诸如…/employeedforhowmanyyears?empid = 12345之类的参数。

此外,该选项 使用搜索字符串。

 searchstring = io_tech_request_context-> get_search_string()。  

2 a)

默认情况下,函数导入的参数是必需的。
您必须按照此处,使其成为可选项/可为空:-)。

2b)

如果 对于CDS视图有一个必填字段,您可以使用注释

@ ObjectModel.mandatory:true

,但这可能对您没有帮助,因为您说过您正在从事 SAP Gateway 2.0 SP12,因此不在SAP NetWeaver 750或更高版本上。

上面提到的注释产生以下注释:

 
 
  

Book:

还有一本书涵盖了SAP网关,从SAP Gateway 2.0到SAP Cloud Platform ABAP环境中可用的ABAP RESTful编程模型。

SAP网关和OData的第三版

最好的问候

安德烈

一周热门 更多>