cancel
Showing results for 
Search instead for 
Did you mean: 

Refresh ALV in WebDynpro

demo
Explorer
0 Kudos
504

Hi experts,

I inserted a button on a standard screen, with the purpose of selecting all the checkboxes of the ALV display column. But clicking on it does not.

DATA lo_componentcontroller TYPE REF TO ig_componentcontroller,
     lr_node                TYPE REF TO if_wd_context_node,
     tl_nuli_nutr           TYPE STANDARD TABLE OF wd_this->element_nuli_nutr, 
     vl_checkbox            TYPE wdy_boolean VALUE 'X'.

FIELD-SYMBOLS: <wl_nuli_nutri> TYPE /plmb/s_lbl_nuli_nutr_ui.

lo_componentcontroller = wd_this->get_componentcontroller_ctr( ).

lr_node = wd_context->path_get_node( path =  'NULI.NULI_NUTR' ).

lr_node->get_static_attributes_table(
  IMPORTING
    table = tl_nuli_nutr ).

LOOP AT tl_nuli_nutr ASSIGNING <wl_nuli_nutri>.
  <wl_nuli_nutri>-flg_show_item = vl_checkbox.
ENDLOOP.

lr_node->invalidate( ).

lr_node->bind_table(
  EXPORTING
    new_items            = tl_nuli_nutr 
    set_initial_elements = abap_true  
).

I searched and found some content here, but I still have not got the solution.

Thanks

Regards

ED

Accepted Solutions (0)

Answers (2)

Answers (2)

developerone
Contributor
0 Kudos

Hmm, It's a simple requirement.

Here is my analysis on where it could go wrong:

Check the mapping between component controller and view controller.

Instead of getting the component controller reference, read the context node from the view controller and update the binding. Please check if there is another event handler or hook method(WDDOMODIFY) that is getting triggered after your change which might modify the binding.

Unfortunately, as I cannot know the sequence of methods that get called all I can make is assumptions. I'm confident this will work and you will be able to figure out the fix.

demo
Explorer
0 Kudos

Hello Sai,
Thanks for reply. Unfortunately we could not sort it out as we would have liked. We ended up using another standard class method (UPDATE), less performative, but refresh the ALV.

developerone
Contributor
0 Kudos

You are invalidating the node before you bind the table. Try commenting lr_invalidate. One more thing I believe you need not declare that vl_chekbox, a simple <wl_nuli_nutri>-flg_show_item = abap_true should suffice.

demo
Explorer
0 Kudos

I tried, but it did not work. Any suggestion? Thanks.