‎2006 Aug 08 1:32 PM
i use this logic, to select row from alv report
what need to be the logic for <b>ROWS</b>
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = lv_row.
IF A ROW WAS SELECTED
IF NOT lv_row IS INITIAL.
DATA: lv_mtart TYPE mara-mtart.
READ TABLE lv_row INDEX 1 INTO lwa_row.
READ TABLE gt_main_alv_table INDEX lwa_row-index.
‎2006 Aug 08 1:41 PM
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = lv_row.
IF A ROW WAS SELECTED
<b>IF NOT lv_row[] IS INITIAL.</b>
DATA: lv_mtart TYPE mara-mtart.
<b>loop at lv_row INTO lwa_row.</b>
READ TABLE gt_main_alv_table INDEX lwa_row-index.
<b>endloop.</b>
‎2006 Aug 08 1:42 PM
Use the below code
CALL METHOD o_alvgrid->get_selected_rows
IMPORTING
et_row_no = i_rows.
IF NOT i_rows[] IS INITIAL.
LOOP AT i_rows INTO wa_rows.
READ TABLE i_final INTO wa_final INDEX wa_rows-row_id.
IF sy-subrc IS INITIAL.
MOVE-CORRESPONDING wa_final TO wa_selected_rows.
APPEND wa_selected_rows TO i_selected_rows.
ENDIF.
CLEAR: wa_final, wa_selected_rows.
ENDLOOP.
ENDIF.
‎2006 Aug 08 1:43 PM
Hi Rani,
What u wrote was correct indeed. There was a small mistake
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = lv_row.
IF A ROW WAS SELECTED
<b>IF NOT lv_row[] IS INITIAL.</b>
DATA: lv_mtart TYPE mara-mtart.
READ TABLE lv_row INDEX 1 INTO lwa_row.
READ TABLE gt_main_alv_table INDEX lwa_row-index.
The one i used was this way (similar to urs )
*--getting the selected row indexes
CALL METHOD OBJ_GRID_DETAIL->GET_SELECTED_ROWS
IMPORTING
ET_ROW_NO = IT_SELECTED_ROWS.
*--getting the selected rows into table IT_ORDERS_SELECTED
REFRESH IT_ORDERS_SELECTED.
LOOP AT IT_SELECTED_ROWS INTO WA_SELECTED_ROW.
CLEAR WA_ORDERS.
READ TABLE IT_ORDERS INTO WA_ORDERS
INDEX WA_SELECTED_ROW-ROW_ID .
IF SY-SUBRC = 0.
MOVE WA_ORDERS TO WA_ORDERS_SELECTED.
APPEND WA_ORDERS_SELECTED TO IT_ORDERS_SELECTED.
ENDIF.
ENDLOOP.
Regards,
Vidya.