Function实现ALV Table一:最简单的ALV显示

ALV的实现方法有三种:一种是用类CL_SALV_TABLE,一种是用类CL_GUI_GRID_DISPLAY,还有另外一种,跟前面两种不同,是用Function来实现的,它们是REUSE_ALV_LIST_DISPLAY和REUSE_ALV_GRID_DISPLAY。现在用得最多的也是用Functoin来实现ALV,其实这两个Function的底层也是基于类CL_GUI_GRID_DISPLAY的。

 

先看一下两个Functoin实现的ALV的效果有什么区别?

 

用REUSE_ALV_GRID_DISPLAY实现的ALV效果

 

用REUSE_ALV_LIST_DISPLAY实现的ALV效果

Function实现ALV Table一:最简单的ALV显示_第1张图片


其实实现ALV相当简单,主要就是调用那两个Function。下面我们来讲一下它的实现步骤:

一、声明要显示的内容的内表,并取得数据

DATA: it_spfli TYPE TABLE OF spfli.

SELECT * FROM spfli INTO TABLE it_spfli.

二、  调用ALV的Function

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

 EXPORTING

   i_structure_name = 'SPFLI'

  TABLES

t_outtab         = it_spfli.

     注:这里调用的Function是REUSE_ALV_LIST_DISPLAY,如果你想实现第一种效果,你应该调

         用REUSE_ALV_GRID_DISPLAY,这两种显示效果不一样,操作方式基本上一样。

这个例子调用Function时候用到了两个参数:一个是i_structure_name,一个是

t_outtab。i_structure_name是输出列表的结构,t_outtab是输出列表的内容。

 

下面是所有源代码

DATA: it_spfli TYPE TABLE OF spfli.

SELECT * FROM spfli INTO TABLE it_spfli.

 

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

  EXPORTING

   i_structure_name = 'SPFLI'

  TABLES

    t_outtab         = it_spfli.


原文地址:http://blog.csdn.net/lhx20/article/details/2947391


你可能感兴趣的:(function,list,table,structure)