SAP ABAP 中类 ALV 和函数 ALV 的区别?


  • 类 ALV 和函数 ALV 在功能方面有所不同。以下是区别
  • 与函数 ALV 相比,类 ALV 更安全。
  • 使用类 ALV 时,可以提高性能。
  • 使用函数 ALV,您可以使用函数模块创建屏幕,但是您需要调用单独的程序来生成屏幕。
  • 类 ALV 提供面向对象的特性,因此它们易于重用。
  • 您可以异步执行函数模块,也可以由其他系统远程调用。

以下是一个类 ALV 的示例

DATA: lcl_alv TYPE REF TO cl_gui_alv_grid,
      t_gly TYPE STANDARD TABLE OF Travels .
SELECT * FROM Travels INTO TABLE t_gly.
CREATE OBJECT lcl_alv
    EXPORTING I_PARENT = cl_gui_container=>screen0.
CALL METHOD lcl_alv->set_table_for_first_display
    EXPORTING
       I_STRUCTURE_NAME = 'Travels'
    CHANGING
       IT_OUTTAB = t_gly.
CALL SCREEN 100.

一些用于创建 ALV 报表的函数模块

序号
函数模块及描述
1
REUSE_ALV_LIST_DISPLAY
显示 ALV 列表
2
REUSE_ALV_GRID_DISPLAY
显示 ALV 网格
3
REUSE_ALV_COMMENTARY_WRITE
输出列表标题信息
4
REUSE_ALV_VARIANT_F4
显示变式选择对话框
5
REUSE_ALV_VARIANT_EXISTENCE
检查变式是否存在
6
REUSE_ALV_FIELDCATALOG_MERGE
从字典结构或内部表创建字段目录

下面显示了使用函数模块显示 ALV 网格

DATA: it_spfli TYPE TABLE OF spfli.
SELECT * FROM spfli INTO TABLE it_spfli.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_structure_name = 'SPFLI'
  TABLES
    t_outtab         = it_spfli.


更新于: 2019年12月11日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.