理论教育 如何在ALV输出中设置过滤器?

如何在ALV输出中设置过滤器?

时间:2023-05-31 理论教育 版权反馈
【摘要】:使用过滤器,可以限制ALV输出显示的数据记录。设置筛选条件过滤器的条件包括以下内容:1)检查行的比较值。表 6-59忽略大小写默认情况下,当过滤条件查找数据记录时,过滤器区分大小写。表 6-60设定一列禁止过滤可以明确地禁止某个字段的过滤。

如何在ALV输出中设置过滤器?

使用过滤器,可以限制ALV输出显示的数据记录。要做到这一点,可以在一个特定的字段中指定条件的数据记录,以满足要显示或过滤掉数据。

可以对过滤器对象进行以下设置:

● 创建、获取或删除字段中的过滤条件。

● 设定筛选条件。

● 忽略大小写。

● 设定一列禁止过滤。

● 使用另一个字段的值过滤。

● 在工具栏上的“过滤器”设置页面中隐藏或显示过滤标签页。

(1)创建、获取或删除字段中的过滤条件

不像排序条件,程序员可以为每个字段创建无限的过滤条件。

注:程序员只可以对没有禁止的列创建过滤条件。

过滤是ALV输出中一个字段的属性。创建、获取或删除字段的过滤条件,可以使用接口类IF_SALV_WD_FILTER(实现类CL_SALV_WD_FIELD)的方法,见表6-58。

6-58

978-7-111-54749-5-Chapter06-68.jpg

一个对象的类CL_SALV_WD_FILTER_RULE代表一个字段的过滤条件。

注:如果用一个新的结构分配一个新的数据表到ALV输出,则所有字段的所有过滤器条件会被自动删除。

(2)设置筛选条件

过滤器的条件包括以下内容:

1)检查行的比较值。比较值可以是一个单独的值或范围。用户角度输入的是下限的值LOW_VALUE),作为一个范围,用户需输入一个上限的值(HIGH_VALUE)。

2)比较字段值和比较值大小操作。使用这个规范的,用户可以指定单元格的值和比较值之间的关系(如大于、小于或等于)。

3)包含或排除。使用这个规范的,可以指定是否显示不符合条件的行。

要更改设置的过滤条件,可以使用类CL_SALV_WD_FILTER_RULE方法,见表6-59。(www.daowen.com)

6-59

978-7-111-54749-5-Chapter06-69.jpg

(3)忽略大小写

默认情况下,当过滤条件查找数据记录时,过滤器区分大小写。当用户输入比较值时必须完全正确地输入值,以获得所需的结果。

可以设置忽略大小写。要做到这一点,可以使用接口类IF_SALV_WD_FIELD_ SETTINGS(实现类CL_SALV_WD_CONFIG_TABLE)的方法,见表6-60。

6-60

978-7-111-54749-5-Chapter06-70.jpg

(4)设定一列禁止过滤

可以明确地禁止某个字段的过滤。这具有以下效果:

● 如果ALV输出被过滤,则过滤器行会自动显示,可以看到当前为每列设置的过滤。用

户可以快速输入过滤条件。

● 如果不允许在一个字段中过滤,则过滤器中的行的相应单元格是空的并且不可输入。

● 在“设置”对话框中,“筛选器”选项卡页面中的相应列不再可用。

● 如果在应用程序中定义了这一字段的过滤条件,则过滤条件对ALV输出没有影响。

要禁止某个字段的筛选,可使用接口类IF_SALV_WD_FILTER(实现类CL_SALV_ WD_FIELD)的方法,见表6-61。

6-61

978-7-111-54749-5-Chapter06-71.jpg

(5)使用的另一个字段的值过滤

可以指定一个字段,根据该字段对当前字段进行过滤。如果该字段不能返回所需的结果或者需要过于复杂的输入,则可以使用接口类IF_SALV_W D_COLUMN_SERVICE_REF(实施类CL_SALV_WD_COLUMN的)的方法,见表6-62。

6-62

978-7-111-54749-5-Chapter06-72.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈