✒️ABAP El ALV Grid Control
ABAP El ALV Grid Control
Lección 8: ALV Grid Control
1 Introducción al ALV Grid Control
El sistema Sap nos permite crear controles Z utilizando objetos ABAP. Unos de los controles de los que hablamos ALV_GRID_CONTROL con el cual podemos crear reportes ALV utilizando objetos.
Con este control tendremos disponibles todas las fusiones estándar de la barra de menús y también podremos configurar todas las propiedades del ALV para adaptarlo a nuestras necesidades.
Para crear el ALV utilizaremos un Contenedor. Este objeto puede contener otros controles a parte del ALV_GRID_CONTROL como por ejemplo TREE CONTROL, SAP PICTURE CONTROL, SAP SPLITTER CONTROL y más.
El contenedor proporciona un área física para la visualización de los objetos. Todos los controles existen dentro de un contenedor.
Utilizaremos dos objetos para administrar los controles Z y el ALV GRID CONTROL. Ellos son las clases:
Ø CL_GUI_ALV_GRID
Reflexiones: podemos ver todos los atributos, métodos y demás configuraciones de los objetos a través del “Generador de clases” transacción SE24.
2 Pasos para la creación del ALV Grid Control
Creamos el reporte ZPRUEBA_ALV_GRID_CONTROL y realizamos las siguientes declaraciones de datos.
En el evento START-OF-SELECTION realizaremos la búsqueda de los datos en la tabla ZTABLA_USUARIOS.
En el evento END-OF-SELECTION se llamara a la dynpro 0100 que es la que almacenará el ALV.
Creamos la dynpro 0100 y el status gui 0100 con los botones de navegación estándar. Asignamos el OK_CODE a la dynpro.
Utilizando el Screen Painter. A través de la transacción SE80, creamos un Custom control que servirá de contenedor de nuestro ALV
Luego en la lista de elementos de la dynpro asignaremos el nombre CONTENEDOR al Custom control.
En la lógica de procesamiento de la dynpro creamos los siguientes módulos.
En el Modulo CREAR_OOBJETOS_0100 caemos los objetos O_CONTENEDOR y O_GRILLA tal como vemos a continuación:
Audio Tips: En nuestro reporte podemos excluir algunos botones estándar del menú que no serán utilizados para el usuario, para excluir estos botones debemos completar una tabla interna del tipo Gui_funtion y pasar esta tabla interna al parámetro it_toolbar_excluding Correspondiente al método SET_TABLE_FOR_FIRST_DISPLAY, los códigos de funciones que deseamos quitar de la barra se pueden obtener inspeccionando las constantes de la clase estándar cl_gui_alv_grid en la transacción SE24, para ocultar la barra de herramientas entera podemos asignar X al campo not toolbar del layaut
Utilizamos el método SET_YABLE_FOR_FISRT_DISPLAY para visualizar el ALV por primera vez, Luego si se realiza algún cambio al mismo utilizaremos el método REFRESH_TABLE_DISPLAY. Previamente a mostrar el ALV debemos completar el catalogo.
Finalmente en el módulo SALIR_0100 liberamos los objetos O_CONTADOR y O_GRILLA y volvemos a la pantalla inicial
Si ejecutamos el reporte veremos la siguiente salida en pantalla:
Audio Tips: Cuanto trabajamos con el ALV_GRID_CONTROL, nos puede suceder que dado un requerimiento, sea conveniente crear una pantalla de selección tal como la que creamos en los reportes clásicos. Y luego a parámetros introducidos por pantalla por el usuario se llame con la sentencia CALL SCREEN
a diferentes dynpros, el programa sería un hibrido dentro de un reporte clásico y un programa de dialogo
 
 
 
Sobre el autor
Publicación académica de Jhon Deibys Cano Pineda, en su ámbito de estudios para la Carrera Consultor ABAP.
Jhon Deibys Cano Pineda
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WZ11E
✒️Autor de: 118 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jhon Cano Pineda