How to create a ALV report using SALV


REPORT  ztest_salv.
DATA:lr_salv    TYPE REF TO cl_salv_table,
            gt_sflight TYPE TABLE OF sflight.
*----------------------------------------------------------------------*
*       CLASS cl_salv DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_salv DEFINITION.
  PUBLIC SECTION.
    METHODS:get_data,
            display_salv.
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.
    "Using display method to display the ALV output
    lr_salv->display( ).
  ENDMETHOD.                    "display_salv
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( ).

No comments:

Post a Comment