Hola, no me familiarizo mucho con los ALV List y casi nunca los he hecho, pero ahi viendo un programa veo que lo hacen asi:
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
* refrescar la vista con lo que pase acá...
CLEAR rs_selfield-refresh.
CASE r_ucomm.
WHEN '&IC1'.
rs_selfield-refresh = 'X'.
PERFORM detop1 USING rs_selfield.
WHEN 'RFSH'. "refrescar el reporte
rs_selfield-refresh = 'X'.
PERFORM entrada.
ENDCASE.
ENDFORM.
En la subrutina "entrada" nuevamente se hace la seleccion de datos que se colocan en la tabla interna, y el cual es desplegada en el ALV ... espero sirva