ALV no se Actualiza

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • GaBo_s
    Junior Member
    • feb
    • 3

    #1

    ALV no se Actualiza

    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 , espero que me hay explicado bien .
  • frankmerlos
    Member
    • oct
    • 51

    #2
    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

    Comentario

    • mcarrasco
      Member
      • jul
      • 71

      #3
      Te falta un detallito

      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[]

      Atte. Marcos Carrasco...

      Comentario

      Trabajando...