ALV Grid 函数
ALV Grid 函数的输出有两个:REUSE_ALV_GRID_DISPLAY 和 REUSE_ALV_GRID_DISPLAY_LVC。(普通List列表:REUSE_ALV_LIST_DISPLAY)
两者的操作大同小异,只是后者能更好的和ALV容器结合使用(可以实现单元格级别是否能编辑控制),前者则不能;而在输入参数属性的结构上也有些差异。
对应的字段结构信息函数:REUSE_ALV_FIELDCATALOG_MERGE 和 LVC_FIELDCATALOG_MERGE。
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_GRID_TITLE:ALV 标题
I_GRID_SETTINGS:GRID信息
lw_glay-edt_cll_cb = 'X'. "设置参数回调,屏幕修改值,自动保存到ALV 内表
IS_LAYOUT / IS_LAYOUT_LVC:ALV输出布局样式
IT_FIELDCAT / IT_FIELDCAT_LVC:设定显示的项目名称及输出设定
IT_EXCLUDING:隐藏设置的ALV工具栏
IT_SORT / IT_SORT_LVC:ALV排序设置
IT_EVENTS:设置事件, 类型为slis_t_event的内表(name:事件名称,form:事件的FORM)
DATA: lt_event TYPE slis_t_event, lw_event TYPE slis_alv_event. lw_event-name = slis_ev_caller_exit_at_start . "alv显示的PAI lw_event-form = 'CALLER_EXIT' . "定义事件调用的FORM APPEND lw_event TO lt_event . lw_event-name = slis_ev_data_changed . "数据变化事件 lw_event-form = 'DATA_CHANGED' . "定义事件调用的FORM APPEND lw_event TO lt_event . *----------------------------------------------------------------------* FORM CALLER_EXIT USING LS_DATA TYPE SLIS_DATA_CALLER_EXIT. DATA: l_grid TYPE REF TO cl_gui_alv_grid. CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' IMPORTING e_grid = l_grid. "在标准屏幕中实现部分自定义屏幕PAI的功能,可以获取ALV的对象然后进行各种OO ALV的操作
"譬如注册双击,数据变化(也可以通过后面子程序实现)等事件 ENDFORM.
"第二种事件变化事件实现 FORM adata_changed USING pel_data TYPE REF TO cl_alv_changed_data_protocol. DATA: l_grid TYPE REF TO cl_gui_alv_grid. FIELD-SYMBOLS <fs_value>. CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' IMPORTING e_grid = l_grid. LOOP AT pel_data->mt_mod_cells INTO ls_cells. "循环变化数据,并处理 ENDLOOP. CALL METHOD l_grid->refresh_table_display. "内表变化后用来刷新ALV显示 ENDFORM.
I_DEFAULT:用户是否可以定义默认的布局,’X'-可以定义默认布局,Space-不可以定义默认布局 (默认:X)
I_SAVE:保存表格布局,’X'-只能保存全局变式;’U'-只能保存特定变式;’A'-都可以保存;Space-不能保存变式 (默认:space)
IT_FILTER / IT_FILTER_LVC:ALV过滤设置
IS_SEL_HIDE:替换或修改屏幕中select-option的值
IS_VARIANT:表格布局变式
IT_SPECIAL_GROUPS / IT_SPECIAL_GROUPS_LVC:若内表中一些字段通过SP_GROUP被分组在一起,必须为这些组传递组文本内表
I_CALLBACK_HTML_END_OF_LIST:ALV HTML格式页脚内容信息
I_STRUCTURE_NAME:为输出表数据结构的命名,指定了这个参数,域目录将会自动生成
I_BACKGROUND_ID:ALV背景图片Object ID
I_INTERFACE_CHECK: 检查接口一致性
I_BYPASSING_BUFFER: 是否使用缓存
I_BUFFER_ACTIVE:是否激活缓存,如果每次显示ALV都是相同的字段目录,则该字段目录会被放到一特殊的缓存里,加快显示速度。
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:使用超链接