在OData中将IV_FILTER_STRING转换为ABAP选择选项

2020-09-08 17:59发布

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

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


专家您好,

在将过滤器从fidata从Odata转换为ABAP时,我们面临着一个问题。

如下面的屏幕截图所示,iv_filter_string是从fiori发送的。 但是,it_filter_select_options未填充。

当用户一次性使用INCLUDE(带有包含模式)和EXCLUDE(屏幕截图2)时,就会发生此问题。

是否有任何通用/动态方式将iv_filter字符串转换为选择选项?

(19.8 kB)

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

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


专家您好,

在将过滤器从fidata从Odata转换为ABAP时,我们面临着一个问题。

如下面的屏幕截图所示,iv_filter_string是从fiori发送的。 但是,it_filter_select_options未填充。

当用户一次性使用INCLUDE(带有包含模式)和EXCLUDE(屏幕截图2)时,就会发生此问题。

是否有任何通用/动态方式将iv_filter字符串转换为选择选项?

(19.8 kB)
付费偷看设置
发送
1条回答
小c菟菟
1楼-- · 2020-09-08 18:48

过滤器选择选项-方法/IWBEP/IF_MGW_REQ_FILTER〜GET_FILTER_SELECT_OPTIONS


提供的选择选项确实有一些限制-这意味着对于某些$ filter查询选项,即使过滤器字符串不是初始的,也不会提供选择选项。 有关更多信息,请参见注释1671893。

在这种情况下,如果过滤器字符串不是初始的,但选择选项是初始的,则可以使用ABAP Open SQL WHERE子句或过滤器表达式树:

  1. 使用接口/IWBEP/IF_MGW_REQ_ENTITYSET的GET_OSQL_WHERE_CLAUSE方法获取Open SQL WHERE子句
  2. 使用接口/IWBEP/IF_MGW_REQ_ENTITYSET的GET_FILTER_EXPRESSION_TREE方法获取过滤器表达式树,然后实现访问者接口/IWBEP/IF_MGW_EXPR_VISITOR根据您的要求处理过滤器表达式树

一周热门 更多>