智能过滤多个排除

2020-08-25 17:51发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我目前正在使用UI5中的...

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

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


嗨,

我目前正在使用UI5中的智能过滤器栏。 我想排除多个项目,这给了我这样的oData服务:

$ skip = 0&$ top = 110&$ filter = Acc ne'106280'和Acc ne'110000'&$ select = *

根据我的理解,这是正确的,但是当我们称之为"正确"时。 在后端中,我们填充了IT_FILTER_STRING,但未填充IT_FILTER_SELECT_OPTIONS。

当我们从网关客户端调用服务时,也会发生这种情况。 这样就排除了ODP等问题。

任何帮助都会很好。 谷歌搜索时,我发现了一些类似的问题,但没有真正的解决方法或根本原因。


关于

乔丹。

1条回答
土豆飞人
2020-08-25 18:16

您好 Jordan Ryan

同一属性的" AND"运算符将被视为复杂的过滤器 且仅在it_filter_options表中不可用,否则将为多个值填充同一属性的OR运算符。

您可能必须阅读过滤器字符串并手动获取过滤器。

也可以看看这些方法,这些方法可以将您的过滤器字符串转换为内部表中的可读格式,但是它们属于SADL层,您的ABAP版本可能会有它。

 新的cl_sadl_gw_condition_parser()-> get_condition(导出iv_condition = lv_filter_string导入et_condition = DATA(lt_condition))。
//LT_CONDITION将仍然无法读取。
//检查类CL_SADL_GW_DPC_HELPER的方法_GET_FILTER_CONDITION,该方法正在使用本地处理程序类将上述数据转换为更具可读性的格式。

 lcl_condition_handler => condense(导出it_complex_condition = lt_condition导入et_condensed_condition = et_condition)。

 

谢谢

Mahesh

一周热门 更多>