SAP Cloud SDK-使用in运算符执行过滤器

2020-08-20 07:31发布

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

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


嗨,

我正在寻找" in"的等效过滤器运算符。 我无法在文档中找到,而且我知道可以使用"或"运算符将所有ID绑定到OR运算符中,但是该ID将是动态的,并且我不知道运行多少个ID 时间。

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

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


嗨,

我正在寻找" in"的等效过滤器运算符。 我无法在文档中找到,而且我知道可以使用"或"运算符将所有ID绑定到OR运算符中,但是该ID将是动态的,并且我不知道运行多少个ID 时间。

付费偷看设置
发送
6条回答
追夢秋陽
1楼-- · 2020-08-20 08:10

" in"仅在 OData v4 。 您必须使用在v2或v2中链接的多个等号来实现此目的。

葫芦娃快救爷爷
2楼-- · 2020-08-20 08:06

您是否在使用v2或v4 OData服务?

何必丶何苦呢
3楼-- · 2020-08-20 08:06

正如Matthias所说 ," in"是OData v4协议中的保留字/过滤器操作。

从您的问题描述中,我认为您的意思是"包含"之类的东西,我认为OData v2中没有本机支持。 这就是为什么您要合并所有检查值,即合并多个OR。

示例代码:

 EntityFluentHelper entityFluentHelper = new DefaultEntityService()。getAllEntities();
 List  ids;
 HttpDestination httpDestination;

 可选的>表达式= Streams.stream(ids)
   .map(Entity.PropertyId :: eq)
   .reduce(ExpressionFluentHelper :: or);

 expression.ifPresent(entityFluentHelper :: filter);


 List  result = entityFluentHelper.execute(httpDestination); 
d56caomao
4楼-- · 2020-08-20 08:15

我正在使用v2 OData服务。

感谢Matthias。

路亽曱_Ryan
6楼-- · 2020-08-20 08:15

感谢Alex。 我将尝试这种方法。

一周热门 更多>