《abap alv入门.docx》由会员分享,可在线阅读,更多相关《abap alv入门.docx(5页珍藏版)》请在三一办公上搜索。
1、abap alv入门ABAP筑基宝典ALV报表入门 一 .什么是ALV SAP提供一套ALV的功能模块,可以对输出报表的样式作修饰,提高报表输出的可读性和功能性,对于动态报表程序是一个很有效率的工具。一般的ALV报表有一 个表头,再加上表内容,并附加一些如排序,分类汇总,合计或下载为本地文件等预设功能。ALV报表显示方式基本上有2种,一种是Grid方式,一种是 List方式,分别调用不同的Function来实现。 二.ALV式样 1. REUSE_ALV_GRID_DISPLAY 2. REUSE_ALV_LIST_DISPLAY 3.ALV工具栏 三.ALV函数的调用 当完成从数据库抽取数据
2、或上传数据,并将数据存放到内部表后,开始调用下面的ALV函数模块。 1.指定数据类型组 TYPE-POOLS: SLIS. DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, ALV输出项目编辑用 WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV, ALV输出项目编辑用 WA_LAYOUT TYPE SLIS_LAYOUT_ALV. ALV样式设定用 2.调出函数模块 CALL FUNCTION REUSE_ALV_LIST_DISPLAY EXPORTING IS_LAYOUT = WA_LAYOUT IT_FIELDCAT = IT_
3、FIELDCAT TABLES T_OUTTAB = IT_TAB. . 3. 函数的各项说明 CALL FUNCTION REUSE_ALV_LIST_DISPLAY EXPORTING I_STRUCTURE_NAME = 已经存在SAP系统中的结构 IS_LAYOUT = 布局 IT_FIELDCAT = 自定义 IT_SORT = 对项目的一个排序 IT_EVENTS = 标题部分 . 四.使用ALV的注意事项 1.在ALV中,需要注意所有添加的需要显示的列,都必须在相应的内表中有对应的字段,否则,只要使用合计或者分类汇总都会导致程序的崩溃。 2.在SAP ABAP程序中,字符串的大小
4、写很重要,在单引号包围的字符串中,一般来说都应该用大写,特别是在调用一些系统的方法时传入字符串参数时,例如在ALV中, Call Function REUSE_ALV_GRID_DISPLAY时, 传入的下面的两个参数: i_callback_pf_status_set = SET_PF_STATUS i_callback_user_command = USER_COMMAND 就必须使用大写字符串,否则就会出现Perform_not_found的系统错误。 3.另外,传入到ALV中的列对应的字段名称也必须使用大写字母,否则数据不会显示出来。 五.相关参数说明 1.构造SLIS_FIELDCA
5、T_ALV常用参数说明 CLEAR WA_FIELDCAT. WA_FIELDCAT-FIELDNAME = MTART. “指定从内表中的输出的数据项目 WA_FIELDCAT-SELTEXT_L = 品目. “上面指定项目显示时的名称 WA_FIELDCAT-SELTEXT_M = 品目. “上面指定项目显示时的名称 WA_FIELDCAT-SELTEXT_S = 品目. “上面指定项目显示时的名称 WA_FIELDCAT-REPTEXT_DDIC = 品目. “上面指定项目显示时的名称 WA_FIELDCAT-OUTPUTLEN = 15. “列的显示宽度 WA_FIELDCAT-HOT
6、SPOT = X. “设置热点状态 . APPEND WA_FIELDCAT TO IT_FIELDCAT. 注意:有多少个项目列要显示就要这样向内部表IT_FIELDCAT中追加记录多少次。 2.构造SLIS_LAYOUT_ALV常用参数说明 LAYOUT-ZEBRA = X. “斑马线样式 LAYOUT-COLWIDTH_OPTIMIZE = X. “列宽度自动根据内容优化 LAYOUT-NO_COLHEAD = X. “列名称不显示 LAYOUT-NO_VLINE = X. “不表示区分用的垂直线 LAYOUT-EDIT =X. “列值可编辑,只用于GRID LAYOUT-WINDOW_
7、TITLEBAR = ALV窗体的标题. “一行 . 六.通常调用所使用参数 CALL FUNCTIONREUSE_ALV_LIST_DISPLAY EXPORTING IT_FIELDCAT = IT_FIELDCAT 输出项目列文本信息 IS_LAYOUT = L_LAYOUT 输出列表样式信息 TABLES T_OUTTAB = IT_ALVOUT 输出的数据信息 EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2. 另一种简便的方法: CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING I_STRUCTURE_NAME = TY_OUT_FILE 输出项目列文本信息 IS_LAYOUT = L_LAYOUT 输出列表样式信息 TABLES T_OUTTAB = TAB_OUT_FILE 输出的数据信息 EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2. 注:TY_OUT_FILE构造必须是数据字典中已经存在的对象。 输出项目繁多时,建议先在数据字典系统中创建构造,然后使用后一种调用方法,这样可免去对输出列表头信息的繁琐编辑处理,使代码行也缩短。