✒️ABAP El catálogo ALV automático, los logos, los encabezados y los status GUI
ABAP 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
Existen dos formas de crear el catálogo del ALV, la primera es en forma manual, ingresando campo por campo.
La segunda consiste en crear el catálogo de ALV en forma automática con el módulo de funciones REUSE_ALV_ FIELDCATALOG_MERGE.
Para poder utilizar el módulo de funciones que crea automáticamente el catálogo se tiene que modificar dos puntos en el programa:
- El primero consiste en la forma en como se declara la tabla interna del ALV. Si creamos el catálogo en forma automática debemos declarar la tabla interna utilizando la sentencia OCCURS y LIKE y haciendo referencia a campos de una tabla a base de datos existente.
La declaración de la tabla interna del catálogo mediante la sentencia OCCURS 0 hace que no sea necesario declarar una cabecera o estructura ya que la misma viene incluida con la tabla interna.
- Lo segundo que vamos a tener que realizar para poder generar el catálogo en forma automática es configurar el editor, para que se restrinja la cantidad de caracteres de ancho de la pantalla a 72 caracteres. Esto significa que ninguna línea del código del programa debe tener más de 72 caracteres de ancho, ya sea de comentarios o de código.
La configuración del ancho del editor ABAP
Para configurar el ancho del editor ABAD a 72 líneas accedemos a la opción del menú:
> Utilidades |-> Opciones |-> Editor ABAP |-> Editor |-> y tildamos Long. líneas compatib descend.(72)
Si no realizamos la restricción del ancho máximo de 72 caracteres en el código del programa, entonces el ejecutar el reporte ALV vamos a visualizar un dump.
2. La utilización de logos y encabezados en los ALV
En los ALV Grilla podemos agregar logos y encabezados en los listados, cuestión que no es posible en el ALV Lista. Para ello, debemos declarar una tabla interna del tipo SLIS_T_LISTHEADER y una estructura de tipo SLIS_LISTHEADER.
Antes de declararse la subrutina que genera el catálogo del ALV en forma automática, vamos a declarar la subrutina LLENAR_CABECERA.
Y dentro de la subrutina LLENAR_CABECERA vamos a llenar la tabla interna TI_HEADER con el encabezado del reporte, el tipo de reporte y la fecha del sistema.
Luego agregamos en la llamada al módulo de funciones del ALV, el parámetro I_CALL_TO_PAGE con el literal 'TOP_OF_PAGE', que será el nombre de la subrutina que cargue el contenido del encabezado y el log.
Ahora vamos a crear la subrutina TOP-OF-PAGE con la llamada al módulo de funciones REUSE_ALV_COMMENTARY_WRITE, el cual carga el encabezado que definimos en la tabla TI_HEADER, junto con el logo 'ENJOYSAP_LOGO'.
Transacción SE78
Para administrar los logos disponibles en el sistema debemos utilizar de transacción estándar SE78.
3. La utilización de un status GUI en un ALV
Para poder utilizar un Status GUI en un reporte ALV, vamos a agregar en la llamada al módulo de funciones del ALV el parámetro exporting |_CALLBACK_PF_STATUS_ SET con el literal 'PF_STATUS' que será el nombre de la subrutina que declara la utilización del estatus GUI y el parámetro exporting I_CALLBACK_USER_COMMAND con el literal 'USER_COMMAND', que será el nombre de la subrutina que se ejecute para capturar la acción realizada por el usuario.
Ahora definimos la subrutina PF_STATUS que configura el status GUI.
Vamos a crear un estatus GUI, para ello hacemos clic en el botón derecho del mouse y seleccionamos Crear / STATUS GUI.
Completamos el nombre del Status que es 0100 y un texto breve que es Status 0100.
Dentro de la barra de pulsadores vamos a crear un botón con la descripción Usuarios activos y el código USU_ACTI.
En las Teclas de función del Status Gui 0100 agregamos los códigos de los botones de navegación para poder volver atrás (BACK), volver a la pantalla principal (EXIT) o salir del programa (CANCEL).
Si hacemos doble clic en cada uno de los códigos de los botones de navegación entonces podemos configurarlos. Debemos acordarnos de configurarlos con Tipo de función igual a E, sino no funcionarán como esperamos.
Por último agregamos la subrutina USER_COMMAND que capturará las acciones realizadas por el usuario.
Finalmente si ejecutamos el reporte, veremos en el Status GUI, el botón de usuarios activos y si lo ejecutamos, se procesará el código existente en la subrutina USER_COMMAND.
Y si por ejemplo hacemos clic en el botón Volver atrás de la barra de herramientas:
Entonces volvemos a la pantalla inicial del reporte ALV.
 
 
 
Sobre el autor
Publicación académica de Alexis Jesus Perez Ramirez, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexis Jesus Perez Ramirez
Profesión: Licenciado en Computaci?n - Venezuela - Legajo: LK96B
✒️Autor de: 69 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Licenciado en computaci?n egresado de la ucv, con amplia experiencia en base de datos, an?lisis de sistemas y programaci?n; tanto en ambiente web, cliente/servidor como en computaci?n central.
Certificación Académica de Alexis Perez