OO实现ALV(一)<转>
来源:互联网 发布:大主宰 源码 编辑:程序博客网 时间:2024/05/03 16:12
一、最简单的ALV显示
以前都是通过函数“REUSE_ALV_GRID_DISPLAY”来显示列表,这种方式是面向过程的,现在有另外一种面向对象化的方式来显示列表,函数REUSE_ALV_GRID_DISPLAY可以做到的它也能够做到。它主要是通过一个类CL_SALV_TABLE来实现的.
下面让我们来实现最简单的ALV列表。
1.取得要显示的数据。
2.调用类CL_SALV_TABLE的静态方法Factory()创建类的实例。
TRY.
ENDTRY.
下面是报表的所有源代码:
REPORT
*变量定义
TYPES ty_spfli TYPE spfli OCCURS 0.
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv DEFINITION.
ENDCLASS.
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv IMPLEMENTATION.
*取得要显示的数据======================================================
*ALV处理方法============================================================
*主方法,整合数据======================================================
ENDCLASS.
*报表执行==============================================================
start-of-selection.
二、ALV显示的三种形式
一般的ALV有三种显示形式,分别为
跟以往实现这三种ALV显示方式相比,以往的三种显示方式分别是调用不同的Function和Class,实现方式复杂。现在这三种显示方式可以通过一个类(CL_SALV_TABLE)来实现,而且通过这个类和它的子类可以更加容易的实现ALV的功能,比如:排序,总计,过滤,页眉页脚,单击双击事件等。
下面让我们一步一步地来实现这三种显示形式。
1.首先我们先创建选择屏幕,屏幕有三个选项,三个选项分别为三种显示方式。
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.
SELECTION-SCREEN END OF BLOCK blk.
2.取得要显示的数据。
SELECT * INTO TABLE lt_tab FROM spfli
3.判断选择屏幕的选项创建不同的实例。
4.当用户选择第一个选项,列表输出为全屏的网格列表,执行方法alv_full( )。
METHOD alv_full.
5.当用户选择第二个选项,列表输出为普通的列表,alv_list方法跟alv_full方法不同的是在创建实例的时候多了一个选项list_display = ‘X’.
6.当用户选择第三个选项,列表在自定义屏幕上输出网格列表,执行方法alv_grid( ).方法alv_grid()调用了屏幕100。执行屏幕的时候会执行它的PBO和PAI,也就是会执行module status_0100和user_command_0100。Status_0100的代码是:
下面是程序的所有代码:
REPORT
TYPES ty_spfli TYPE spfli OCCURS 0.
DATA: gr_table
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.
PARAMETERS: p_full RADIOBUTTON GROUP rg,
SELECTION-SCREEN END OF BLOCK blk.
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv DEFINITION.
ENDCLASS.
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv IMPLEMENTATION.
*取得要显示的数据=======================================================
*输出全屏网格列表的方法=================================================
*输出全屏普通列表的方法==============================================
*输出在自定义屏幕上的列表============================================
*主方法,整合数据====================================================
ENDCLASS.
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
ENDMODULE.
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
ENDMODULE.
"报表执行===============================================================
START-OF-SELECTION.
- OO实现ALV(一)<转>
- OO实现ALV(二)<转>
- OO实现ALV(四)<转>
- OO实现ALV(三)<转>
- OO实现ALV TABLE 一:最简单的ALV显示
- OO实现ALV TABLE 一:最简单的ALV显示
- ALV显示OO实现
- OO实现ALV
- 面向OO ALV 一例
- ALV OO
- OO实现ALV 聚合,排序,过滤
- OO ALV 实现下拉框
- OO实现ALV TABLE 三:ALV的功能设计
- OO实现ALV TABLE 四:ALV的显示样式
- OO实现ALV TABLE 五:ALV的栏位属性
- OO实现ALV TABLE 六:ALV的弹出窗口形式
- OO实现ALV TABLE 七:ALV的选择功能
- OO实现ALV TABLE 八:ALV的布局功能
- 15周项目1-折腾二维数组
- Visual Studio最好用的快捷键
- 如何让搜索引擎抓取AJAX内容?
- foobar2000播放器简单配置 [李园7舍_404]
- 她看见唯一疼她的汉游天下奶奶正向她走过来
- OO实现ALV(一)<转>
- UVa 640 Self Numbers (类似素数筛)
- 小二维数组
- 今天注册了13个英文单词COM域名,分享一下
- iPhone 网络检测是否可用 基于代码实现
- IOS中的动画
- JS操作html表格 添加行,清空行,获取值, 复选框换图片
- eclipse failed to create the java virtual machine 问题图文解析
- hadoop各个类的作用