ABAP 弹出ALV实现

*&---------------------------------------------------------------------*
*& Report ZMYDEMO012
*&---------------------------------------------------------------------*
*& 弹出ALV。
*&---------------------------------------------------------------------*
REPORT ZMYDEMO012.

DATA:GO_ALV TYPE REF TO CL_SALV_TABLE,
     GO_FUNLST TYPE REF TO CL_SALV_FUNCTIONS_LIST.
DATA:ITAB TYPE STANDARD TABLE OF T001.
DATA:CXROOT TYPE REF TO CX_ROOT,
     EXCMSG TYPE STRING.

SELECT * FROM T001 INTO TABLE ITAB.

TRY.
  CL_SALV_TABLE=>FACTORY(
    IMPORTING
      R_SALV_TABLE = GO_ALV
    CHANGING
      T_TABLE = ITAB[] ).
CATCH CX_ROOT INTO CXROOT.
   EXCMSG = CXROOT->GET_TEXT( ).
   MESSAGE E000(OO) WITH EXCMSG.
ENDTRY.

GO_FUNLST = GO_ALV->GET_FUNCTIONS( ).
GO_FUNLST->SET_ALL('X').

IF GO_ALV IS BOUND.
   GO_ALV->SET_SCREEN_POPUP(
     START_COLUMN = 1
     END_COLUMN   = 110
     START_LINE   = 5
     END_LINE     = 15 ).
  GO_ALV->DISPLAY( ).
ENDIF.

最终效果:

ABAP 弹出ALV实现