1 | Creación del catálogo en forma automática
Existen dos formas de crear catálogo ALV:
- Manual: ingresando campo por campo como en la lección anterior.
- Automática con la función REUSE_ALV_FIELDCATALOG_MERGE.
Para la forma automática, hay que modificar 2 puntos del programa:
-Modificar la forma de declarar la tabla interna usando LIKE y haciendo referencia a campos
de una tabla base de datos existente.
-Configurar el editor, para que se restrinja la cantidad de caracteres de ancho de la pantalla a 72.
MENU >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 catalogo llenamos la tabla TI_HEADER con el encabezado del Reporte, el tipo del reporte y la fecha del sistema.
-Luego agregamos en la llamada a la función del ALV, el parámetro I_CALL_TOP_PAGE con el literal ‘TOP_OF_PAGE’ (subrutina que carga 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’.
SE78: Transacción para ver los logos disponibles en el sistema o cargar nuevos.
OAER: Transacción con la también se pueden subir logos. En la pantalla de selección completar los parámetros así:
• Nombre Clase: introducir el texto picture
• Tipo de Clase: OT
• Clave del objeto: aquí poner el nombre que se le quiere dar al logo.
Luego ejecutamos y seleccionamos documento estándar.
Finalmente ejecutamos el programa y vemos.
3|Utilización de Status GUIs
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.
Definimos la subrutina PF_STATUS que setea el status.
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%uF0E0 Acordarse de setear
los Botones con Tipo de función (Function Type) igual a ''E'', sino no funcionarán como esperamos.
Agregar la subrutina que capturará las acciones realizadas por el usuario.
Ejecutar el reporte. Se verá 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.