FavoriteLoading
0

SALV教程1-创建简单SALV

[隐藏]

1, SALV介绍

自从SAP Netweaver 04SAP引入了一个新的Class CL_SALV 来进行面向对象(OO ALV)的ALV开发。

在SAP Netweaver之前,我们可以根据ALV的展现方式(Tabular, Tree, Hierarchical),ALV的类型(List or Grid)来决定用什么来开发ALV.比如,如果想用控件框架,我们要用到class CL_GUI_ALV_GRID来创建ALV,为避免这种选择综合症,SAP推出了一个万能模式--完全基于面向对象的ALV类家族,如下:

2016-08-31_16-11-41

CL_SALV_TABLE:一般ALV

CL_SALV_HIERSEQU_TABLE:以层次结构显示的ALV

CL_SALV_TREE:树形结构ALV

SALV有点很多,SALV可以像使用函数方式生成ALV那样,不用创建屏幕就可以调用的全屏方式显示的ALV

而且最重要的是,SALV的GRID报表可以在后台运行,可以在后台运行,后台运行,重要的事儿说三次。。。。

2, 代码

所有的SALV类都是通过静态方法,CL_SALV_TABLE=>FACTORY 生成ALV的实例(instance),然后调用实例方法display显示ALV

下面代码是通过class CL_SALV_TABLE实现SALV的简单实例,

上面的report是以OO风格写的,这么做的目的是为了更方便加入其他方法来完善SALV的例子程序,比如调用method SET_COLUMN_NAME 来修改SALV表头字段的名字,代码的UML流程图如下:

OOALV_main

3, 结果显示

SALV显示如下:

2016-08-31_16-27-42

以上。