✒️ABAP El ALV Grid Control
ABAP El ALV Grid Control
1.- Introducción al ALV GRID CONTROL.
SAP nos permite crear controles Z utilizando objetos ABAP. Uno de los controles de los que habalamos es el ALV_GRID_CONTROL con el cual podemos crear reportes ALV utilizando objetos.
ALV_GRID_CONTROL= Es un control de SAP que se utiliza para la creacon de ALV's grilla orientados a objetos.
ALV: Tipo de reporte especifico de ABAP donde el sistema nos proporciona una gran cantidad de funcionalidades para agregar a nuestro reporte, tal como la impresión, enviar a excel, ordenar, clasificar, etc.
Con el ALV_GRID_CONTROL tendremos disponibles todas las funcionalidades estándar de la barra de menús y también podremos configurar todas las propiedades de ALV para adaptarlo a nuestras necesidades.
Utilizaremos un CONTENEDOR. Este podrá contener, además del ALV_GRID_CONTROL, Tree Control, SAP Picture Control, SAP SPlitter Control y más.
- El contenedor: Propoorciona una área física para la visualización de los objetos.
- Todos los controles existen dentro de un contenedor.
- Usaremos 2 objetos para los controles Z y el ALV_GRID_CONTROL. Estas son las clases:
- CL_GUI_CUSTOM_CONTAINER.
- CL_GUI_ALV_GRID.
Podemos ver todos los atributos, métodos y demas configuraciones de los objetos a través del "GENERDOR DE CLASES", transacción SE24.
2.- Pasos para la creación de un ALV Grid Control.
- Creamos el reporte Z_PRUEBA_ALV_GRID_OBJETOS.
- Declaramos los datos en nuestro programa.
- En el evento START-OF-SELECTION reliazaremos la búsqueda de los datos en la tabla ZTABLA_USUARIOS.
- En el evento END-OF-SELECTION se llamará a la dynpro 0100 que es la que se almacenará el ALV.
- Creamos la DYNPRO 0100 y el STATUS_GUI 0100 con los botones de navegación estándar.
- Asiganmos 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.
- En la lista de elementos de la DYNPRO asignamos el nombre del CONTENEDOR al CUSTOM CONTROL.
- Creamos los módulos en el PBO(Process Before Output) y en PAI (Process After Input)
- En el módulo CREAR_OBJETOS_0100 crearemos los objetos O_CONTENEDOR y O_GRILLA.
- En nuestro reporte podemos querer excluir alguno de los botones estándar del menu ya que pueden No ser útiles para el usuario. Para excluir estos botones estándar deberemos de completar una tabla interna del tipo UI_FUNCTIONS y pasar esta tabla interna en el parámetro IT_TOOLBAR_EXCLUDING correspondiente al método SET_TABLE_FOR_FIRST_DISPLAY, los códigos de función de los botones que deseamos quitar de la barra se pueden obtner inspeccionando las constantes, de la clase estándar CL_GUI_ALV_GRID, por medio de la transacción SE24, para ocultar la barra de herramientas entera, podemos asignar X al campo NOTE_TALLBAR del LAYOUT.
- Utilizamos el método SET_TABLE_FOR_FIRST_DISPLAY para visualizar el ALV por primera vez.
- Si se realiza un cambio al mismo utilizamos el método REFRESH TABLE_DISPLAY. Previamente a mostrar el ALV debemos completar el catálogo.
- Finalmente en el módulo SALIR_0100 liberamos los objetos O_CONTENEDOR y O_GRILLA y volvemos a la pantalla inicial.
- Cuando trabajamos con el control ALV_GRID_CONTROL no puede suceder que dado un requerimiento sea conveniente crear una pantalla de selección tal como la creamos en los reportes clásicos y luego en base a parámetros introducidos en pantalla por el usuario se llame mediante la sentencia CALL_SCREEN a diferentes DYNPROS, el programa que estaríamos creando , sería un híbrido entre un reporte clásico y un programa de diálogo, si nos encontramos en dicha situación y realizamos por ejemplo un CALL_SCREEN a la DYNPRO 0100 y deseamos que al presionar el boton BACK del estatus en la DYNPRO 0100 el programa regrese a la pantalla de selección, entonces dentro del código correspondiente del boton Back, deberíamos ejecutar la sentencia LIVE_TO_SCREEN_0 en lugar de LEAVE_PROGRAM tal como mostramos en la lección ya que de lo contrario estaríamos abandonando el programa sin pasar por la pantalla de selección.
 
 
 
Sobre el autor
Publicación académica de Gustavo Alberto Ramirez Franco, en su ámbito de estudios para la Carrera Consultor ABAP.
Gustavo Alberto Ramirez Franco
Profesión: Ingeniero en Sistemas Computacionales - Mexico - Legajo: TA38Q
✒️Autor de: 38 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Gustavo Ramirez