Está en la página 1de 3

Como refrescar un ALV tras un cambio ?

Esta vez quiero traerte un ejercicio no tan común, pero que es solicitado con algo de
frecuencia y suele dar dolores de cabeza, antes de descubrir que la solución es muy 
sencilla.
Tenemos un ALV, en el cual el usuario puede seleccionar un registro, y al darle a un
pulsador que creamos, dicho registro será modificado, y el ALV deberá mostrar el cambio
de manera inmediata, sin necesidad de salir del programa y volver a ejecutar el reporte.
NOTA: Para ver como creamos un botón en la barra de pulsadores y lo hacemos
funcionar, lo puedes leer aquí. 
Crear un botón/pulsador en la barra de pulsadores del ALV

Tomemos como ejemplo, una lista de contratos pendientes por liberar, que el usuario podrá
seleccionar, pulsar un botón “Liberar Documento”, y nuestro programa entrará en la
transacción ‘VA42’ para modificar el documento y proceder a liberarlo; si la liberación es
satisfactoria, dicho documento ya no debería salir en la lista del ALV, porque dicha lista
muestra únicamente aquellos documentos no liberados.
En el enlace anterior, te muestro como debes controlar los parámetros del ALV para
modificar el Status GUI,  y como debe ser llamada la función que genera el ALV, vamos a
centrarnos aquí en el contenido del FORM USER_COMMAND.
Como Refrescar ALV tras un Cambio

 
Incluyendo estas 3 líneas en el código:
rs_selfield-refresh = ‘X’.
rs_selfield-col_stable = ‘X’.
rs_selfield-row_stable = ‘X’.
Nos aseguraremos de que todo cambio que hagamos al registro seleccionado, se verá
reflejado en al retornar el control al ALV, ya que en estas líneas se le esta indicando a la
estructura de control RS_SELFIELD que refresce sus datos para tomar los nuevos cambios
que se han sucedido.
 Luego lo que nos queda es actualizar la tabla interna que contiene el ALV; en este caso
llamada ITAB. En nuestro caso, como estamos eliminando los registros ya liberados, lo que
nos compete hacer es lo siguiente:
 DELETE itab INDEX RS_SELFIELD-TABINDEX.
 Con estas instrucciones, al retornar al ALV, veremos que el registro tratado ya no
aparecerá en la lista.
- See more at:
http://aprendeabap.com/blog/como-refrescar-un-alv-tras-un-cambio/#sthash.0P720Y4j.dpuf

También podría gustarte