Wednesday, 29 October 2014

Handle Double Click on ALV by CL_SALV_TABLE Events

Step1. The source code.
---------------------------------------------------------------------------------------------------

CLASS lcl_event_handle DEFINITION.
  PUBLIC SECTION.
   METHODS : hndl_double_click FOR EVENT double_click
                                                     OF cl_salv_events_table
                                                         IMPORTING  row
                                                                              column.
ENDCLASS.

CLASS lcl_event_handle IMPLEMENTATION.
  METHOD hndl_double_click.
     MESSAGE  'Row clicked.' TYPE 'I' .
  ENDMETHOD.
ENDCLASS.

CLASS lcl_salv_tab DEFINITION.
  PUBLIC SECTION.
  CLASS-METHODS : main IMPORTING
                                              i_list     TYPE xfeld
                                              i_grid     TYPE xfeld
                                              i_alv_tb   TYPE c,
                  fetch_records,
                  get_alv_instance IMPORTING
                                                    i_list     TYPE xfeld
                                                    i_grid     TYPE xfeld
                                                    i_alv_tb   TYPE c,

                  display_alv.
  PRIVATE SECTION.
  TYPE-POOLS : icon, sym.
  TYPES : BEGIN OF ty_flight,
           status TYPE c LENGTH 1,
           icon   TYPE icon_d, " char - 4
           symbol TYPE icon_d. " char - 4
  INCLUDE TYPE sflight.
  TYPES : END OF ty_flight.

  CLASS-DATA : lt           TYPE TABLE OF ty_flight,
                          ls           TYPE ty_flight,
                          lo_salv_tab  TYPE REF TO cl_salv_table,
                          lo_func      TYPE REF TO cl_salv_functions_list,
                          lo_cols      TYPE REF TO cl_salv_columns_table,
                          lo_col       TYPE REF TO cl_salv_column,

                          lo_col_icon  TYPE REF TO cl_salv_column,
                          lo_icon      TYPE REF TO cl_salv_column_table,

                          lo_col_sym   TYPE REF TO cl_salv_column,
                          lo_symbol    TYPE REF TO cl_salv_column_table,

                          rem_seat     TYPE i,
                          lt_icon      TYPE TABLE OF icon,
                          ls_icon      TYPE icon,

                          lo_event     TYPE REF TO cl_salv_events_table,
                          lo_handle    TYPE REF TO lcl_event_handle .

ENDCLASS.


CLASS lcl_salv_tab IMPLEMENTATION.
  METHOD main.
    fetch_records( ).
    CREATE OBJECT lo_handle.
    get_alv_instance( EXPORTING  i_list     = i_list
                                                        i_grid     = i_grid
                                                        i_alv_tb   = i_alv_tb ).

    CALL METHOD lo_salv_tab->get_event
     RECEIVING
      value  = lo_event.    "Get all the Events of the table
   SET HANDLER lo_handle->hndl_double_click FOR lo_event.

     display_alv( ).

  ENDMETHOD.

  METHOD fetch_records.
    DATA indx TYPE sy-tabix.
    DATA line  TYPE i.
    SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE lt UP                                                                                       TO 40 ROWS.
    line = LINES( lt ).
    SELECT * FROM icon INTO TABLE lt_icon UP TO line ROWS.

     LOOP AT  lt INTO ls.
      indx = sy-tabix.
      rem_seat = ls-seatsmax_b - ls-seatsocc_b.
      IF  rem_seat = 0.
         ls-status = 1 .
      ELSEIF rem_seat LE 10.
         ls-status = 2.
      ELSE.
         ls-status = 3.
      ENDIF.
      ls-symbol = sym_caution.

      READ TABLE lt_icon INTO ls_icon INDEX indx .
        IF sy-subrc = 0.
          ls-icon = ls_icon-id.
        ENDIF.

       IF indx <> 0.
     MODIFY LT FROM ls INDEX indx TRANSPORTING status icon symbol .
       ENDIF.
       CLEAR ls.
      ENDLOOP.
  ENDMETHOD.

  METHOD get_alv_instance.
    DATA : flag.
    IF i_list = 'X' OR i_grid = 'X'.
          IF i_list = 'X'.
            flag = 'X'.
          ELSE.
            flag = ' '.
          ENDIF.
     TRY.
         CALL METHOD cl_salv_table=>factory
          EXPORTING
             list_display   = flag
          IMPORTING
              r_salv_table   = lo_salv_tab
          CHANGING
              t_table        = lt.

       IF i_alv_tb = abap_true.
**Begin- Displaying toolbar on alv **
         CALL METHOD lo_salv_tab->get_functions " Get the instance of                                                                                      "alv toolbal button
           RECEIVING
            value  = lo_func.

         CALL METHOD lo_func->set_default " pass 'TRUE' to display                                                                                 "toobar on alv
           EXPORTING
            value  = if_salv_c_bool_sap=>true.
**End- Displaying toolbar on alv**
       ENDIF.

** Begin - Hides paritular column of the table in the list or grid**
         CALL METHOD lo_salv_tab->get_columns 
           RECEIVING
             value  = lo_cols.
         TRY.
         CALL METHOD lo_cols->get_column 
           EXPORTING
             columnname = 'MANDT'
           RECEIVING
             value      = lo_col.
          CALL METHOD lo_col->set_technical 
            EXPORTING
              value  = if_salv_c_bool_sap=>true.

         CATCH cx_salv_not_found .
        ENDTRY.

** End - Hides paritular column of the table in the list or grid**
** Begin - Set status field as traffic icon **
       TRY.
        CALL METHOD lo_cols->set_exception_column
          EXPORTING
            value     = 'STATUS'.
         CATCH cx_salv_data_error .
        ENDTRY.
**End - Set status field as traffic icon **

**Begin - Set icon for the column ICON**
      TRY.
         CALL METHOD lo_cols->get_column 
           EXPORTING
             columnname = 'ICON'
           RECEIVING
             value      = lo_col_icon.
             lo_icon ?= lo_col_icon.
          CALL METHOD lo_icon->set_icon
           EXPORTING
             value  = if_salv_c_bool_sap=>true.
           CALL METHOD lo_icon->set_long_text
             EXPORTING
               value  = 'Icon'.

         CATCH cx_salv_not_found .
        ENDTRY.
**End - Set icon for the column ICON**


**Start- Symbol**
          TRY.
          CALL METHOD lo_cols->get_column 
           EXPORTING
             columnname = 'SYMBOL'
           RECEIVING
             value      = lo_col_sym.
          lo_symbol ?= lo_col_sym.
          CALL METHOD lo_symbol->set_symbol
            EXPORTING
              value  = if_salv_c_bool_sap=>true  .
          CALL METHOD lo_symbol->set_long_text
             EXPORTING
               value  = 'Symbol'.  " Column name set
           CATCH cx_salv_not_found .
          ENDTRY.
**End symbol**

       CATCH cx_salv_msg .
     ENDTRY.
    ENDIF.
  ENDMETHOD.

  METHOD display_alv.
    CALL METHOD lo_salv_tab->display.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
  PARAMETERS : list      RADIOBUTTON GROUP g1,
                           grid      RADIOBUTTON GROUP g1,
                           alv_tool  AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK b1.

CALL METHOD lcl_salv_tab=>main EXPORTING
                                                            i_list     = list
                                                             i_grid     = grid
                                                               i_alv_tb   = alv_tool.

----------------------------------------------------------------------------------------------------

Step2.












Step3. Double click on any line line.




















Step4. Here is the event output.


-----------------------------------------------------------------------------------------------------

Showing Symbols for each row in ALV By CL_SALV_TABLE


Step1. Here the below Code.
------------------------------------------------------------------------------------------------

CLASS lcl_salv_tab DEFINITION.
  PUBLIC SECTION.
  CLASS-METHODS : main IMPORTING
                                                     i_list     TYPE xfeld
                                                     i_grid     TYPE xfeld
                                                     i_alv_tb   TYPE c,
                                       fetch_records,
                                       get_alv_instance IMPORTING
                                                                       i_list     TYPE xfeld
                                                                       i_grid     TYPE xfeld
                                                                       i_alv_tb   TYPE c,

                                        display_alv.
  PRIVATE SECTION.
  TYPE-POOLS : icon, sym.
  TYPES : BEGIN OF ty_flight,
           status TYPE c LENGTH 1,
           icon   TYPE icon_d, " char - 4
           symbol TYPE icon_d. " char - 4
  INCLUDE TYPE sflight.
  TYPES : END OF ty_flight.

  CLASS-DATA :     lt           TYPE TABLE OF ty_flight,
                              ls           TYPE ty_flight,
                              lo_salv_tab  TYPE REF TO cl_salv_table,
                              lo_func      TYPE REF TO cl_salv_functions_list,
                              lo_cols      TYPE REF TO cl_salv_columns_table,
                              lo_col       TYPE REF TO cl_salv_column,

                              lo_col_icon  TYPE REF TO cl_salv_column,
                              lo_icon      TYPE REF TO cl_salv_column_table,

                              lo_col_sym   TYPE REF TO cl_salv_column,
                              lo_symbol    TYPE REF TO cl_salv_column_table,

                              rem_seat     TYPE i,
                              lt_icon      TYPE TABLE OF icon,
                              ls_icon      TYPE icon.

ENDCLASS.


CLASS lcl_salv_tab IMPLEMENTATION.
  METHOD main.
    fetch_records( ).
    get_alv_instance( EXPORTING  i_list     = i_list
                                                         i_grid     = i_grid
                                                         i_alv_tb   = i_alv_tb ).

       display_alv( ).

  ENDMETHOD.

  METHOD fetch_records.
    DATA indx TYPE sy-tabix.
    DATA line  TYPE i.
    SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE lt UP                                                                                             TO 40 ROWS.
    line = LINES( lt ).
    SELECT * FROM icon INTO TABLE lt_icon UP TO line ROWS.

     LOOP AT  lt INTO ls.
      indx = sy-tabix.
      rem_seat = ls-seatsmax_b - ls-seatsocc_b.
      IF  rem_seat = 0.
         ls-status = 1 .
      ELSEIF rem_seat LE 10.
         ls-status = 2.
      ELSE.
         ls-status = 3.
      ENDIF.
      ls-symbol = SYM_CAUTION.

      READ TABLE lt_icon INTO ls_icon INDEX indx .
        IF sy-subrc = 0.
          ls-icon = ls_icon-id.
        ENDIF.

       IF indx <> 0.
       MODIFY LT FROM ls INDEX indx TRANSPORTING status icon                                                                                                          symbol.
       ENDIF.
       CLEAR ls.
      ENDLOOP.
  ENDMETHOD.

  METHOD get_alv_instance.
    DATA : flag.
    IF i_list = 'X' OR i_grid = 'X'.
          IF i_list = 'X'.
            flag = 'X'.
          ELSE.
            flag = ' '.
          ENDIF.
     TRY.
         CALL METHOD cl_salv_table=>factory
          EXPORTING
             list_display   = flag
          IMPORTING
              r_salv_table   = lo_salv_tab
          CHANGING
              t_table        = lt.

       IF i_alv_tb = abap_true.
**Begin- Displaying toolbar on alv **
         CALL METHOD lo_salv_tab->get_functions " Get the instance of                                                                                     "alv toolbal button
           RECEIVING
            value  = lo_func.

         CALL METHOD lo_func->set_default " pass 'TRUE' to display                                                                                " toolbar on alv
           EXPORTING
            value  = if_salv_c_bool_sap=>true."TRUE displays toolbar on                                                                             "alv toolbar on alv
**End- Displaying toolbar on alv**
       ENDIF.

** Begin - Hides paritular column of the table in the list or grid**
         CALL METHOD lo_salv_tab->get_columns " get all columns of the                                                                                   "table
           RECEIVING
             value  = lo_cols.
         TRY.
         CALL METHOD lo_cols->get_column " get reference to particular                                                                                "column
           EXPORTING
             columnname = 'MANDT'
           RECEIVING
             value      = lo_col.
          CALL METHOD lo_col->set_technical " set technical - true hides                                                                             "the column on UI
            EXPORTING
              value  = if_salv_c_bool_sap=>true.

         CATCH cx_salv_not_found .
        ENDTRY.

** End - Hides paritular column of the table in the list or grid**
** Begin - Set status field as traffic icon **
       TRY.
        CALL METHOD lo_cols->set_exception_column
          EXPORTING
            value     = 'STATUS'.
         CATCH cx_salv_data_error .
        ENDTRY.
**End - Set status field as traffic icon  **

**Begin - Set icon for the column ICON**
      TRY.
         CALL METHOD lo_cols->get_column " get reference to particular                                                                           "column
           EXPORTING
             columnname = 'ICON'
           RECEIVING
             value      = lo_col_icon.
             lo_icon ?= lo_col_icon.
          CALL METHOD lo_icon->set_icon
           EXPORTING
             value  = if_salv_c_bool_sap=>true.
           CALL METHOD lo_icon->set_long_text
             EXPORTING
               value  = 'Icon'.

         CATCH cx_salv_not_found .
        ENDTRY.
**End - Set icon for the column ICON**


**Start- Symbol**
          TRY.
          CALL METHOD lo_cols->get_column " get reference to particular                                                                          "column
           EXPORTING
             columnname = 'SYMBOL'
           RECEIVING
             value      = lo_col_sym.
          lo_symbol ?= lo_col_sym.
          CALL METHOD lo_symbol->set_symbol
            EXPORTING
              value  = if_salv_c_bool_sap=>true  .
          CALL METHOD lo_symbol->set_long_text
             EXPORTING
               value  = 'Symbol'.  " Column name set
           CATCH cx_salv_not_found .
          ENDTRY.
**End symbol**
       CATCH cx_salv_msg .
     ENDTRY.
    ENDIF.
  ENDMETHOD.

  METHOD display_alv.
    CALL METHOD lo_salv_tab->display.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
  PARAMETERS :    list      RADIOBUTTON GROUP g1,
                               grid      RADIOBUTTON GROUP g1,
                               alv_tool  AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK b1.

CALL METHOD lcl_salv_tab=>main EXPORTING
                                                                    i_list     = list
                                                                    i_grid     = grid
                                                                    i_alv_tb   = alv_tool.
------------------------------------------------------------------------------------------------
Step2.












Step3. Symbol as a column on Output.













-----------------------------------------------------------------------------------------------------

Showing Icons for each row in ALV By CL_SALV_TABLE

Step1. The Code.

------------------------------------------------------------------------------------------------------

CLASS lcl_salv_tab DEFINITION.
  PUBLIC SECTION.
  CLASS-METHODS : main IMPORTING
                                               i_list     TYPE xfeld
                                               i_grid     TYPE xfeld
                                               i_alv_tb   TYPE c,
                  fetch_records,
                  get_alv_instance IMPORTING
                                                    i_list     TYPE xfeld
                                                    i_grid     TYPE xfeld
                                                    i_alv_tb   TYPE c,

                  display_alv.
  PRIVATE SECTION.
  TYPE-POOLS : icon, sym.
  TYPES : BEGIN OF ty_flight,
           status TYPE c LENGTH 1,
           icon   TYPE icon_d. " char - 4
  INCLUDE TYPE sflight.
  TYPES : END OF ty_flight.

  CLASS-DATA : lt           TYPE TABLE OF ty_flight,
               ls           TYPE ty_flight,
               lo_salv_tab  TYPE REF TO cl_salv_table,
               lo_func      TYPE REF TO cl_salv_functions_list,
               lo_cols      TYPE REF TO cl_salv_columns_table,
               lo_col       TYPE REF TO cl_salv_column,

               lo_col_icon  TYPE REF TO cl_salv_column,
               lo_icon      TYPE REF TO cl_salv_column_table,

               rem_seat     TYPE i,
               lt_icon      TYPE TABLE OF icon,
               ls_icon      TYPE icon.

ENDCLASS.


CLASS lcl_salv_tab IMPLEMENTATION.
  METHOD main.
    fetch_records( ).
    get_alv_instance( EXPORTING  i_list     = i_list
                                 i_grid     = i_grid
                                 i_alv_tb   = i_alv_tb ).

       display_alv( ).

  ENDMETHOD.

  METHOD fetch_records.
    DATA indx TYPE sy-tabix.
    DATA line  TYPE i.
    SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE lt UP                                                                                      TO 40 ROWS.
    line = LINES( lt ).
    SELECT * FROM icon INTO TABLE lt_icon UP TO line ROWS.

     LOOP AT  lt INTO ls.
      indx = sy-tabix.
      rem_seat = ls-seatsmax_b - ls-seatsocc_b.
      IF  rem_seat = 0.
         ls-status = 1 .
      ELSEIF rem_seat LE 10.
         ls-status = 2.
      ELSE.
         ls-status = 3.
      ENDIF.

      READ TABLE lt_icon INTO ls_icon INDEX indx .
        IF sy-subrc = 0.
          ls-icon = ls_icon-id.
        ENDIF.

       IF indx <> 0.
       MODIFY LT FROM ls INDEX indx TRANSPORTING status icon.
       ENDIF.
       CLEAR ls.
      ENDLOOP.
  ENDMETHOD.

  METHOD get_alv_instance.
    DATA : flag.
    IF i_list = 'X' OR i_grid = 'X'.
          IF i_list = 'X'.
            flag = 'X'.
          ELSE.
            flag = ' '.
          ENDIF.
     TRY.
         CALL METHOD cl_salv_table=>factory
          EXPORTING
             list_display   = flag
          IMPORTING
              r_salv_table   = lo_salv_tab
          CHANGING
              t_table        = lt.

       IF i_alv_tb = abap_true.
**Begin- Displaying toolbar on alv **
         CALL METHOD lo_salv_tab->get_functions " Get the instance of                                                                                      "alv toolbal button
           RECEIVING
            value  = lo_func.

         CALL METHOD lo_func->set_default 
           EXPORTING
            value  = if_salv_c_bool_sap=>true."displays toolbar on alv
**End- Displaying toolbar on alv**
       ENDIF.

** Begin - Hides paritular column of the table in the list or grid**
         CALL METHOD lo_salv_tab->get_columns " get all cols of table                                                                             
           RECEIVING
             value  = lo_cols.
         TRY.
         CALL METHOD lo_cols->get_column " get reference to particular                                                                            "column
           EXPORTING
             columnname = 'MANDT'
           RECEIVING
             value      = lo_col.
          CALL METHOD lo_col->set_technical " true hides the col on ui
            EXPORTING
              value  = if_salv_c_bool_sap=>true.

         CATCH cx_salv_not_found .
        ENDTRY.

** End - Hides paritular column of the table in the list or grid**
** Begin - Set status field as traffic icon **
       TRY.
        CALL METHOD lo_cols->set_exception_column
          EXPORTING
            value     = 'STATUS'.
         CATCH cx_salv_data_error .
        ENDTRY.
**End - Set status field as traffic icon **

**Begin - Set icon for the column ICON**
      TRY.
         CALL METHOD lo_cols->get_column " get reference to particular                                                                            "column
           EXPORTING
             columnname = 'ICON'
           RECEIVING
             value      = lo_col_icon.
             lo_icon ?= lo_col_icon.
          CALL METHOD lo_icon->set_icon
           EXPORTING
             value  = if_salv_c_bool_sap=>true.
           CALL METHOD lo_icon->set_long_text
             EXPORTING
               value  = 'Icon'.

         CATCH cx_salv_not_found .
        ENDTRY.
**End - Set icon for the column ICON**

       CATCH cx_salv_msg .
     ENDTRY.
    ENDIF.
  ENDMETHOD.

  METHOD display_alv.
    CALL METHOD lo_salv_tab->display.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
  PARAMETERS : list      RADIOBUTTON GROUP g1,
                            grid      RADIOBUTTON GROUP g1,
                            alv_tool  AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK b1.

CALL METHOD lcl_salv_tab=>main EXPORTING
                                                            i_list     = list
                                                            i_grid     = grid
                                                            i_alv_tb   = alv_tool.

----------------------------------------------------------------------------------------------------

Step2.











Step3. Here the ICONs.
















--------------------------------------------------------------------------------------------------------

Tuesday, 28 October 2014

Showing Traffic light for each row status in ALV By CL_SALV_TABLE



-----------------------------------------------------------------------------------------------

CLASS lcl_salv_tab DEFINITION.
  PUBLIC SECTION.
  CLASS-METHODS : main IMPORTING
                                                    i_list     TYPE xfeld
                                                    i_grid     TYPE xfeld
                                                    i_alv_tb   TYPE C,
                                    fetch_records,
                                    get_alv_instance IMPORTING
                                                                     i_list     TYPE xfeld
                                                                     i_grid     TYPE xfeld
                                                                    i_alv_tb   TYPE c,

                               display_alv.
  PRIVATE SECTION.

  TYPES : BEGIN OF ty_flight,
                              status TYPE c LENGTH 1.
  INCLUDE TYPE sflight.
  TYPES : END OF ty_flight.

  CLASS-DATA :     lt                    TYPE TABLE OF ty_flight,
                              ls                    TYPE ty_flight,
                              lo_salv_tab    TYPE REF TO cl_salv_table,
                              lo_func           TYPE REF TO cl_salv_functions_list,
                              lo_cols            TYPE REF TO cl_salv_columns_table,
                              lo_col              TYPE REF TO cl_salv_column,
                              rem_seat         TYPE i.

ENDCLASS.


CLASS lcl_salv_tab IMPLEMENTATION.
  METHOD main.
    fetch_records( ).
    get_alv_instance( EXPORTING   i_list     = i_list
                                                          i_grid     = i_grid
                                                          i_alv_tb   = i_alv_tb ).

       display_alv( ).

  ENDMETHOD.

  METHOD fetch_records.
    SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE lt UP                                                                                             TO 30 ROWS.

     LOOP AT  lt INTO ls.

      rem_seat = ls-seatsmax_b - ls-seatsocc_b.
      if  rem_seat = 0.
         ls-status = 1 . " RED LIGHT VALUE
      elseif rem_seat le 10.
         ls-status = 2. " YELLOW LIGHTVALUE
      else.
         ls-status = 3. " GREEN LIGHT VALUE
      endif.

       MODIFY LT FROM ls INDEX sy-tabix TRANSPORTING status.
        clear ls.
      ENDLOOP.
  ENDMETHOD.

  METHOD get_alv_instance.
    DATA : flag.
    IF i_list = 'X' OR i_grid = 'X'.
          IF i_list = 'X'.
            flag = 'X'.
          ELSE.
            flag = ' '.
          ENDIF.
     TRY.
         CALL METHOD cl_salv_table=>factory
          EXPORTING
             list_display   = flag
          IMPORTING
              r_salv_table   = lo_salv_tab
          CHANGING
              t_table        = lt.

       IF i_alv_tb = abap_true.
**Begin- Displaying toolbar on alv **
         CALL METHOD lo_salv_tab->get_functions " Get the instance of                                                                                     "alv toolbal button
           RECEIVING
            value  = lo_func.

         CALL METHOD lo_func->set_default                                                                                  
           EXPORTING
            value  = if_salv_c_bool_sap=>true."TRUE displays toolbar on                                                                             " alv
**End- Displaying toolbar on alv**
       ENDIF.

** Begin - Hides partiular column of the table in the list or grid**
         CALL METHOD lo_salv_tab->get_columns " get all columns 
           RECEIVING
             value  = lo_cols.
         TRY.
         CALL METHOD lo_cols->get_column " get reference to particular                                                                            "column
           EXPORTING
             columnname = 'MANDT'
           RECEIVING
             value      = lo_col.
          CALL METHOD lo_col->set_technical " set technical - true hides                                                                            "the column on UI
            EXPORTING
              value  = if_salv_c_bool_sap=>true.

         CATCH cx_salv_not_found .
        ENDTRY.

** End - Hides partiular column of the table in the list or grid**
** Begin-Set status field as traffic light 1- red /2-yellow /3-green**
       TRY.
        CALL METHOD lo_cols->set_exception_column
          EXPORTING
            value     = 'STATUS'.  " pass the field name of  internal table for                                                      "showing traffic light status
         CATCH cx_salv_data_error .
        ENDTRY.
**End - Set status field as traffic light **

       CATCH cx_salv_msg .
     ENDTRY.
    ENDIF.
  ENDMETHOD.

  METHOD display_alv.
    CALL METHOD lo_salv_tab->display.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
  PARAMETERS :      list      RADIOBUTTON GROUP g1,
                                grid      RADIOBUTTON GROUP g1,
                               alv_tool  AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK b1.

CALL METHOD lcl_salv_tab=>main EXPORTING
                                                                     i_list     = list
                                                                     i_grid     = grid
                                                                     i_alv_tb   =  alv_tool.

---------------------------------------------------------------------------------------------

Step2.


Step3.



















------------------------------------------------------------------------------------------------------

Comments system

Disqus Shortname