✒️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
Unidad n°5: Los reportes
Lección n°7: El catálogo ALV automático, los logos, los encabezados y los status GUI
La creación del catálogo del ALV en forma automática:
Existen dos formas de crear el catálogo: la 1ra es manualmente, ingresando campo por campo (como en la anterior lección):
Y la 2da es automáticamente con el mód. de fun. REUSE_ALV_FIELDCATALOG_MERGE (tomando el ej anterior):
Para poder usar el mód. de fun. que crea autom. el catálogo, tenemos que modificar dos cosas del programa:
- La forma en como se declara la ti del ALV "TI_USUARIOS". Si creamos el catag. autom. debemos declarar la ti usando la sentencia OCCURS y LIKE, haciendo referencia a campos de una tbd existente:
Declarar la ti del catag. con la sentencia OCCURS 0 hace que no sea necesario declarar una cabecera o estructura, ya que viene incluida con la ti. - 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ód. del programa debe tener más de 72 carac. de ancho, ya sea de comentario o cód.
Para configurar el ancho del editor debemos ir a:
Utilidades -> Opciones -> Editor ABAP -> Editor -> Tildamos "Long. líneas compatib. descend. (72)".
Si no restringimos el ancho máx. de caract. en el cód. del programa, entonces al ejecutar el reporte ALV veremos el dump:
Entonces, si generamos el catalog. del ALV automat. usando REUSE_ALV_FIELDCATALOG_MERGE, luego de la ejecución de este mód. de fun., la ti TI_CATALOGO tendrá el contenido:
Si queremos modificar alguna de las propiedades de los campos del catal. del ALV, entonces luego de la ejecución del REUSE_ALV_FIELDCATALOG_MERGE, modificaremos el contenido de la ti TI_CATALOGO.
EJ: modificamos el contenido del texto medio correspondiente al campo NOMBRE_APE con el texto TEST:
En la ejecución veremos que en la tabla se cambió el nombre.
La utilización de logos y encabezados en los ALV:
En los ALV Grilla se pueden agregar logos y encabezados en los listados, pero en los ALV Lista no.
Para agregarlos, debemos declarar una ti del tipo SLIS_T_LISTHEADER y una estructura del tipo SLIS_LISTHEADER:
Antes de declararse al subru. que genera el catal. del ALV en forma autom., declararemos la subru. LLENAR_CABECERA:
Dentro de esta subru. vamos a llenar la ti TI_HEADER con el encabezado del reporte, el tipo y la fecha del sist:
Luego agregamos en la llamada al mód de fun. del ALV, el parám. exporting I_CALL_TOP_PAGE con el literal 'TOP-OF-.PAGE', que será el nombre de la subru. que carge el contenido del encabezado y el logo:
Ahora crearemos la subru. TOP_OF_PAGE con la llamada al mód. de fun. REUSE_ALV_COMMENTARY_WRITE, que carga el encabezado que definimos en la ti TI_HEADER, junto con el logo 'ENJOYSAP_LOGO':
Trans. SE78: para administrar los logos disponibles en el sist.
Finalmente ejecutamos el programa y veremos el ALV junto con su encabezado:
El uso de un status GUI en un ALV:
Para poder usar un status GUI en un reporte ALV, agregamos en la llamada al mód. de fun. del ALV el parám. exporting I_CALLBACK_PF_STATUS_SET con el literal 'PF_STATUS', (nombre de la subru. que declara el uso del Status GUI) y el parám. exporting I_CALLBACK_USER_COMMAND con el literal 'USER_COMMAND' (nombre de la subru. que se ejecuta para capturar la acción realizada por el usuario):
Ahora definimos la subru. PF_STATUS que configura el status GUI:
Vamos a crear un Status GUI, para ello hacemos clic derecho y seleccionamos Crear -> STATUS GUI:
Completamos el nombre del Status "0100" y un texto breve "Status 0100" y clic en la tilde.
Dentro de la barra de pulsadores crearemos un botón con la desc. Usuarios activos y el cód. USU_ACTI:
En las teclas de función del Status GUI 0100, agregamos los cód. 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ód. de los botones de navegación podremos configurarlos.
Debemos acordarnos de configurarlos con Tipo de función igual a E, sino no funcionarán como queremos:
Ahora agregamos la subru. USER_COMMAND que capturará las acciones hechas 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ód. existente en la subru. USER_COMMAND.
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada