1、REUSEALVGRIDDISPLAY超详细讲解一、REUSE_ALV_GRID_DISPLAY详解调用功能模块: CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING i_interface_check = 接口一致性检查 i_callback_program = sy-repid 当前程序名 is_layout = layout 输出样式 it_fieldcat = fieldcat 字段定义描述表 i_callback_pf_status_set = PF_STATUS_SET 触发事件调用子程序 i_callback_user_command =
2、 USER_COMMAND 鼠标事件操作子程序 it_events = i_events 出口程序触发事件 i_callback_html_top_of_page = ALV_TOP_OF_PAGE ALV输出表头设置 i_grid_settings = wl_lvc_s_glay 打印表头设置 it_sort = sortable 排序设置 TABLES t_outtab = ig_out EXCEPTIONS program_error = 1 OTHERS = 2. 常用属性:(赋值中内容必须为大写)1 Fieldcat data: fieldcat type slis_t_fieldc
3、at_alv with header line. it_fieldcat = fieldcat 属性(用来定义表单中的各个列的相关信息) Fieldcat-col_pos = n. 输出列 Fieldcat-tabname = FIELDNAME. 对应的内表字段名Fieldcat-seltext_s/m/l = 列名. 输出列文本(_s:短文本_l:长文本) Fieldcat-emphasize = CX10. 带有颜色的高亮列(其中X=(1-7)颜色同format) Fieldcat-hotspot = X. 作为热点显示可触发鼠标触发事件 Fieldcat-currency = CURR
4、KEY. 表 TCURX 中的货币名称 Fieldcat-quantity(3) 计量单位 Fieldcat-qfieldname 参考计量单位的字段名称 Fieldcat-round = n. 四舍五入至小数位数下n 位 Fieldcat-exponent = n. 浮点数的幂指数为n Fieldcat-key = X. 关键字段 Fieldcat-icon = X. 作为图标输出 Fieldcat-symbol = X. 输出作为符号 Fieldcat-checkbox = X. 作为复选框输出 Fieldcat-just = SPACE, R, L, C. 对齐方式 Fieldcat-l
5、zero = X. 输出前导零 Fieldcat-no_sign = X. 输出抑制符号 Fieldcat-no_zero = X. 为输出隐藏零 Fieldcat-edit_mask = SPACE, mask. 输出为mask的模式 Fieldcat-fix_column = X. 固定列 Fieldcat-do_sum = X. 总计列值总和 Fieldcat-no_out = X. 列不输出 Fieldcat-tech = X. 该字段为技术字段 Fieldcat-outputlen = n 列的字符宽度为n Fieldcat-decimals_out = n 能控制小数点的位数为n
6、Fieldcat-datatype = C,I,N 定义数据类型2 SORTdata: sortable type slis_t_sortinfo_alv with header line.it_sort = sortable属性(排序) Sortable-Fieldname 字段名 Up 升序排列 Down 降序排列 Subtot 3 Layout data: layout type slis_layout_alv . is_layout = layout 属性 (用于定义ALV表单的相关格式、属性) info_fieldname = LINE_COLOR. 设置特殊行颜色(将LINE_CO
7、LOR增加到内表字段,写CX10到特殊行的LINE_COLOR, X为颜色值) colwidth_optimize = X. 优化列宽设置no_colhead = X. 不显示列名no_vline = X. 不显示列间竖线zebra f2code = &ETA. 设置触发弹出详细信息窗口的功能码,这里是双击no_vline 这个用来设置列间隔线 detail_initial_lines detail_popup 是否弹出详细信息窗口 detail_titlebar 设置弹出窗口的标题栏 totals_text totals_only group_change_edit header_text4
8、按钮 DATA: i_events TYPE slis_t_event WITH HEADER LINE. 事件: it_events = i_events i_callback_pf_status_set = PF_STATUS_SET i_callback_user_command = USER_COMMAND 出口程序触发事件对应子程序:FORM PF_STATUS_SET USING rt_extab TYPE slis_t_extab. FORM user_command USING ucomm LIKE sy-ucomm selfield TYPE slis_selfield. 系
9、统按钮功能码: 功能代码: 函数文本: 图标名称:&ETA 细节 ICON_SELECT_DETAIL&EB9 调用报告. ICON_TABLE_SETTINGS&REFRESH 刷新 ICON_REFRESH&ALL 全部选择 ICON_SELECT_ALL&SAL 取消全选 ICON_DESELECT_ALL &OUP 按升序排列 ICON_SORT_UP&ODN 按降序排列 ICON_SORT_DOWN &ILT 设置过滤器 ICON_FILTER &UMC 总计 ICON_SUM &SUM 小计. ICON_INTERMEDIATE_SUM &RNT_PREV 打印预览 ICON_LA
10、YOUT_CONTROL &VEXCEL Microsoft Excel ICON_XLS&AQW 字处理. ICON_WORD_PROCESSING %PC 本地文件 . ICON_EXPORT%SL 邮件收件人 ICON_MAIL&ABC ABC 分析 ICON_ABC &GRAPH 图形 ICON_GRAPHICS &OL0 更改布局. ICON_ALV_VARIANTS &OAD 选择格式. ICON_ALV_VARIANT_CHOOSE &AVE 保存格式. ICON_ALV_VARIANT_SAVE &INFO 信息 ICON_INFORMATION 4 ALV表头设置 i_cal
11、lback_html_top_of_page = ALV_TOP_OF_PAGEform top_of_page using cl_dd type ref to cl_dd_document.语法同HTML fomat 二、 REUSE_ALV_GRID_DISPLAY 常用参数用法by liyily_liyiNeusoft Group ERP DivisionJan.2008This document contains 17 pages. It can be transmitted or printed as a whole. No portion of it can be modified
12、 or reproduced without the written permission from the author. Table of ContentsKEY WORDS : REUSE_ALV_GRID_DISPLAY 参数 1.前提条件ALV Report是SAP中一种常见的报表展现形式,它可以标准化、简单化R/3系统中的表单,可以提供给用户一个统一的表单格式以及用户接口。ALV既能显示简单表单(SIMPLE LIST)又能显示有序表单(SEQUENTIAL LIST),编写一个ALV程序包含以下基本流程: 第一步:定义将要用到的表,即TALBES定义部分,然后定义TYPE-POO
13、LS: SLIS 第二步:定义“第一步”中提到的这些数据类型或者内表的实体对象 第三步:定义一些需要用到的变量 第四步: 定义自己的选择屏幕 第五步: 定义INITIALIZATION部分,在这个部分往往要指定w_repid的值, w_repid = sy-repid 第六步: start-of-selection部分 用一个子函数完成对ALV表单标题区域的赋值(i_list_comments) 用一个子函数完成自己所需要数据的抓取 用一个子函数完成要显示列表的列名行(第一行)的相关赋值(i_fieldcat_alv)以及设置 用一个子函数完成输出格式的设置(i_layout) 用一个子函数F
14、ORM DISPLAY_DATA来显示上面封装好的数据,需要调用两个常用的FUNCTION MODULE: FUNCTION REUSE_ALV_GRID_DISPLAY “显示表单数据 FUNCTION REUSE_ALV_COMMENTARY_WRITE “显示表单标题本文将着重介绍ABAP中显示表单数据REUSE_ALV_GRID_DISPLAY函数中常用参数的含义及用法,REUSE_ALV_LIST_DISPLAY中参数与此类似。由于本文介绍ALV表单标题输出函数,需要读者对简单ALV报表有所了解。文档最后通过一个实例演示了该函数中常用参数的实际用法及效果。2.开发实例ALV报表需要展
15、现的数据抓取封装完成以后,需要用到FUNCTION输出数据,一个常用的FUNCTION MODULE是REUSE_ALV_GRID_DISPLAY,该函数将以GRID风格将数据展现给前台用户。该函数主要包含以下常用参数:参数名称默认值用法I_INTERFACE_CHECKSPACE接口一致性检查I_BYPASSING_BUFFERSPACE是否使用BUFFERI_BUFFER_ACTIVESPACE如果每次显示ALV都是相同的字段目录,则该字段目录会被放到一个特殊的缓存里,加快ALV的显示速度。I_CALLBACK_PROGRAMSPACE调用程序名称I_CALLBACK_PF_STATUS_
16、SETSPACE设置屏幕菜单I_CALLBACK_USER_COMMANDSPACE实现对应菜单项及相应事件功能I_CALLBACK_TOP_OF_PAGESPACE设置ALV表头I_CALLBACK_HTML_TOP_OF_PAGESPACE加入HTML格式的表头I_CALLBACK_HTML_END_OF_LISTSPACE加入HTML格式的表尾I_STRUCTURE_NAME为输出表数据结构的命名,指定了这个参数,域目录将会自动生成I_BACKGROUND_IDSPACE设置报表背景I_GRID_TITLE设置抬头信息I_GRID_SETTINGS打印表头设置IS_LAYOUT设定输出样
17、式IT_FIELDCAT设定显示的项目名称及输出设定IT_SPECIAL_GROUPS如果字段目录中一些字段通过SP_GROUP被分组在一起.必须为这些组传递一个组的文本内表IT_SORT排序设置IT_FILTER过滤设置I_DEFAULTX用户是否可以定义默认的布局:X 可以定义默认布局,SPACE 不可以定义默认布局I_SAVESPACE保存表格布局:X 只能保存全局变式U 只能保存特定变式A 都可以保存SPACE 不能保存变式IS_VARIANT管理表格布局IT_EVENTS设置抬头和结尾IT_EVENT_EXIT设置回调的方法的执行行为,表明用户所写的代码是在执行标准执行之前还是之后I
18、S_PRINT从后端开始打印的参数I_SCREEN_START_COLUMN0对话格式展现的开始列I_SCREEN_START_LINE0对话格式展现的开始行I_SCREEN_END_COLUMN0对话格式展现的结束列I_SCREEN_END_LINE0对话格式展现的结束行I_HTML_HEIGHT_TOP0HTML表头高度I_HTML_HEIGHT_END0HTML表尾高度IT_ALV_GRAPHICS是否可以在图表中显示ALVIT_HYPERLINK使用超链接T_OUTTAB需要展现的表下面针对常用的输入参数进行详细介绍:I_CALLBACK_PROGRAM:定义调用程序名称,一般为当前程
19、序sy-repid。I_CALLBACK_PF_STATUS_SET:定义屏幕菜单,此参数允许报表展现用户自定义的屏幕菜单。如设定i_callback_pf_status_set=PF_STATUS_SET定义如下FORM,程序自动调用PF01菜单。FORMPF_STATUS_SETUSINGrt_extabTYPEslis_t_extab.setpf-statusPF01.ENDFORM.I_CALLBACK_USER_COMMAND:此参数响应菜单项及相应事件。如I_CALLBACK_USER_COMMAND =USER_COMMAND点击相应的按钮或双击等操作触发对应定义的事件。FORM
20、user_commandusingi_ucommlikesy-ucommis_selfieldtypeslis_selfield.casei_ucomm.when&IC1.messagei888(sabapdocu)withDOUBLECLICKED!.whenCREATE.messagei888(sabapdocu)withCREATE.CALLSCREEN1001.endcase.ENDFORM.I_CALLBACK_TOP_OF_PAGE:设置ALV表头信息。如I_CALLBACK_TOP_OF_PAGE=TOP-OF-PAGEFORMTOP-OF-PAGE.DATA:t_headerT
21、YPEslis_t_listheader,wa_headerTYPEslis_listheader,t_lineLIKEwa_header-info,ld_lineTYPEi,ld_lineseTYPEc.wa_header-typ=S.标题字体大小.wa_header-info=the top of alvprogram.alv页上方的标题.APPENDwa_headerTOt_header.CALLFUNCTIONREUSE_ALV_COMMENTARY_WRITE输出表标题.EXPORTINGit_list_commentary=t_headeR.ENDFORM.此参数设置的表头格式如下
22、:IT_FIELDCAT:设定显示的项目名称。如设定it_fieldcat=fieldcat_alv下面将信息填充至fieldcat_alv后,报表运行时自动展现填充的信息。FORMfrm_display_alv.DEFINEh_out.wa_fieldcat-fieldname=&1.wa_fieldcat-seltext_l=&2.appendwa_fieldcattofieldcat_alv.clearwa_fieldcat.END-OF-DEFINITION.h_outmatklmaterialgroup.h_outmatnrmaterialnum.h_outmeinsmaterial
23、unit.h_outmaktxmaterialdesc.ENDFORM.展现效果如下:I_SAVE:设定是否可以保存报表布局(具体参数值见上表)。如I_SAVE=A 此设置允许保存所有布局。IS_LAYOUT:设定报表输出样式。该参数确定字段宽度、行颜色、是否显示分隔线等等属性,通常定义为slis_layout_alv类型组。如:gs_layoutTYPEslis_layout_alv.is_layout=gs_layout设置Grid的字段列宽度自动适应GS_LAYOUT-COLWIDTH_OPTIMIZE = X设置Grid的行颜色变换显示GS_LAYOUT-ZEBRA = X设置弹出窗口的标题栏 GS_LAYOUT-DETAIL_TITLEBAR = 详细内容设置Grid的多行选择列,其中BOX必须为内表的一列,为一个字符长度GS_LAYOUT-BOX_FIELDNAME= BOX设置Grid是否显示行分割线GS_LAYOUT-NO_VLINE= X设置Grid的合计行显示在明细的上面GS_LAYOUT-TOTALS_BEFORE_ITEMS= X设置Grid不显示弹出明细显示窗口GS_LAYOUT-DETAIL_POPUP= X设置Grid显示LED列, LIG
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1