
El catálogo ALV automático, los logos, los encabezados y los status GUI
1 La creación del catálogo del ALV en forma automática.
En ABAP, el catálogo del ALV (Listado de Salida ABAP) puede generarse de manera automática utilizando el módulo de funciones REUSE_ALV_FIELDCATALOG_MERGE. Este método permite crear de forma dinámica las definiciones de columnas del ALV, simplificando el desarrollo del reporte.
Para ello, se deben cumplir dos requisitos fundamentales:
-
Declaración correcta de la tabla interna: Debe utilizarse la sentencia OCCURS y LIKE, haciendo referencia a una tabla base de datos existente. Esto asegura que la estructura de los campos coincida con los datos reales.
-
Configuración del editor ABAP: Es necesario limitar el ancho del código a 72 caracteres para evitar errores de ejecución (dumps). Esta configuración se realiza en el menú de utilidades del editor.
Una vez llamado el módulo de funciones, se genera automáticamente la tabla interna del catálogo (TI_CATALOGO). Si se desea modificar alguna propiedad de las columnas, como los textos de cabecera, se puede hacer directamente sobre esta tabla luego de su generación.
2 La utilización de logos y encabezados en los ALV
En los reportes ALV Grilla de SAP, es posible agregar logos e información de encabezado, cosa que no se puede hacer en los reportes ALV Lista. Para lograrlo, se siguen los siguientes pasos:
-
Declaración previa:
-
Subrutina LLENAR_CABECERA:
-
Parámetro EXPORTING:
-
Subrutina TOP_OF_PAGE:
-
Administración de logos:
3 La utilización de un status GUI en un ALV
El uso de un Status GUI en un reporte ALV (ABAP List Viewer) permite personalizar la interfaz gráfica añadiendo botones, menús y comandos específicos. Para implementarlo, se utilizan los parámetros I_CALLBACK_PF_STATUS_SET y I_CALLBACK_USER_COMMAND en la llamada al módulo de funciones del ALV. Estos parámetros hacen referencia a subrutinas que definen el Status GUI (PF_STATUS) y gestionan los comandos del usuario (USER_COMMAND).
El proceso incluye:
-
Crear el Status GUI desde la transacción SE80.
-
Asignar un nombre (por ejemplo, 0100) y una breve descripción.
-
Agregar botones personalizados en la barra de herramientas de la aplicación con códigos como USU_ACTI.
-
Incorporar teclas de función para navegación (BACK, EXIT, CANCEL) configuradas como funciones de tipo “E”.
-
Declarar el Status GUI en el programa con la sentencia SET PF-STATUS.
-
Gestionar las acciones del usuario usando el evento AT USER-COMMAND junto con la variable del sistema SY-UCOMM.