ALV简介
ALV-ABAP List Viewer,也称SAP List Viewer,这里姑且称之为ABAP表单浏览器,用它可以标准化、简单化R/3系统中的表单,它可以提供给用户一个统一的表单格式以及用户接口。
ALV Grid Control是一个显示列表的灵活工具,它提供了基本共功能的列表操作,也可以通过自定义来进行增强,因此可以在大型的应用程序中使用。在SAP的开发项目中,ALV Grid也可也作为修改和创建数据的一种工具。它包括3大部分:工具栏、标题、用于显示数据的网格控制器。如果有必要,用户可以隐藏标题和工具栏。
ALV布局
下图中的这个ALV的布局,是一般ALV程序表单的典型布局。
根据上面对ALV的直观形象,下面将屏幕上的区域划分成几块,分别来解释它的作用。
1.快捷工具栏。
2.表单标题区:这个区域主要用来显示一些抬头信息(总览信息),类似于World中的页眉。在使用的时候根据需要来进行相关填写。
3.表单显示区:这个区域主要用来显示通过代码筛选出来的数据,相关的操作在下面的程序编写部分进行详细介绍。
程序实现
步骤一、定义ALV所要用到的类型池:TYPE-POOLS: SLIS。
如果使用函数调用ALV必须要用到TYPE-POOLS: SLIS。这个类型池里包含了ALV所有要用的类型,当有某个字段名称忘记的时候可以到这个类型池里查找相应的字段。
步骤二、定义ALV所要显示的数据对应的内表数据类型以及内标数据对象。
步骤三、定义一些显示ALV时所要使用的变量,例如:
字段信息决定了ALV到底输出哪些信息。通常有两种方式:一是手动编辑,二是通过构造体自动生成。
步骤四、定义选择屏幕。
步骤五、声明各个选择屏幕事件块。
1.定义INITIALIZATION部分
2.定义输入检查
如果有需要,可定义AT SELECTION-SCREEN ON VALUE-REQUEST、AT SELECTION-SCREEN OUTPUT等事件。
3.定义START-OF-SELECTION部分,在这通常会调用各种子程序(以下以标准ALV显示为例)
通过一个子程序,用于获取ALV所要显示的数据。