✒️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
Lección 7
Catálogo ALV automático, logos, encabezados y status
1 | Creación del catálogo en forma automática
Existen dos formas de crear el catálogo del ALV, la primera es en forma manual, ingresando campo por campo, tal como hicimos en el ejemplo de la lección anterior. La segunda, es crear el catálogo en forma automática con la función REUSE_ALV_FIELDCATALOG_MERGE.
Si tomamos el ejemplo de la lección anterior, el código para la creación automática sería el siguiente:
Pero para poder hacer esto vamos a tener que modificar dos puntos del programa. El primero es la forma como se declara la tabla interna del ALV. Si creamos el catálogo en forma automática debemos declarar la tabla interna utilizando LIKE y haciendo referencia a campos de una tabla base de datos existente.
Lo otro que debemos hacer es configurar el editor, para que se restrinja la cantidad de caracteres de ancho de la pantalla a 72.
USO DEL MENÚ: Configuración del ancho del Editor ABAP
Para configurar el ancho del editor ABAP a 72 líneas accedemos a la opción del menú:
> Utilidades
|-> Opciones
|-> Editor ABAP
|-> Editor
|-> Y tildamos Long. lineas compatib descend.(72)
2 | Utilización de Logos y encabezados
En los ALV Grilla podemos agregar logos y encabezados en los listados. Para ello, debemos declarar una tabla del tipo SLIS_T_LISTHEADER y una estructura del tipo SLIS_LISTHEADER.
Antes de completar el catálogo, vamos a llenar la tabla TI_HEADER con el encabezado del Reporte, el tipo de reporte y la fecha del sistema.
Luego, agregamos en la llamada a la función del ALV, el parámetro exporting I_CALL_TOP_PAGE con el literal 'TOP_OF_PAGE', que será el nombre de la subrutina que cargue el contenido del encabezado y el logo.
Ahora creamos la subrutina TOP_OF_PAGE, con la llamada a la función REUSE_ALV_COMMENTARY_WRITE, que carga el encabezado que definimos en la tabla interna TI_HEADER, junto con el logo 'ENJOYSAP_LOGO'.
TRANSACCIONES: Transacción SE78
Para ver los logos disponibles en el sistema o cargar nuevos debemos utilizar la transacción SE78.
Finalmente ejecutamos el programa y vemos:
AUDIO TIPS 1: Otra posibilidad de la que disponemos para subir logos a SAP aparte de la transacción SE78 es la transacción estándar OAER. Para subir un logo a SAP accedemos a la transacción OAER y luego en la pantalla de selección que vemos a continuación completamos los parámetros de las siguientes formas. En el parámetro NOMBRE CLASE, introducimos el texto PICTURE. En el parámetro TIPO DE CLASE, introducimos el texto OT. Y en el parámetro CLAVE DEL OBJETO, introducimos el nombre que se le quiere dar al logo, por ejemplo, LOGO_EMPRESA en mayúscula. Finalmente ejecutamos la transacción y en la siguiente pantalla, seleccionamos Documento Estándar, pinchamos sobre el ícono 'imagen', aquí verificamos que se pueden subir al sistema distintos tipos de archivos, y visualizaremos una ventana de diálogo donde podemos seleccionar y subir el archivo desde nuestra pc al servidor para utilizarlo en un encabezado de un ALV. Si deseamos agregar la imagen a una orden de transporte debemos acceder al menú documentos --> transportar.
3 | Utilización de Status GUIs
Para poder utilizar un Status GUI en un reporte ALV, vamos a agregar en la llamada a la función del ALV el parámetro exporting I_CALLBACK_PF_STATUS_SET con el literal 'PF_STATUS', que será el nombre de la subrutina que declare la utilización del Status 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 setea el status.
Vamos a crear en el status, un botón con la descripción "Usuarios activos" y el código USU_ACTI.
También en las Teclas de función (Function Keys) del status, agregamos los códigos para poder navegar para atrás, volver a la pantalla principal o salir del programa. Cuando creamos estos botones, debemos acordarnos de setearlos con Tipo de función (Function Type) igual a ''E'', sino no funcionarán como esperamos.
Por último agregamos la subrutina 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.
 
 
 
Sobre el autor
Publicación académica de Freddy Enrique Sierra Yepez, en su ámbito de estudios para la Carrera Consultor ABAP.
Freddy Enrique Sierra Yepez
Profesión: Ingeniero de Sistemas - Colombia - Legajo: PA44Z
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Freddy Sierra