✒️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
Apuntes ING Ezequiel Hurtado Benitez
La creación del catálogo del ALV, en forma automática. Existen dos formas de crear un catalogo del ALV, la primera es en forma manual, ingresando campo por campo. La segunda consiste en crear el catálogo del ALV en forma automática con el módulo de funciones REUSE_ALV_FIELDCATALOGO_MERGE. Para poder utilizar el módulo de funciones que crea automáticamente el catálogo vamos a tener que modificar dos puntos del programa: El primero consiste en la forma como se declara la tabla interna del ALV, en este caso TI_USUARIOS. 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 base de datos existente. ( la sentencia 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 hacer 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. 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 ABAP a 72 líneas accedemos a la opción menú:
>Utilidades
I->Opciones
I->Editor ABAP
I->Editor
I-> Y tildar Long. líneas compatib descend.(72)
Si no realizamos la restricción del máximo de 72 caracteres en el código del programa entonces al ejecutar el reporte ALV vamos a visualizar un dump en pantalla. Ahora bien si generamos el catálogo del ALV en forma automática utilizamos 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 tendrá el contenido descriptivo. Si deseamos modificar alguna de las propiedades de los campos del catálogo del ALV entonces luego de la ejecución del módulo 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, 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 del tipo SLIS_LISTHEADER. Antes de declarar 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 llamar la tabla interna TI_HEADER con el encabezado del reporte, el tipo de reporte y 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_OF_PAGE', que será el nombre de la subrutina que cargue el contenido del encabezado y el logo. 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 interna TI_HEADER, junto con el logo 'ENJOYSAP_LOGO'
Transacción SE78 Para administrar los logos disponibles en el sistema debemos utilizar la transacción estándar SE38.
Finalmente ejecutamos el programa y visualizaremos el ALV con su encabezado.
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 parámetro exporting I_CALLBACK_PF_STATUS_SET con el literal 'PF_STATUS', que será 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 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 Status 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 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, si esto no funciona como esperamos. Por ultimo agregamos la subrutina USER_COMMAND que capturará las acciones realizadas por el usuario. Finalmente si ejecutamos el reporte, veremos en el Status del GUI, el botón de usuarios activos y si lo ejecutamos, se procesará el código 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 del reporte ALV.
 
 
 
Sobre el autor
Publicación académica de Ezequiel Hurtado Benitez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ezequiel Hurtado Benitez
Profesión: Ingeniero Mecatrónico - Colombia - Legajo: FD18B
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero mecatrónico bilingüe con maestría en dirección de ventas y marketing empresarial, con conocimientos y experiencia en programación, diseño, elaboración y pruebas en proyectos de automatizació
Certificación Académica de Ezequiel Hurtado