ABAP学习(13):OO SALV使用实例

3、OO SALV

    利用函数和GRID的功能发布的SALV包程序(SALV也称为New ALV)。通过类cl_salv_table,实现ALV的输出。

示例:

示例:
TABLES:sflight.

TYPES:type_flight TYPE sflight OCCURS 0.
CLASS lcl_alv DEFINITION.
    PUBLIC SECTION.
      METHODS:getdata RETURNING VALUE(lt_table) TYPE type_flight,
              show_alv IMPORTING VALUE(lt_table) TYPE type_flight.
    PRIVATE SECTION.
            DATA:gr_table TYPE REF TO cl_salv_table. "cl_salv_table对象
ENDCLASS.

CLASS lcl_alv IMPLEMENTATION.
  "获取数据
  METHOD:getdata.
    SELECT * INTO TABLE lt_table FROM sflight.
  ENDMETHOD.

  "显示alv
  METHOD:show_alv.
    TRY.
      cl_salv_table=>factory(
        IMPORTING r_salv_table = gr_table
        CHANGING  t_table = lt_table
      ).
    CATCH cx_salv_msg.

    ENDTRY.

    gr_table->display( ).
  ENDMETHOD.
ENDCLASS.


START-OF-SELECTION.
  "数据定义
  DATA:lt_sflight LIKE sflight OCCURS 0.

  "创建alv对象
  DATA:lcl_alv1 TYPE REF TO lcl_alv.
  CREATE OBJECT lcl_alv1.

  "获取数据
  lt_sflight = lcl_alv1->getdata( ).
  "显示alv
  lcl_alv1->show_alv( lt_sflight ).
原文地址:https://www.cnblogs.com/tangToms/p/11979072.html