cancel
Showing results for 
Search instead for 
Did you mean: 

Get selected rows in ALV

danilo_cardoso
Participant
0 Kudos

Hello guys!

I need your help!

I created an ALV in my Web Dynpro, i need to get all rows that has been selected on my grid. How can i do this?

I don't found any answer about this in the forum.

PS.: My ALV doesn't have fieldcat, he's formed based on my Context Node using the method: BIND_TABLE.

Thanks in advance and regards.

Danilo Cardoso

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Good day danilo,

This code will capture selected row.


DATA LO_ND_FLIGHTS TYPE REF TO IF_WD_CONTEXT_NODE.
DATA LO_EL_FLIGHTS TYPE REF TO IF_WD_CONTEXT_ELEMENT.
DATA LS_FLIGHTS TYPE WD_THIS->ELEMENT_FLIGHTS.

* navigate from <CONTEXT> to <FLIGHTS> via lead selection
  LO_ND_FLIGHTS = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_FLIGHTS ).

* get element via lead selection
  LO_EL_FLIGHTS = LO_ND_FLIGHTS->GET_ELEMENT( ).

* get all declared attributes
  LO_EL_FLIGHTS->GET_STATIC_ATTRIBUTES(
    IMPORTING
      STATIC_ATTRIBUTES = LS_FLIGHTS ).

Here LS_FLIGHTS contain the row selected in ALV table.

If you dont want to write code manually Just go to code wizard select READ option and press f4

and select the node you want to read for selected rows.

If you want multiple rows to be selected.


DATA LO_ND_SFLIGHT TYPE REF TO IF_WD_CONTEXT_NODE.
DATA LO_ND_SFLIGHT1 TYPE REF TO IF_WD_CONTEXT_NODE.
DATA LO_EL_SFLIGHT TYPE REF TO IF_WD_CONTEXT_ELEMENT.
DATA LO_EL_SFLIGHT1 TYPE REF TO IF_WD_CONTEXT_ELEMENT.
DATA: LS_SFLIGHT TYPE WD_THIS->ELEMENT_SFLIGHT1,
           LT_SFLIGHT TYPE TABLE OF WD_THIS->ELEMENT_SFLIGHT1,
           LT_TEMP  TYPE WDR_CONTEXT_ELEMENT_SET,
           WA_TEMP  TYPE REF TO IF_WD_CONTEXT_ELEMENT.

* navigate from <CONTEXT> to <SFLIGHT> via lead selection
  LO_ND_SFLIGHT = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_SFLIGHT1 ).


* get element via lead selection
  LO_EL_SFLIGHT = LO_ND_SFLIGHT->GET_ELEMENT( ).

CALL METHOD LO_ND_SFLIGHT->GET_SELECTED_ELEMENTS
    RECEIVING
      SET = LT_TEMP.

LOOP AT LT_TEMP INTO WA_TEMP.
CALL METHOD WA_TEMP->GET_STATIC_ATTRIBUTES
        IMPORTING
          STATIC_ATTRIBUTES = LS_SFLIGHT.
      APPEND LS_SFLIGHT TO LT_SFLIGHT. " inside you are processing single record of selected records
      CLEAR LS_SFLIGHT.
 ENDLOOP.
LO_ND_SFLIGHT->BIND_TABLE( LT_SFLIGHT ).

I hope it helps.

Regards and Best wishes.

danilo_cardoso
Participant
0 Kudos

Hello guys!

Thanks for your answers!!!

I'm going to do a test right now, next, i'll post it resolve my issue ok?

Regards.

DC

danilo_cardoso
Participant
0 Kudos

Hi.

My issue was resolved!!!

Thanks for your answers guys.

I'm rewarding you ok?

Regards.

Answers (1)

Answers (1)

Former Member
0 Kudos

HI,

You have to use method get_selected_elements of interface if_wd_context_node.

It will give u all selected elements of the context node bound to your ALV.

Do a where used list of this method, you'll find plenty of working examples

Regards

Manas Dua