How to activate the tool bar functions using SALV

REPORT  ztest_salv.
DATA:lr_salv       TYPE REF TO cl_salv_table,
     lr_columns    TYPE REF TO cl_salv_columns_table,
     lr_functions  TYPE REF TO cl_salv_functions_list.
DATA:gt_sflight TYPE TABLE OF sflight.
*----------------------------------------------------------------------*
*       CLASS cl_salv DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_salv DEFINITION.
  PUBLIC SECTION.
    METHODS:get_data,
            display_salv,
            get_functions.
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 get_functions.
    "Get the reference  of cl_salv_functions_list class.
    lr_functions = lr_salv->get_functions( ).
    lr_functions->set_all(
        value  = if_salv_c_bool_sap=>true
           ).
  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->get_functions( ).
  "Using display method to display the ALV output
  lr_salv->display( ).

No comments:

Post a Comment