alv布局 sap_ABAP报表开发:ALV运用

一、ALV是什么?

ALV(SAP LIST VIEW)是一种比较美观的报表显示工具,具有网格显示方式,有排序、筛选、过滤、(分类)汇总等功能,数据以单元格为单位显示。

二、 ALV实现方法

ALV的实现方法有三种:

使用类CL_SALV_TABLE;

使用类CL_GUI_GRID_DISPLAY

使用Founction来实现的,REUSE_ALV_GRID_DISPLAY_LVC和REUSE_ALV_GRID_DISPLAY,两个函数都可以将数据用ALV的形式显示出来,只是在一些小的地方有些不同。这两个Function的底层也是基于类CL_GUI_GRID_DISPLAY。

其中这两个函数都用到的全局变量为:

1个类型池SLIS和一个指定列数的变量DATA: v_pos TYPE i ." 指定第几列

REUSE_ALV_GRID_DISPLAY_LVC函数用到的全局变量:

DATA: wa_fieldcat TYPE lvc_s_fcat , " 列名表的工作区

i_fieldcat TYPE lvc_t_fcat , " 存放列名的表

i_layout TYPE lvc_s_layo . " 负责整个ALV的布局属性 ```

#####三、 ALV实例

下面以REUSE_ALV_GRID_DISPLAY来介绍ALV的用法:

1. 全局变量声明

----------------------------------ALV 常用变量声明:------------------------

TYPE-POOLS:slis. "类型池

DATA: it_fieldcat TYPE slis_t_fieldcat_al WITH HEADER LINE, "列名集

i_layout TYPE slis_layout_alv, "设置布局

g_repid LIKE sy-repid . "程序名

*页头

DATA: wa_header TYPE slis_listheader,

it_header TYPE slis_t_listheader.

*排序、过滤

DATA: wa_sort_lvc TYPE slis_sortinfo_alv,

it_sort TYPE slis_t_sortinfo_alv,

it_filter TYPE slis_t_filter_alv .

2. 调用ALV Founction 显示

调用alv显示函数:

FORM display_data .

PERFORM f_alv_layout_build CHANGING i_layout.

PERFORM f_alv_fieldcat_build CHANGING it_fieldcat[].

PERFORM f_filter_build TABLES it_filter.

PERFORM f_sort_build TABLES it_sort.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = g_repid

i_callback_pf_status_set = 'SET_PF_STATUS' "ALV工具栏Subroutine(子程序名),没有自定义按钮时候,该参数可以不要,这时会显示ALV标准的按钮;

i_callback_user_command = 'USER_COMMAND' "LV User Command Subroutine(子程序名)实现对应菜单项的操作响应

i_callback_top_of_p

你可能感兴趣的:(alv布局,sap)