PDA

Ver la Versión Completa : ALV no se Actualiza


GaBo_s
28/08/08, 20:22:32
Hola a todos, les cuento de un problema que tengo con una tabla ALV, tengo un programa que dependiendo de la seleccion que haga en un combo es la tabla que me mostrara en el objeto alv, lo que pasa es que al hacerlo por primera vez carga bien la tabla que selecciono y al darle back para regresar a la seleccion de la tabla y selecciono otra tabla, no me la carga, me muestra la primera seleccion que realice, existe alguna forma de borrar toda la tabla alv para que me cargue bien la tabla que seleccione despues de la primera seleccion
SET PF-STATUS 'MAIN100'.
CREATE OBJECT g_custom_container
EXPORTING container_name = g_container.
CREATE OBJECT g_grid
EXPORTING i_parent = g_custom_container.

y aqui cargo el nombre de la tabla

CASE ti_combo.
WHEN '0'.
dim_table = 'ZTSDHR000'.
ti_table = 'gt_ztsdhr000'.
* data: bla type DD02L-TABNAME,
SELECT * FROM ztsdhr000 INTO TABLE gt_ztsdhr000.

CALL METHOD g_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZTSDHR000'
is_layout = gs_layout
CHANGING
it_outtab = gt_ztsdhr000.

WHEN '1'.
dim_table = 'ZTSDHR001'.
ti_table = 'gt_ztsdhr001'.
* data: bla type DD02L-TABNAME,
SELECT * FROM ztsdhr001 INTO TABLE gt_ztsdhr001.

CALL METHOD g_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZTSDHR001'
is_layout = gs_layout
CHANGING
it_outtab = gt_ztsdhr001.

WHEN '2'.
dim_table = 'ZTSDHR002'.
ti_table = 'gt_ztsdhr002'.
SELECT * FROM ztsdhr002 INTO TABLE gt_ztsdhr002.

CALL METHOD g_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZTSDHR002'
is_layout = gs_layout
CHANGING
it_outtab = gt_ztsdhr002.

ENDCASE.
CALL METHOD g_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.

Al dar clic a "regresar" realizo esto:
CLEAR: g_custom_container, g_container, g_grid, gs_layout.
FREE: g_custom_container, g_container, g_grid, gs_layout.
LEAVE TO SCREEN 99.

Gracias por la ayuda:D , espero que me hay explicado bien:p .

frankmerlos
29/08/08, 19:35:55
Hola.

Te hace falta borrar tambien las tablas internas:

gt_ztsdhr000
gt_ztsdhr001
gt_ztsdhr002

Ademas verifica que la variable ti_combo te cambien el valor dependiendo de la tabla que selecciones en el combo.

saludos

mcarrasco
02/09/08, 18:16:49
Amigo en donde haces:

CALL METHOD g_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZTSDHR002'
is_layout = gs_layout
CHANGING
it_outtab = gt_ztsdhr002.

colocale corchetes [] a gt_ztsdhr002, quedaria de la siguiente forma:


CALL METHOD g_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZTSDHR002'
is_layout = gs_layout
CHANGING
it_outtab = gt_ztsdhr002[]