*&---------------------------------------------------------------------*
*& Report ZREP_CLS_041
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZREP_CLS_041.
TABLES:MARA.
"SALV (OOALV)
"定义内表,定义SALV 的类CL_GUI_SALV_TABLE的对象变量
DATA gt_itab_salv TYPE TABLE OF MARA.
DATA go_table TYPE REF TO cl_salv_table.
DATA go_functions TYPE REF TO cl_salv_functions_list.
SELECTION-SCREEN BEGIN OF BLOCK LBS WITH FRAME TITLE TEXT1.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.
SELECTION-SCREEN END OF BLOCK LBS.
START-OF-SELECTION.
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE gt_itab_salv
where mara~matnr in s_matnr.
"调用类方法创建类对象
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = go_table
CHANGING
t_table = gt_itab_salv.
"调用类方法显示SALV
go_functions = go_table->get_functions( ).
go_functions->set_all( abap_true ).
go_table->display( ).
参考 https://github.com/ABAPOOP/ABAP_OOP_SAMPLE/blob/master/ABAP_OOP_Sample_8.15.txt