ALV 输出 详解 二

 本文详细介绍了使用REUSE_ALV_GRID_DISPLAY Function开发ALV报表的方法。ALV报表开发是定制开发中最常见的开发类型,REUSE_ALV_GRID_DISPLAY函数封装了ALV GRID 对象的大部分方法,因此在绝大多数情况下使用REUSE_ALV_GRID_DISPLAY 函数可大大提高效率。

      REUSE_ALV_GRID_DISPLAY函数的方法非常丰富,下文将逐一介绍。

1. REUSE_ALV_GRID_DISPLAY 函数签名

Funciton AttributesFunction Group SLVC_FULLSCREEN (ALV GridControl full screen)
Short Text Output of a simple list (single-line)
Processing Type Normal Function Module, Start Immediatly
Package SAP
Program name SAPLSLVC_FULLSCREEN
Include name LSLVC_FULLSCREENU01
Global X
Changed on 2005.02.13

 

 

2. Import参数详解

      Parameter ID:  SALV_SWITCH_TO_LIST 设定为'X'或'x'时,输出方式为List Grid,Initial时,输出方式为ALV Grid

      I_INTERFACE_CHECK (Interface consistency check log output)该参数用于检查通过LIST GRID输出时,GUI INTERFACE 是否完整,仅在SALV_SWITCH_TO_LIST设定为'X'或'x'时,即仅在List Grid显示方式下起作用,ALV Grid显示方式下该参数被忽略。

      I_BYPASSING_BUFFER TYPE C (Switch Off Buffer) 对应OO方法中的CL_GUI_ALV_GRID~SET_TABLE_FOR_FIRST_DISPLAY的同名参数。与该参数相关的Parameter ID是 SLI,但是Parameter Id SLI的优先级高于这个参数的传递,当SLI参数CS 'BFOFF'时,I_BYPASSING_BUFFER参数被覆盖,设置为'X',否则将使用传入函数的这个参数值。这个参数主要与布局有关,目前还没有研究非常透彻。

      I_BUFFER_ACTIVE CL_GUI_ALV_GRID~SET_TABLE_FOR_FIRST_DISPLAY的同名参数。与该参数相关的Parameter ID是 SLI,但是Parameter Id SLI的优先级高于这个参数的传递,当SLI参数CS 'BFOFF'时,I_BUFFER_ACTIVE参数被清空,否则将使用传输函数的这个参数值。这个参数主要与布局有关,目前还没有研究非常透彻。

      I_CALLBACK_PROGRAM LIKE SY-REPID CALL BACK的程序名,这里所谓的CALL BACK,是指在标准FUNCTION REUSE_ALV_GRID_DISPLAY中调用自己写的程序中的子程序,通常这个参数在调用函数之前赋值为SY-REPID,与之相关的是I_CALLBACK_USER_COMMAND等参数,REUSE_ALV_GRID_DISPLAY函数中在调用I_CALLBACK_USER_COMMAND等参数传入的程序名时,就会到I_CALLBACK_PROGRAM中找。其中的调用方法是:PERFORM I_CALLBACK_USER_COMMAND IN I_CALLBACK_PROGRAM IF FOUND.

      I_CALLBACK_PF_STATUS_SET TYPE SLIS_FORMNAME CALL BACK设置ALV屏幕GUI STATUS的子程序名,其实这个FUNCTION里面,就是CALL SCREEN 500出来的。设置该参数并创建响应名称、参数的子程序后,在里面可以用SET PF-STATUS命令。后文详述。以下I_CALLBACK_开头的参数都是同类,就不再介绍CALL BACK了。

      I_CALLBACK_USER_COMMAND TYPE SLIS_FORMNAME CALL BACK响应ALV上按钮的子程序,创建相应名称和参数的子程序后,即可响应按钮操作。后文详述。

      I_CALLBACK_TOP_OF_PAGE  TYPE SLIS_FORMNAME CALL BACK设置ALV报表上面部分表头信息。后文详述。

      I_CALLBACK_HTML_TOP_OF_PAGE TYPE SLIS_FORMNAME CALL BACK设置ALV报表上面部分表头信息HTML代码。后文详述。

      I_CALLBACK_HTML_END_OF_LIST TYPE SLIS_FORMNAME CALL BACK设置ALV报表屏幕退出后WRITE 输出的子程序。后文详述。

      I_STRUCTURE_NAME LIKE DD02L-TABNAME ALV FIELD CATALOG 信息参考结构(it_fieldcat参数),如果该参数不为空,FUNCTION内会调用REUSE_ALV_FIELDCATALOG_MERGE函数,从数据库中取得STRUCTURE的类型、描述等信息,自动填充it_fieldcat参数。如输入EKKO等结构名。一般来讲,如果开发程序的时候为一个ALV显示输出创建一个Dictionary Structure,则在开发程序的时候可以设置相应的ALV结构名。简化开发。
      I_BACKGROUND_ID TYPE SDYDO_KEY  背景图片ID,ALV TOP, BOTTOM两部分的背景图,如果为空的话,是白色。暂未弄明白如何上传BACKGROUND图片。
      I_GRID_TITLE TYPE LVC_TITLE 该字段是一个70CHAR的文本字段,如果该字段不为空,则在输出屏幕上ALV列标题上面多一行标题,标题的内容就是该参数的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值