首先写个最简单的

ALV demo 01:cl_salv_table 简单输出_java

看看参考代码:

REPORT ZLM_ALV001.


DATAGT_SPFLI TYPE TABLE OF SPFLI.
DATAGR_TABLE TYPE REF TO CL_SALV_TABLE.

START-OF-SELECTION.

  SELECT INTO TABLE GT_SPFLI FROM SPFLI.

  CL_SALV_TABLE=>FACTORYIMPORTING R_SALV_TABLE GR_TABLE CHANGING T_TABLE GT_SPFLI ).

  GR_TABLE->DISPLAY).


没有工具栏,看着别扭,加上工具栏。

代码:

REPORT ZLM_ALV001.


DATA: GT_SPFLI TYPE TABLE OF SPFLI.

DATA: GR_TABLE TYPE REF TO CL_SALV_TABLE.
"tool bar
DATA: GR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS.

START-OF-SELECTION.

  SELECT * INTO TABLE GT_SPFLI FROM SPFLI.

  CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = GR_TABLE CHANGING T_TABLE = GT_SPFLI ).

*tool bar
  GR_FUNCTIONS = GR_TABLE->GET_FUNCTIONS( ).
  GR_FUNCTIONS->SET_ALL( ABAP_TRUE ).
  GR_TABLE->DISPLAY( ).


如果想调整某列字段名称呢?

DATA: GT_SPFLI TYPE TABLE OF SPFLI.

DATA: GR_TABLE TYPE REF TO CL_SALV_TABLE.
"tool bar
DATA: GR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS
      .
"Columns – CL_SALV_COLUMNS_TABLE and CL_SALV_COLUMN_TABLE
DATA: GR_COLUMNS TYPE REF TO CL_SALV_COLUMNS_TABLE.
DATA: GR_COLUMN TYPE REF TO CL_SALV_COLUMN_TABLE.
DATA: COLOR TYPE LVC_S_COLO.


START-OF-SELECTION.

  SELECT * INTO TABLE GT_SPFLI FROM SPFLI.

  CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = GR_TABLE CHANGING T_TABLE = GT_SPFLI ).

*tool bar
  GR_FUNCTIONS = GR_TABLE->GET_FUNCTIONS( ).
  GR_FUNCTIONS->SET_ALL( ABAP_TRUE ).

  "Columns – CL_SALV_COLUMNS_TABLE and CL_SALV_COLUMN_TABLE
  GR_COLUMNS = GR_TABLE->GET_COLUMNS( ).
  GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( 'CITYTO' ).
  GR_COLUMN->SET_LONG_TEXT( '测试文本' ).
  GR_COLUMN->SET_MEDIUM_TEXT( '测试文本' ).
  GR_COLUMN->SET_SHORT_TEXT( '测试文本' ).


  GR_TABLE->DISPLAY( ).


如果想调整某列不显示。

调整代码


DATA: GT_SPFLI TYPE TABLE OF SPFLI.

DATA: GR_TABLE TYPE REF TO CL_SALV_TABLE.
"tool bar
DATA: GR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS
      .
"Columns – CL_SALV_COLUMNS_TABLE and CL_SALV_COLUMN_TABLE
DATA: GR_COLUMNS TYPE REF TO CL_SALV_COLUMNS_TABLE.
DATA: GR_COLUMN TYPE REF TO CL_SALV_COLUMN_TABLE.
DATA: COLOR TYPE LVC_S_COLO.


START-OF-SELECTION.

  SELECT * INTO TABLE GT_SPFLI FROM SPFLI.

  CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = GR_TABLE CHANGING T_TABLE = GT_SPFLI ).

*tool bar
  GR_FUNCTIONS = GR_TABLE->GET_FUNCTIONS( ).
  GR_FUNCTIONS->SET_ALL( ABAP_TRUE ).

  "Columns – CL_SALV_COLUMNS_TABLE and CL_SALV_COLUMN_TABLE
  GR_COLUMNS = GR_TABLE->GET_COLUMNS( ).
  GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( 'CITYTO' ).
  GR_COLUMN->SET_LONG_TEXT( '测试文本' ).
  GR_COLUMN->SET_MEDIUM_TEXT( '测试文本' ).
  GR_COLUMN->SET_SHORT_TEXT( '测试文本' ).


  GR_COLUMNS = GR_TABLE->GET_COLUMNS( ).
  GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( 'MANDT' ).

  CALL METHOD GR_COLUMN->SET_VISIBLE
    EXPORTING
      VALUE = IF_SALV_C_BOOL_SAP=>FALSE.

  GR_TABLE->DISPLAY( ).