Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

selected row for smartform

Former Member
0 Likes
634

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.

3 REPLIES 3
Read only

Former Member
0 Likes
474

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>

Read only

Former Member
0 Likes
474

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.

Read only

Former Member
0 Likes
474

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.