✒️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
La creación del catálogo del ALV en fortmato automatica:
Existen dos formas de crear el catálogo del ALV, la primera es en formato manual, ingresando campo,
La segunda consiste en crear el catálogo del ALV en formato automática con el mópdulo de funciones REUSE_ALV_FIELDCATALOG_MERGE.
Pero para poder utilizar el módulo de funciones que creamos automáticamente el caalogo vamos a tener que modificar dos puntos del programa :
- se declara la tabla interna del ALV, en este caso TI_USUARIOS. Si creamos el catálogo en forma utomatica debemops declarar la tabla interna utilizando la sentencia OCCURS y LIKE y hacemos referencia a campos de una tabla base de datos existente.
- Lo segundo que vamos a tener que hacer para poder generar el catálogo en forma automatica es configurarel editor, para que se restrinja la cantidad de caracteres de ancho de la pantalla a 72 caracteres. Esto significa que ninguna linea del código del programa debe tener 72 caracteres de ancho, ya sea de comentarios o de código.
Si no realizamos la restricción del ancho máximo de 72 caracteres en el código del programa entonces al ejecutar el reporte ALV vamoas a visualizar el siguiente dump en pantalla:
Ahora bien si generamos el cátalogo del ALV en formato automatico utilizando el módulo de funciones REUSE_ALV_FIELDCATALOG_MERGE entonces luego de la ejecución de este módulo de funciones la tabla interna TI_CATALOGO.
Si deseamos modificar algunas de las propiedades de los campos del catálogo del ALVentonces luego de la ejecución del módulo de funciones REUSE_ALV_FIELDCATALOG_MERGE vamos a tener que modificar el contenido de la tabla interna TI_CATALOGO.
La utilización de logos y encabezados en los ALV:
En los ALV Grilla podemos agregar logos y encabezados en los listados, cuestion que no es posible en el ALV Lista. Para ello, debemos declarar una tabla interna del tipo SLIS_T_ LISTHEADER y una estructura del 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 titulo del reporte y la fecha del sistema. Luego agregamos en la llamada al módulo de funciones del ALV, el parámetro exporting I_CALL_TOP_PAGE con el literal 'TOP_OFPAGE', que será el nombre de la subrutina que cargue el contenido del encabezado y el logo.
Ahora vamops 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 interna TI_HEADER, junto con el logo 'ENJOYSAP_LOGO'. Finalmente ejecutamos el programa y visualizamos el ALV junto con su ecabezado.
Transacción SE78 para administrar los logos disponibles en el sistema.
La utilización de un estatus 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 I_CALLBACK_PF_STATUS_SET con el literal 'PF_STATU', que sera el nombre de la subrutina que declara la utilización del status GUI y el parámetro exporting I_CALLBACK_USER_COMMAND con el literal 'USER_COMMAND', que sera el nombre de la subrutina que se ejecuta para capturar la accion realizada por el usuario.
Ahora definimos la subrutina PF_STATUS que configura el status GUI.
Vamos a crear unstatus 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 texo 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 tacla 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 modificarlos. Debemos acordarnos de configurarlos con Tipo de función igual a E, sino no funcionarán como esperamos. Por último agregamos la subrutina USAR_COMMAND que capturará las acciones realisadas por el usuario.
Final mente 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, entoces volvemos a la pantalla inicial del reporte ALV.
 
 
 
Sobre el autor
Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Javier Miguel Angel Barcelo
Profesión: Militar - Argentina - Legajo: DQ34X
✒️Autor de: 107 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Certificación Académica de Javier Angel