VinceCoder
4/19/2019 - 8:30 AM

OOALV: SELEZIONE RIGHE

Da fare nel module/form in cui si definiscono i tasti/ucomm

data: i_modified TYPE STANDARD TABLE OF mara,"For getting modified rows
        w_modified TYPE mara.
        
CASE e_ucomm.
      WHEN 'EDIT'.
      perform save_database.
      CALL METHOD ref_GRID->REFRESH_TABLE_DISPLAY.
    ENDCASE.
FORM SAVE_DATABASE .
data: i_selected_rows TYPE lvc_t_row,                "Selected Rows
      w_selected_rows TYPE lvc_s_row.
* Getting the selected rows index
    CALL METHOD ref_grid->get_selected_rows
                IMPORTING  et_index_rows = i_selected_rows.
* Through the index capturing the values of selected rows
    LOOP AT i_selected_rows INTO w_selected_rows.
    READ TABLE it_tab INTO wa_it_tab INDEX w_selected_rows-index.
    IF sy-subrc EQ 0.
      MOVE-CORRESPONDING wa_it_tab TO w_modified.
      APPEND w_modified TO i_modified.
    ENDIF.
  ENDLOOP.
  MODIFY mara FROM TABLE i_modified.