冷酷至尊

博客园 首页 新随笔 联系 订阅 管理

OO实现ALV TABLE 一:最简单的ALV显示[转]

 

下面让我们来实现最简单的ALV列表。

 

1取得要显示的数据。

SELECT * INTO TABLE lt_tab FROM spfli

 

2.调用类CL_SALV_TABLE的静态方法Factory()创建类的实例。

TRY.

cl_salv_table=>factory(

IMPORTING

r_salv_table = lr_table

CHANGING

t_table = lt_tab

).

CATCH cx_salv_msg.

ENDTRY.

 

3.取得实例之后再调用方法Display()显示列表.

lr_table->display( ).

 

处理过程完成,最后让我们看一下显示结果。

TABLE 一:最简单的ALV显示[转]" height=384 alt="OO实现ALV TABLE 一:最简单的ALV显示[转]" src="http://s1.sinaimg.cn/middle/5ccd375bga6b25eecda90&690" width=512 name=image_operate_21311309184936539>

 

 

下面是报表的所有源代码:

REPORT y_xin_002.

 

*变量定义

TYPES ty_spfli TYPE spfli OCCURS 0.

 

*----------------------------------------------------------------------*

* CLASS lcl_alv DEFINITION

*----------------------------------------------------------------------*

* ALV操作类(定义)

*----------------------------------------------------------------------*

CLASS lcl_alv DEFINITION.

PUBLIC SECTION.

METHODS: getdata "取得要显示的数据

RETURNING value(lt_tab) TYPE ty_spfli,

alv_process "ALV处理方法

IMPORTING value(lt_tab) TYPE ty_spfli,

main. "主方法

PRIVATE SECTION.

DATA gr_table TYPE REF TO cl_salv_table.

ENDCLASS. "lcl_alv DEFINITION

 

*----------------------------------------------------------------------*

* CLASS lcl_alv IMPLEMENTATION

*----------------------------------------------------------------------*

* ALV操作类(实现)

*----------------------------------------------------------------------*

CLASS lcl_alv IMPLEMENTATION.

*取得要显示的数据

METHOD getdata.

SELECT * INTO TABLE lt_tab FROM spfli.

ENDMETHOD. "getdata

 

*ALV处理方法

METHOD alv_process.

"创建实例

TRY.

cl_salv_table=>factory(

IMPORTING

r_salv_table = gr_table

CHANGING

t_table = lt_tab

).

CATCH cx_salv_msg.

ENDTRY.

"显示列表

gr_table->display( ).

ENDMETHOD. "alv_process

 

*主方法,整合数据

METHOD main.

DATA: lt_tab TYPE TABLE OF spfli.

 

"取得要显示的数据

lt_tab = me->getdata( ).

"处理数据

me->alv_process( lt_tab ).

ENDMETHOD. "main

ENDCLASS. "lcl_alv IMPLEMENTATION

 

*报表执行

start-of-selection.

data lr_alv type ref to lcl_alv.

create object lr_alv.

lr_alv->main( ).

 

转自:http://blog.csdn.net/lhx20/archive/2008/08/19/2793478.aspx

posted on 2013-01-11 20:05  冷酷至尊  阅读(106)  评论(0)    收藏  举报