点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我在后端开发系统中构建了一个oData服务,并且实现了GET_ENTITYSET方法,该方法仅选择整个表。 我正在通过单独的SAP Gateway Server调用服务。 我希望能够在URL调用中过滤此数据。 当我在浏览器中调用该服务时,我得到了预期的整个结果表。 当我添加过滤器参数时,我仍会获得所有结果,这并不适用过滤器。 关于这是为什么的任何想法? 以下是更多详细信息:
实体集" DriversSet":
实体类型"驱动程序":
GET_ENTITYSET方法:
来自网关服务器的请求(没有过滤器,成功执行,按预期返回):
来自网关服务器的请求(添加的过滤器,成功执行,但实际上并未过滤任何数据,再次返回完整结果):
感谢您的帮助,
欧文
EntitySets.PNG (18.0 kB)
Gateway Framework不会为您执行任何过滤器。
必须在数据提供程序中显式完成该实现。 您需要使用方法GET_ENTITYSET中IT_FILTER_SELECT_OPTIONS可用的值来缩小结果的范围。
从逻辑上讲,从网关层进行默认实现不是一个好主意,因为
您总是从数据库中提取额外的数据,这些数据最终会被网关过滤掉。
与其在框架级别执行操作,不如在SELECT语句或BAPI上选择数据的地方更有效地完成操作。
您可以参考如何使用基于代码的实现为OData服务开发查询选项, 一些示例
非常感谢你们。 我还没有找到该文章,其他所有文章都未提及后端过滤oData服务的编码,我相信他们认为这部分已经完成。 我将先回过头来实现这一部分。
再次感谢
Owen
你好Owen,
这太怀疑了,假设您正在使用BAPI映射用于读取和查询操作...。能否向我们展示
如果要成为您,我首先将检查BAPI在se37 tcode中是否工作正常并运行并对其进行测试。
如果是,然后清除缓存 并再次从Gateway客户端进行检查。
通常清除缓存帮助并且可以运行很多次。
希望这会有所帮助。
Regs, p>
PG
嗨,欧文斯,我也遇到了类似情况。 我在get实体集中实现了这个简单的代码。 我正在访问一个表,并希望可能使用两个过滤器来替代检索数据。 它为我工作。 希望代码清楚并且有帮助。
干杯,拉斐尔
一周热门 更多>