How to change the column names uisng SALV

How to change the column names using SALV
REPORT  ztest_salv.
DATA:lr_salv    TYPE REF TO cl_salv_table,
     lr_columns TYPE REF TO cl_salv_columns_table,
     lr_column  TYPE REF TO cl_salv_column.
DATA:gt_sflight TYPE TABLE OF sflight.
*----------------------------------------------------------------------*
*       CLASS cl_salv DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_salv DEFINITION.
  PUBLIC SECTION.
    METHODS:get_data,
            display_salv,
            change_columns.
ENDCLASS.                    "cl_salv DEFINITION
*----------------------------------------------------------------------*
*       CLASS cl_salv IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_salv IMPLEMENTATION.
  METHOD get_data.
    SELECT * FROM sflight INTO TABLE gt_sflight.
  ENDMETHOD.                    "get_data
  METHOD display_salv.
*using factory method get the instance of the class CL_SALV_TABLE.
    TRY.
        cl_salv_table=>factory(
          IMPORTING
            r_salv_table   = lr_salv
          CHANGING
            t_table        = gt_sflight
               ).
      CATCH cx_salv_msg .
    ENDTRY.
  ENDMETHOD.                    "display_salv
  METHOD change_columns.
    "Get the reference  of cl_salv_columns_table class.
    lr_columns  =  lr_salv->get_columns( ).
    "Using the above refence call the below method to get the individual column reference.
    "Here we are changing the CARRID column name
    TRY.
        lr_column =  lr_columns->get_column( columnname = 'CARRID'   ).
      CATCH cx_salv_not_found .
    ENDTRY.
    "Call the below method to change the column anme
    lr_column->set_long_text( value = 'AIR line code number'   ).
    lr_column->set_medium_text( value = 'AIR line code '   ).
    lr_column->set_short_text( value = 'AIR line'   ).
  ENDMETHOD.                    "change_columns
ENDCLASS.                    "cl_salv IMPLEMENTATION
*----------------------------------------------------------*
"Start of selection
*---------------------------------------------------------*
START-OF-SELECTION.
  DATA:lcl_salv TYPE REF TO cl_salv.
  "Create object of local class
  CREATE OBJECT lcl_salv.
  CALL METHOD lcl_salv->get_data( ).
  CALL METHOD lcl_salv->display_salv( ).
  CALL METHOD lcl_salv->change_columns( ).
  "Using display method to display the ALV output
  lr_salv->display( ).

3 comments: