目录
REUSE_ALV_GRID_DISPLAY_LVC函数参数
前言
ALV是sap list viewer 的缩写,是sap中常用的经典报表的输出格式,其中经常使用的三种ALV函数如下:
LIST模式: REUSE_ALV_LIST_DISPLAY
GRID模式:REUSE_ALV_GRID_DISPLAY
REUSE_ALV_GRID_DISPLAY_LVC " 最新的标准函数(推荐使用)
其中REUSE_ALV_GRID_DISPLAY与REUSE_ALV_LIST_DISPLAY函数的参数基本相同,REUSE_ALV_GRID_DISPLAY_LVC函数中引用到的类型大部分都不再从类型池slis 中来引用(TYPE-POOLS:slis.),而是直接引用字典中已定义好的表或结构类型,这种函数属于新性函数,与面向对象的OOALV:CL_GUI_ALV_GRID生成的ALV参数类型上基本相同,所以如果使用函数方式来开发ALV报表,推荐使用REUSE_ALV_GRID_DISPLAY_LVC函数。
REUSE_ALV_GRID_DISPLAY函数参数
TYPE-POOLS:slis. "类型池
DATA:
gt_fieldcat TYPE slis_fieldcat_alv , " 相当于工作区
w_fieldcat TYPE slis_t_fieldcat_alv , " 存放输出栏位名称的列表
w_layout TYPE slis_layout_alv . " 负责整个ALV的全局属性
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = ' '"接口一致性检查
i_bypassing_buffer = ' '"是否使用缓存
i_buffer_active = ' '"是否激活缓存,如果每次显示ALV都是相同的字段目录,则该字段目录会被放到一特殊的缓存里,加快显示速度。
i_callback_program = gv_repid "用ALV的程序名称
i_callback_pf_status_set = 'FRM_SET_GUI' "定义触发工具栏定义的子程序
i_callback_user_command = 'FRM_USER_COMMAND' "单击alv工具栏按钮或双击行项目时触发所定义的子程序
i_callback_top_of_page = ' '"ALV抬头内容信息
i_callback_html_top_of_page = ' ' "ALV HTML格式抬头内容信息
i_callback_html_end_of_list = ' ' "ALV HTML格式页脚内容信息
i_structure_name = ''"为输出表数据结构的命名,指定了这个参数,域目录将会自动生成
i_background_id = ' '"ALV背景图片Object ID
i_grid_title = 'ALV输出' "ALV 标题
i_grid_settings = '' "GRID信息,网格设置
is_layout = w_layout "layout数据,ALV输出布局样式
it_fieldcat = gt_fieldcat "定义fieldcat数据
it_excluding = ''"隐藏设置的ALV工具栏
it_special_groups = ''"若内表中一些字段通过SP_GROUP被分组在一起,必须为这些组传递组文本内表
it_sort = gt_sort[]"排序设置
it_filter = ''"ALV过滤设置
is_sel_hide = ''"替换或修改屏幕中select-option的值
i_default = 'X'"用户是否可以定义默认的布局,’X'-可以定义默认布局,Space-不可以定义默认布局 (默认:X)
i_save = 'X'"保存表格布局,’X'-只能保存全局变式;’U'-只能保存特定变式;’A'-都可以保存;Space-不能保存变式 (默认:space)
is_variant = ''"表格布局变式
it_events = gt_event[]"出口程序触发事件,类型为slis_tevent的内表(name:事件名称,form:事件的FORM)
it_event_exit = ''"设置回调的方法的执行行为,表明用户所写的代码是在执行标准执行之前还是之后
is_print = ''"后台打印的相关参数
is_reprep_id = ''
i_screen_start_column = '0'"以对话框形式显示的开始列
i_screen_start_line = '0'"以对话框形式显示的开始行
i_screen_end_column = '0'"以对话框形式显示的结束列
i_screen_end_line = '0'"以对话框形式显示的结束行
i_html_height_top = '0'"HTML抬头的高度
i_html_height_end = '0'"HTML页脚的高度
it_alv_graphics = ''"是否可以在图表中显示ALV
it_hyperlink =''"使用超链接
it_add_fieldcat =
it_except_qinfo =
ir_salv_fullscreen_adapter =
importing
e_exit_caused_by_caller =
es_exit_caused_by_user =
tables
t_outtab = gt_print
EXCEPTIONS
program_error = 1
OTHERS = 2.
REUSE_ALV_GRID_DISPLAY_LVC函数参数
DATA:
gt_fieldcat TYPE lvc_t_fcat, "字段目录内表
w_fieldcat TYPE lvc_s_fcat, "字段目录工作区
w_layout TYPE lvc_s_layo. "用于定义ALV表单的相关格式、属性
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_interface_check = ' '"接口一致性检查
i_bypassing_buffer = ''"是否使用缓存
i_buffer_active = ' '"是否激活缓存,如果每次显示ALV都是相同的字段目录,则该字段目录会被放到一特殊的缓存里,加快显示速度。
i_callback_program = gv_repid "程序名称
i_callback_pf_status_set = ' '"定义触发工具栏定义的子程序
i_callback_user_command = ' '"单击alv工具栏按钮或双击行项目时触发所定义的子程序
i_callback_top_of_page = ' '"ALV抬头内容信息
i_callback_html_top_of_page = ' '"ALV HTML格式抬头内容信息
i_callback_html_end_of_list = ' '"ALV HTML格式页脚内容信息
i_structure_name = ''"为输出表数据结构的命名,指定了这个参数,域目录将会自动生成
i_background_id = ' '"ALV背景图片Object ID
i_grid_title = ''"ALV 标题
i_grid_settings = '' "GRID信息
is_layout_lvc = w_layout "layout数据
it_fieldcat_lvc = gt_fieldcat "定义fieldcat数据
it_excluding = ''"隐藏设置的ALV工具栏
it_special_groups_lvc = ''"若内表中一些字段通过SP_GROUP被分组在一起,必须为这些组传递组文本内表
it_sort_lvc = gt_sort[]"排序设置
it_filter_lvc = ''"ALV过滤设置
it_hyperlink = ''"使用超链接
is_sel_hide = ''"替换或修改屏幕中select-option的值
i_default = 'X'"用户是否可以定义默认的布局,’X'-可以定义默认布局,Space-不可以定义默认布局 (默认:X)'X'
i_save = 'X'"保存表格布局,’X'-只能保存全局变式;’U'-只能保存特定变式;’A'-都可以保存;Space-不能保存变式 (默认:space)' '
is_variant = ''"表格布局变式
it_events = gt_event[]"出口程序触发事件
it_event_exit = ''"设置回调的方法的执行行为,表明用户所写的代码是在执行标准执行之前还是之后
is_print_lvc = ''"后台打印的相关参数
is_reprep_id_lvc = ''
i_screen_start_column = '0'"以对话框形式显示的开始列0
i_screen_start_line = '0'"以对话框形式显示的开始行0
i_screen_end_column = '0'"以对话框形式显示的结束列0
i_screen_end_line = '0'"以对话框形式显示的结束行0
i_html_height_top = '0'"HTML抬头的高度
i_html_height_end = '0'"HTML页脚的高度
it_alv_graphics = ''"是否可以在图表中显示ALV
it_except_qinfo_lvc =
ir_salv_fullscreen_adapter =
IMPORTING
e_exit_caused_by_caller =
es_exit_caused_by_user =
TABLES
t_outtab =
exceptions
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
小结:后续将详细展开介绍常用的参数用法,请大家点赞收藏。