基本(甚至可能是愚蠢的)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条回答
My梦
2020-09-11 00:55 .采纳回答

嗨耶琳娜,

1。 如果只想接受一个参数,则必须在segw/项目中定义一个键,然后重新定义get_entity方法。 这将仅导入实体集的一行,但是您也可以只返回一行。 如果您想要更多,则需要使用$ filter并开发自己的支票。 在那里,您需要重新定义get_entityset。

2。

3。也可以通过重新定义来完成此操作,只需将您的内容放入其中,并在异常情况下抛出异常。

3。 取决于您要退货的内容。 我同时使用,视情况而定。 现在,我为网上商店开发了一些休息服务,在这里,我使用了内部使用的bapi的返回结构。 在开发一些服务来更新表之前,在这种情况下,我只是使用了异常。 因此,实际上取决于行的另一端。

如果您想了解有关该主题的更多信息,我还可以在github上分享一些代码。

〜Florian

一周热门 更多>