Botón regresar luego de Refresh no funciona bien

Hola!

Tengo un ALV que luego de hacer cambios dentro del mismo reporte, lo deseo actualizar, para ello estoy utilizando el siguiente código:

 CASE pc_ucomm.
WHEN '&F03'. "Tecla de función F3
      SET SCREEN 0.
      LEAVE SCREEN.
      CLEAR sy-ucomm.
   WHEN '&RFS'.

      PERFORM extrae_info.
      wa_selfield-refresh = 'X'.
      wa_selfield-col_stable = 'X'.
      wa_selfield-row_stable = 'X'.

      PERFORM f_generar_lista_alv. "Genera alv

    WHEN 'BACK'. "Botón de acción hacia atrás
      SET SCREEN 0.
      LEAVE TO SCREEN 0.
      CLEAR sy-ucomm.
  ENDCASE.

Pero lo que me sucede es que cuando presiono el botón de Atrás, me regresa al ALV que está sin actualizar, quiere decir que si hago 7 modificaciones y 7 veces presiono el botón de refresh, me pone a navegar por 7 ALV antes de salir a la pantalla de parámetros iniciales.

Puede alguien explicarme por qué sucede eso y cómo solucionarlo? De antemano muchas gracias!

Hola.

Me parece que te está sobrando la llamada al form de generación del ALV y te falta el COMMIT WORK en su lugar:

CASE pc_ucomm.
WHEN '&F03'. "Tecla de función F3
      SET SCREEN 0.
      LEAVE SCREEN.
      CLEAR sy-ucomm.
   WHEN '&RFS'.

      PERFORM extrae_info.
      wa_selfield-refresh = 'X'.
      wa_selfield-col_stable = 'X'.
      wa_selfield-row_stable = 'X'.

      COMMIT WORK.

    WHEN 'BACK'.
      SET SCREEN 0.
      LEAVE TO SCREEN 0.
      CLEAR sy-ucomm.
  ENDCASE.
1 me gusta

Gracias @ponxo123 ya lo he resuelto, solo que me estaba multiplicando la fila, por lo que agregué un REFRESH a la itab previo a la extracción de los datos y con eso ya me funcionó muy bien!

saludos,

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.