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.