从Fiori ABAP后端删除过滤器

问题描述

我试图从// can be populated using DSL.row(...); for each entry Collection<? extends Row3<Long,String,String>> values = ... dslContext.selectFrom(TABLE) .where(DSL.row(ID,OTHER_ID,STATUS).in(values)) .fetch(); 删除行,但是不知道如何。有什么方法可以做到吗?

我的URI在过滤器中传递值,但是有时在某些特定条件下,我不想使用它进行过滤,但是同时我想使用其他值进行过滤。

jOOQ

在第it_filter_select_options行出现此语法错误

字段不能更改

解决方法

IMPORTING定义输入参数。调用该方法时,必须为每个非可选的输入参数指定一个适当的实际参数。进行调用时,实际参数的内容将传递到输入参数。 定义了传递引用的输入参数的内容 在方法中无法更改 [1] >

将过滤器选择选项保存在本地表中。

Data(lt_select_options) = io_tech_request_context->get_filter( )->get_filter_select_options( ).

现在您可以修改lt_select_options

if foo = 'xyz'
"delete lt_select_options[ property = 'foo' ]-select_options[ sign = 'I' ].
delete it_select_options where property = 'foo'.
call method /iwbep/cl_mgw_data_util=>filtering
  exporting
   it_select_options = lt_select_options
  changing
   ct_data = et_entityset.
endif.
,
  1. 请使用io_tech_request_context->get_filter( )->get_filter_select_options( )

  2. 取消选中您不想过滤的字段的过滤器复选框。 (请参见事务SEGW,双击相关的OData实体)

  3. 不要在以编程方式表示的情况下评估不需要的过滤器。