A ver... vamos por partes.
1-Seleccionas los datos
2-Muestras los datos
3-llamas la transaccion
4-Determinamos si ha cambiado algo (opcional, solo para mejorar rendimiento)
5-REFRESCAS LA TABLA INTERNA
6-VUELVES A SELECCIONAR LOS DATOS Y LOS METES EN LA MISMA TABLA INTERNA
7-haces lo del refresh del alv
A ver si asi queda un poco mas claro, el problema principal lo tienes en que si cambias las tablas de diccionario y no actualizas la tabla interna, por mucho que refresques el ALV te seguira mostrando lo q hay dentro de la tabla interna. Creo que la solucion es mucho mas sencilla...
Saludos,
LouieBoy