ALV输出可以作为一个层次显示,其步骤如下:
● 指定层次结构中的列。可以指定一个或多个列的层次结构列。
● 指定显示类型。可以定义ALV输出的层次结构。
也可以指定所有的层级为可扩展的。默认情况下,当ALV输出显示时只有行的层次上是可见的。
(1)层次结构
作为层次结构显示ALV输出中列上具有以下的效果:
1)ALV输出会自动根据所有层级列进行排序。
2)默认情况下,排序顺序(层级的序列)由列对象序列确定。程序员可以用以下不同的方式更改层级的顺序:
● 更改(层次)列的位置。
● 更改用于结构列顺序排序字段的层次。
3)定义的层次结构列的列不会以通常的形式显示。相反,所有的层次结构的所有列的值一起被显示在第一列中。该值根据它所属的层级缩进。
4)一个层次结构的第一列中的值有一个小的箭头图标。用户可以利用这个箭头图标显示或隐藏所有较低级别的数据记录。
可以指定列中的数据中最后的层次结构不作为一个带有一个箭头图标节点显示,可用一个点作为叶子显示。
5)默认情况下,只有较高层次级别的行显示。较低层级不会被扩展,因此不显示。
6)第一列的层次结构不是一个类CL_SALV_WD_COLUMN的对象实例。
7)列的列标题、每个层次结构列的列标题被列在一起。
8)层次列或它们的值(因为本身是不显示的列)是不能隐藏的。
注:页面“设置”对话框的“Column Selection”选项卡中会显示绿色的层次结构中的列用户不能将它们设为隐藏列。(www.daowen.com)
(2)指定层次结构中的列
要定义层次结构中的列可使用接口类IF_SALV_WD_COLUMN_HIERARCHY(实现类CL_SALV_WD_COLUMN)的方法,见表6-43。
表 6-43
(3)指定显示类型
定义ALV输出为一个层次,从而确定显示的类型,可以使用接口类IF_SALV_WD_ TABLE_SETTINGS(实现类CL_SALV_WD_CONFIG_TABLE)的方法,见表6-44。
表 6-44
(4)扩展较低层级
对于层次结构显示,ALV输出第一次显示时加载的所有数据。大量的数据可能会导致加载时间长。默认情况下,只有行的层次被显示出来。较低层级不会被扩展,因此不显示。
程序员也可以指定扩大所有的层级。要做到这一点,可以使用接口类IF_SALV_WD_ TABLE_HIERARCHY(实现类CL_SALV_WD_CONFIG_TABLE)的方法,见表6-45。
表 6-45
(5)显示层次结构列数据为叶(Leaf)
要在第一列的层次结构中显示最后的层次结构中的数据列作为叶,使用接口类IF_SALV_WD_TABLE_HIERARCHY(实现类CL_SALV_WD_CONFIG_TABLE)的方法,见表6-46。
表 6-46
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。