Skip to Content

'Select ALL' not working for WD ABAP ALV

Hi all,

I have a web dynpro application with a tab strip with 9 tabs. Each tab has an ALV embedded in it. Each ALV is mapped to the same node in component controller. When the application is executed 'Select ALL' works for first ALV on the first tab. However if i select a different tab i get the select all option on the left hand corner but it does nothing when chosen.

I also tried creating custom button on ALV toolbar for this functinality. Here i am looping over all elements of the node (bound to ALV) and using method set_selected( abap_true ) ( method of if_wd_context_element ). This also works for first ALV on the

first tab. However again get the same issue if i choose any other tab.

Node cardinality : 0.... n

Node selection : 0.....n

ALV selection mode set to MULTI using method SET_SELECTION_MODE( CL_WD_TABLE=>E_SELECTION_MODE-MULTI ) of cofig class cl_salv_wd_config_table.

All your inputs/suggestions to resolve this issue will be greatly appreciated.

Thanks,

Vivek Priyadarshi

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

3 Answers

  • Best Answer
    author's profile photo
    Former Member
    Posted on May 04, 2011 at 03:43 AM

    Hi vivek,

    Are you sure that you are using the same context node in both cases?

    I created two tabs embedded 2 ALV's(you have to define SALV_WD_ALV component twice as a used component..in your case 9) and bound them to the same context node in component controller to the ALV's.

    I do a 'select all' in tab 1, all rows are selected, change the tab, I find all rows selected in the second tab also.

    I do a 'deselect all' in tab2 and this results in deselecting all rows in both tab1 and tab2.

    What do you mean by 'select all does nothing when choosen'?..Do you mean to say that , on clicking select all in tab 2, nothing happens?..I would guess nothing happens because , all elements(rows) are already selected in tab1 itself .since the node in question is same , nothng happens...Try doing a deselect all in tab 2 and check if 'somthing happens'..:)

    Please let us know more about the behaviour.

    Thanks,

    Aditya.

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Aditya,

      Thanks for your reply. I am using 9 comp. usage of SALV_WD_TABLE to display 9 alv and all are mapped to the same comp. controller context node. The context node has the master structure with all fields, based on the chosen tab i am populating this context node with records and setting config model for ALV accordingly.

      I tried your trick, clicked on select all on first ALV (all records chosen, works correctly here) then chose the second tab on tabstrip, however records in the new (second) ALV were not selected. When i clicked 'Select all' it did nothing, no records were chosen ( original issue ).

      Did you invalidate the common node when you navigate between tabs?In my case i am populating this node with new data every time i navigate between tabs.

      One new thing i noticed. On the first tab i am able to select individual rows by clicking on the row selection buttons on the left edge of every row. However when i go the second tab clicking on row selection button it does not get selected, only way to select a row in this case is by doing CLTR+click, something doesn't feel right about this application.

      I am going to create a new context node to check if sharing a common context node is causin this issue.

      -Vivek

  • author's profile photo
    Former Member
    Posted on May 04, 2011 at 08:41 AM

    Hi vivek ,

    Have you used the same ALV for all 9 tabs or different ALV's means differnet comp usages for ALV .

    Regards

    Kuldeep

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on May 04, 2011 at 04:32 PM

    Resolved.

    I was invalidating node common to all ALV each time i was jumping to a new tab as i had to load new data for new tab. Now i have a different node attached to each ALV ( 9 in all ). It works this way.

    Thanks,

    Vivek

    Add comment
    10|10000 characters needed characters exceeded