REUSE_ALV_GRID_DISPLAY_LVC函数输入参数属性的应用
前面我们讲过,ALV Grid 函数的输出有两个:REUSE_ALV_GRID_DISPLAY 和 REUSE_ALV_GRID_DISPLAY_LVC
两者的操作大同小异,只是后者能更好的和ALV容器结合使用,前后则不能;而在输入参数属性的结构上也有些差异。
本篇文章主要讲解下ALV函数中输入参数的一些应用。
首先了解下ALV函数输入参数的作用(粗体为常用参数):
I_INTERFACE_CHECK: 检查接口一致性
I_BYPASSING_BUFFER: 是否使用缓存
I_BUFFER_ACTIVE:是否激活缓存,如果每次显示ALV都是相同的字段目录,则该字段目录会被放到一特殊的缓存里,加快显示速度。
I_CALLBACK_PROGRAM:调用ALV的程序名称
I_CALLBACK_PF_STATUS_SET:ALV工具栏Subroutine(子程序)
I_CALLBACK_USER_COMMAND:ALV User Command Subroutine(子程序),实现对应菜单项及相应事件功能
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 / IS_LAYOUT_LVC:ALV输出布局样式
IT_FIELDCAT / IT_FIELDCAT_LVC:设定显示的项目名称及输出设定
IT_EXCLUDING:隐藏设置的ALV工具栏
IT_SPECIAL_GROUPS / IT_SPECIAL_GROUPS_LVC:若内表中一些字段通过SP_GROUP被分组在一起,必须为这些组传递组文本内表
IT_SORT / IT_SORT_LVC:ALV排序设置
IT_FILTER / IT_FILTER_LVC:ALV过滤设置
IS_SEL_HIDE:替换或修改屏幕中select-option的值
I_DEFAULT:用户是否可以定义默认的布局,’X'-可以定义默认布局,Space-不可以定义默认布局 (默认:X)
I_SAVE:保存表格布局,’X'-只能保存全局变式;’U'-只能保存特定变式;’A'-都可以保存;Space-不能保存变式 (默认:space)
IS_VARIANT:表格布局变式
IT_EVENTS:设置事件, 类型为slis_t_event的内表(name:事件名称,form:事件的FORM)
IT_EVENT_EXIT:设置回调的方法的执行行为,表明用户所写的代码是在执行标准执行之前还是之后
IS_PRINT:后台打印的相关参数
I_SCREEN_START_COLUMN:以对话框形式显示的开始列
I_SCREEN_START_LINE:以对话框形式显示的开始行
I_SCREEN_END_COLUMN:以对话框形式显示的结束列
I_SCREEN_END_LINE:以对话框形式显示的结束行
I_HTML_HEIGHT_TOP:HTML抬头的高度
I_HTML_HEIGHT_END:HTML页脚的高度
IT_ALV_GRAPHICS:是否可以在图表中显示ALV
IT_HYPERLINK:使用超链接
下面详细介绍下常用的输入参数:
定义调用程序名称,一般为当前程序sy-repid
2. I_CALLBACK_PF_STATUS_SET 参数
定义ALV屏幕菜单,此参数允许报表展现用户自定义的屏幕菜单,
参数类型为:SLIS_FORMNAME,指定自定义按钮的子FORM,该子FORM不显式的调用;
如:
i_callback_pf_status_set = 'FRM_SET_STATUS'
Form中的定义为:
FORM frm_set_status USING p_extab TYPE slis_t_extab. SET PF-STATUS 'Z_ALV_STATUS' . ENDFORM. " frm_set_status
2.1). 没有自定义按钮时候,该参数可以不要,这时会显示ALV标准的按钮;
当然这些按钮可以部分隐藏(见:IT_EXCLUDING 参数属性);
2.2). 当我们使用自定义按钮后,ALV自带的标准按钮,则会失效,这时需要将一些必要的按钮在工具条补上;
2.3). 其中 “分隔符” 的插入方法为:在需要插入分隔符的方框内,选择菜单:Edit->Insert-> Separator line 即可插入分隔符;
2.4). 下面是ALV中的标准工具的名称、代码、图标名称、快捷键:
名称 | 代码 | 图标名称 | 快捷键 |
刷新 | REFRESH | ICON_REFRESH | F8(可随便更改) |
导出为EXCEL表格 | EXCEL | 无 | Shift-F8(可随便更改) |
ABC 分析 | &ABC | ICON_ABC | Ctrl-F1 |
按升序排列 | &OUP | ICON_SORT_UP | Ctrl-F4 |
设置过滤器 | &ILT | ICON_FILTER | Ctrl-F5 |
总计 | &UMC | ICON_SUM | Ctrl-F6 |
邮件查收件 | %SL | ICON_MAIL | Ctrl-F7 |
更改布局… | &OL0 | ICON_ALV_VARIANTS | Ctrl-F8 |
选择布局… | &OAD | ICON_ALV_VARIANT_CHOOSE | Ctrl-F9 |
保存布局… | &AVE | ICON_ALV_VARIANT_SAVE | Ctrl-F10 |
信息 | &INFO | ICON_INFORMATION | Ctrl-F12 |
明细 | &ETA | ICON_SELECT_DETAIL | Ctrl-Shift-F3 |
按降序排列 | &ODN | ICON_SORT_DOWN | Ctrl-Shift-F4 |
删除过滤器 | &ILD | ICON_FILTER_UNDO | Ctrl-Shift-F5 |
小计 | &SUM |