Navegacion ALV

Copiar o Modificar Status GUI para un ALV

En ocasiones, nos piden que diseñemos un reporte ALV, el cual tenga alguna funcionalidad especial en su barra de pulsadores/botones.

Un ejemplo común, un ALV al cual podamos seleccionar alguno(s) registro(s), para luego pulsar un botón en la barra y cumplir alguna acción (liberar/bloquear pedidos, por ejemplo).

En otras palabras más técnicas, nos están pidiendo que nuestro Status GUI cuente con un botón adicional que haga determinada acción.

Pues bien, la mejor estrategia en este caso, sería copiar un Status GUI del ALV estándar en nuestro reporte,  para conservar las funciones del ALV, y añadirle el nuevo botón.

Recomiendo tomar como fuente el Status ‘STANDARD’ del grupo de funciones ‘SALV’, para ello entramos en la SE80 para ubicar dicho grupo de funciones.         

Status ALV Standard

Status ALV Standard

Buscamos el Status GUI que nos interesa (en este caso el llamado STANDARD), damos clic derecho y seleccionamos “Copiar”.

Copiar Status ALV Standard

Copiar Status ALV Standard

Nos aparece la siguiente ventana, en la cual debemos indicar de donde a donde queremos copiar, indicamos el programa y Status origen (ya vendrá escrito si tomas este camino al pie de la letra) e indicamos en donde queremos que se copie; ubicamos nuestro reporte Z y le damos un nombre al nuevo Status, por ejemplo:

Copiar Status GUI ALV Standard

Copiar Status GUI ALV Standard

Al darle copiar, nos sale la siguiente ventana, le damos al botón ‘Tomar’.

Copiar Status GUI ALV

Copiar Status GUI ALV

Ahora buscamos el reporte Z y activamos el Status que acabamos de crear.

Copiar Status GUI ALV en nuestro Reporte

Copiar Status GUI ALV en nuestro Reporte

Nos dirigimos a la función del llamado al ALV, y escribimos la siguiente línea:

             I_CALLBACK_PF_STATUS_SET = ‘PF_STATUS’

NOTA: ‘PF_STATUS’ es un nombre cualquiera, aquí NO debe ir el nombre del Status GUI creado, ya que no funcionaría; debemos verlo como un PERFORM, escribimos un nombre cualquiera entre comillas, y luego creamos un FORM con ese mismo nombre como se observa en las siguientes imágenes.

Crear ALV Grid

Crear ALV Grid

PF Status ALV Standard

PF Status ALV Standard

Como se observa en la imagen, dentro del FORM si colocamos el nombre del Status GUI recién creado, realizando este último paso correctamente, ya tendremos a nuestra disposición el Status Standard para hacerle los ajustes que nos pidan, como añadirle algún botón de función específica.

Ahora entramos en la edición de nuestro nuevo Status GUI para añadirle la nueva función en la barra de pulsadores, (en este ejemplo, añadí un botón/pulsador llamado “Liberar Documento”.

Funciones Status GUI ALV

Funciones Status GUI ALV

Se le asignan los parámetros correspondientes:

Detalles Técnicos Funciones Status GUI

Detalles Técnicos Funciones Status GUI

Ahora, debemos añadir la siguiente línea en la función que invoca al ALV:

  I_CALLBACK_USER_COMMAND  = ‘USER_COMMAND’

 (Ver 2 imágenes más arriba)

Lo que nos queda por hacer, es crear un FORM llamado USER_COMMAND, en la cual capturaremos el evento (SY-UCOMM) asociado a nuestro nuevo botón/pulsador, para interpretar los registros del ALV y proceder a programar las funcionalidades solicitadas.

Form User Command

Form User Command

R_UCOMM recibe el valor SY-UCOMM del pulsador activado, mientras RS_SELFIELD recibe información del registro seleccionado para tratamiento (muy útil el campo RS_SELFIELD-TABINDEX; nos indicará que registro de la tabla interna del ALV fue seleccionado). 

Este es el resultado de nuestro ALV, véase el botón/pulsador “Liberar Documento”.

Modificar Status GUI ALV

Modificar Status GUI ALV

¿Te ha sido de utilidad este artículo? Házmelo saber con tus comentarios, y suscríbete a mi Comunidad para recibir mi curso gratuito “AprendeABAP en 10 lecciones”, además de contenidos exclusivos  sobre el mundo ABAP.

Richard Rey

“Programando tu Exito”

Opt In Image
Quieres aprender a hacer Reportes ALV?
Descubre la magia de los Reportes SAP en mi Taller Especial de ALV !!!

Se de los primeros en apuntarte y no te quedes sin cupos haciendo clic AQUÍ

O también puedes dejar tus datos aquí abajo y formarás parte de mi comunidad exclusiva, además de recibir mi curso de regalo "Los 7 Pasos para ser un Consultor Exitoso".

 

 

PD: Odio el SPAM. No compartire tus datos con nadie

Si te gusta, compártelo! ...Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+Email this to someonePrint this page

Comentarios