PDA

Ver la Versión Completa : Refrescar ALV grid con función REUSE


Garces
21/01/11, 13:35:49
Señores... tengo un problema

Alguien sabe cómo refrescar los datos de un ALV Grid en un programa que usa la función REUSE_ALV_GRID_DISPLAY sin tener que cambiar el programa para usar la clase CL_GUI_ALV_GRID?

Sucede que el programa lo que hace para refrescar la grilla es volver a cargar los datos en la tabla interna y volver a llamar a la función REUSE...

Esto parece que hace que los dynpros se vayan anidando con cada acción de refresh y luego de ciertas refrescadas, el programa se cae con la excepción LIST_TOO_MANY_LPROS...

Alguna sugerencia que no implique modificar el programa sustancialmente?

Gracias

aldape
21/01/11, 22:32:54
Agrega estas lineas a tu funcion user_command...

call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'REPORTE'
i_callback_pf_status_set = 'SET_PF_STATUS'
i_save = 'A'
is_layout = gd_layout
is_variant = gd_variant
it_fieldcat = fieldcatalog[]
tables
t_outtab = reporte.

...
...
...

form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.

rs_selfield-col_stable = 'X'.
rs_selfield-row_stable = 'X'.
rs_selfield-refresh = 'X'.