El documento proporciona instrucciones paso a paso para crear reportes utilizando ALV (Abstract List Viewer) en SAP. Explica cómo declarar tablas y estructuras necesarias, construir el catálogo, configurar la salida, y ejecutar la función ALV. También cubre temas como agrupamiento, uso de encabezados, ALV jerárquicos y creación automática del catálogo.
El documento proporciona instrucciones paso a paso para crear reportes utilizando ALV (Abstract List Viewer) en SAP. Explica cómo declarar tablas y estructuras necesarias, construir el catálogo, configurar la salida, y ejecutar la función ALV. También cubre temas como agrupamiento, uso de encabezados, ALV jerárquicos y creación automática del catálogo.
El documento proporciona instrucciones paso a paso para crear reportes utilizando ALV (Abstract List Viewer) en SAP. Explica cómo declarar tablas y estructuras necesarias, construir el catálogo, configurar la salida, y ejecutar la función ALV. También cubre temas como agrupamiento, uso de encabezados, ALV jerárquicos y creación automática del catálogo.
El documento proporciona instrucciones paso a paso para crear reportes utilizando ALV (Abstract List Viewer) en SAP. Explica cómo declarar tablas y estructuras necesarias, construir el catálogo, configurar la salida, y ejecutar la función ALV. También cubre temas como agrupamiento, uso de encabezados, ALV jerárquicos y creación automática del catálogo.
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Está en la página 1de 13
1| Qu es un ALV?
Los tipos de ALV ms comnmente usados son tres:
Grillas, Listas y Jerrquico. Las Grillas y las Listas pueden utilizarse en cualquier reporte, Grillas -> REUSE_ALV_GRID_DISPLAY Listas -> REUSE_ALV_LIST_DISPLAY Jerrquico -> REUSE_ALV_HIERSEQ_LIST_DISPLAY
2| Mi primer reporte ALV PASO 1ero. : Declaraciones de tipos, estructuras y tablas propias del ALV Dentro de este paso, declaramos el tipo SLIS, que es necesario para la utilizacin de reportes ALV.
Tambin declaramos una tabla y una estructura para el catalogo del ALV que son del tipo SLIS_T_FIELDCAT_ALV y SLIS_FIELDCAT_ALV, otra estructura para la configuracin de la salida que es del tipo SLIS_LAYOUT_ALV y una variable del tipo SY-REPID, para almacenar el nombre del programa.
PASO 2do. : Declaracin de la tabla de salida del ALV Vamos a declarar la tabla de salida TI_USUARIOS que se mostrar en el ALV.
PASO 3ero. : Seleccin de los datos que se mostrarn en el ALV Ahora seleccionamos los datos de la tabla ZTABLA_USUARIOS, que mostraremos en el listado de salida y los guardamos en la tabla interna TI_USUARIOS.
PASO 4to. : Armado del catlogo del ALV Armamos el catlogo del ALV con los campos que sern las columnas de nuestro reporte. Para ello, completaremos para cada columna del listado, los siguientes campos pertenecientes a la tabla del catlogo.
Existen muchismas ms propiedades del catlogo que se pueden configurar segn lo que necesitemos mostrar en el listado. Para ms informacin, hacer doble click en el tipo SLIS_T_FIELDCAT_ALV.
PASO 5to. : Configuracin de la salida del ALV Vamos a cargar con valores la estructura ST_LAYOUT para configurar ciertos aspectos de la salida del ALV.
Existen muchismas ms opciones a configurar en el layout de un reporte ALV. Para ms informacin, hacer doble click en el tipo SLIS_LAYOUT_ALV.
PASO 6to. : Ejecucin de la funcin del ALV Por ltimo, lo que nos queda es la ejecucin de la funcin del ALV. Si queremos un reporte tipo grilla, ejecutaremos la funcin REUSE_ALV_GRID_DISPLAY. Si queremos un reporte tipo lista, ejecutaremos la funcin REUSE_ALV_LIST_DISPLAY. Ambas funciones se completan de la misma manera. Como dijimos anteriormente, los ALV jerrquicos se utilizan para cuando tenemos que mostrar datos de cabecera y detalle, por lo tanto no es aplicable para este ejemplo. Si es grilla:
Si es lista:
Finalmente si ejecutamos el reporte veremos, si usamos la funcin para grillas:
Y si usamos la funcin para listas:
1| Creacin del catlogo en forma automtica Existen dos formas de crear el catlogo del ALV, la primera es en forma manual, ingresando campo por campo, tal como hicimos en el ejemplo de la leccin anterior. La segunda, es crear el catlogo en forma automatica con la funcin REUSE_ALV_FIELDCATALOG_MERGE. Si tomamos el ejemplo de la leccin anterior, el cdigo para la creacin automtica sera 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 catlogo en forma automtica 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 caractres de ancho de la pantalla a 72. Esto lo hacemos desde la opcin de men Utilities/Settings/ABAP Editor/Editor/Downwars-Comp.Line Lenght(72).
2| Utilizacin 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 catlogo, 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 funcion del ALV, el parmetro 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 funcin REUSE_ALV_COMMENTARY_WRITE, que carga el encabezado que definimos en la tabla interna TI_HEADER, junto con el logo 'ENJOYSAP_LOGO'.
Para ver los logos disponibles en el sistema o cargar nuevos debemos utilizar la transaccin SE78.
Finalmente ejecutamos el programa y vemos:
3| Utilizacin de Status GUIs Para poder utilizar un Status GUI en un reporte ALV, vamos a agregar en la llamada a la funcin del ALV el parmetro exporting I_CALLBACK_PF_STATUS_SET con el literal 'PF_STATUS', que ser el nombre de la subrutina que declare la utilizacin del Status GUI y el parmetro exporting I_CALLBACK_USER_COMMAND con el literal 'USER_COMMAND', que ser el nombre de la subrutina que se ejecute para capturar la accin realizada por el usuario.
Ahora definimos la subrutina PF_STATUS que setea el status.
Vamos a crear en el status, un botn con la descripcin "Usuarios activos" y el cdigo USU_ACTI. Tambin en las Function Keys del status, agregamos los cdigos para poder navegar para atras, volver a la pantalla principal o salir del programa. Cuando creamos estos botones, debemos acordarnos de setearlos con Function Type ''E'', sino no funcionarn 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 botn de usuarios activos y si lo ejecutamos, se procesar el cdigo existente en la subrutina USER_COMMAND.
1| Agrupamiento en un ALV Podemos agrupar los registros que mostramos en un ALV. Para ello, declaramos una tabla del tipo SLIS_T_SORTINFO_ALV y una estructura del tipo SLIS_SORTINFO_ALV.
Luego antes de llamar a la funcin del ALV, vamos a cargar la tabla TI_SORT con los registros en el orden en el que deseamos agrupar.
Ahora debemos completar el parmetro exporting IT_SORT con nuestra tabla interna TI_SORT.
Finalmente, si ejecutamos el reporte, veremos la agrupacin por Estado Civil.
2| ALV Jerrquico Como dijimos anteriormente, los ALV Jerrquicos se utilizan cuando tenemos que mostrar en un reporte, datos de cabecera y de posicin. En las declaraciones de las tablas internas de cabecera y posiciones, debe haber como mnimo un campo en comn. En el caso que mostramos a continuacin, el campo comn es el CARRID, que es la compaia area.
Debemos declarar una estructura del tipo SLIS_KEYINFO_ALV, que ser ST_KEYINFO y contendr el campo clave que une a las dos tablas internas.
Ahora vamos a cargar las tablas internas de cabecera y detalle con un juego de datos para la compaia area ARG. En el programa de ejemplo de la leccin, tambin cargamos un juego de datos para la compaia area LAN.
Cuando configuremos la salida del reporte ALV, debemos setear la propiedad EXPAND_FIELDNAME con el nombre del campo que une a las dos tablas internas.
Luego crearemos el catlogo del ALV para ambas tablas internas, sumando los campos de ambas tablas en la tabla del catlogo TI_CATALOGO.
Ahora tenemos que completar la estructura ST_KEYINFO. En los campos HEADER01 y ITEM01 va a ir el campo de la tabla de cabecera que hace de vnculo con la tabla de detalles.
Por ltimo, ejecutamos la funcin REUSE_ALV_HIERSEQ_LIST_DISPLAY.