![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los reportes ALV
ABAP Los reportes ALV
![ABAP Los reportes ALV ABAP Los reportes ALV](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/181.jpg)
REPORTE ALV (ABAP LIST VIEWER )
Es una herramienta exclusiva de ABAp , que se utiliza para crear reportes de manera eficaz,rápida y estandarizada.
Ventajas:
.- Simplifican el desarrollo de reportes , por lo tanto se reducen los tiempo de programación.
.- Proporcionan a nuestros reportes un montón de funcionalidad estándar.
.- Proporcionan una salida por pantalla estandarizada e uniforme.
Los tipos de ALV mas comunes son las Grillas,Listas y los Jerárquicos
Las Grillas (son reportes encuadrados como tablas) y las Listas(reporte similar cuando imprimimos con Write) pueden utilizarse en cualquier reporte, pero el Jerarquico se utiliza solo en los casos donde se muestran datos de cabecera y Detalle como por ejemplo : Factura y detalles o Aerolineas y Vuelos.
A cada ALV le corresponde una Funcion diferente:
Grillas: REUSE ALV GRID DISPLAY
Listas: REUSE ALV LIST DISPLAY
Jerarquico: REUSE ALV HIERSEQ LIST DISPLAY
1erAudio
No es recomendable utilizar reportes ALV en procesos de fondo ya que son reportes interactivos.
Dado que los reportes ALV requieren de la Interacción del Usuario con el reporte ya que proporcionan muchísimas utilidades estándar que el usuario del reporte puede utilizar sin necesidad de ser programadas entonces no tiene sentido el uso de reportes ALV en procesos que se ejecutaran de fondo, ya que este tipo de reportes requiere de la interacción del usuario con el reporte. Este punto es importante tenerlo en cuenta en el diseño técnico del reporte
2). Mi Primer Reporte ALV
1ero Paso :Declaraciones de Tipos , estructuras y Tablas propias de ALV:
Acá declaramos el Tipo SLIS (grupo de tipos que contiene la declaracion de todas las tablas y estructuras del reporte ALV)
Declaramos una Tabla y una estructura para el catálogo ALV son:
SLIS_T_FIELD_ALV(tabla) y SLIS_FIELDCAT_ALV(estructura de la tabla) , otra estructura para la salida es el tipos SLIS_LAYOUT_ALV y una variable tipo SY-REPID (almacena el nombre del programa)
Ejemplo:
TYPE-POOLS: SLIS.
* Tabla y Estructura del catálogo
DATA: ti_catalogo TYPE SLIS_T_FIELDCAT_ALV,
st_catalogo TYPE SLIS_FIELDCAT_ALV,
* Estructura para la configuración de la salida
st_layout TYPE SLIS_LAYOUT_ALV,
* Variable con el Nombre del programa
v_repid LiKE sy-repid.
2do paso: Declaración de la Tabla de salida del ALV
Ejemplo:
* Tabla de salida del ALV
DATA: ti_usuarios TYPE STANDARD TABLE OF ztabla_usuarios,
st_usuarios LIKE LINE OF ti_usuarios.
3er Paso: Selección de datos que se mostrarán en el ALV
Seleccionamos los datos de la Tabla ZTABLA_USUARIOS, que mostraremos en el listado de salida y los guardamos en la tabla interna TI_USUARIOS
SELECT dni nombre_ape estao_usu direccion codigo_postal f_nacimiento estado_civil
FROM ztabla_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios.
4to Paso Armado del catálogo ALV
Armamos el catálogo del ALV con los campos que serán columnas de nuestro reporte. Para ellos hay que completar cada columna del listado, los siguientes campos pertenecientes a la tabla catálogo
CLEAR st_catalogo.
st_catalogo-fieldname = 'DNI'. "Nombre del campo
st_catalogo-tabname = 'TI_USUARIOS'. "Nombre Tabla
st_catalogo-seltext_s = 'DNI'. "Descripcion corta de la Cabecera
st_catalogo-seltext_m = 'DNI'. "Descripcion media de la Cabecera
st_catalogo-seltext_l = 'DNI'. "Descripcion larga de la Cabecera
st_catalogo-outputlen = 15. "Ancho de la columna
st_catalogo-just = 'L' . "Alineación
APPEND st_catalogo TO ti_catalogo.
Existen mas propiedades del catálogo que se pueden configurar segun si necesitamos mostrar en el Listado, para obtener mas información hay que hacer DOBLE CLICK en SLIS_T_FIELDCAT_ALV
5to PASO Configuración de la Salida del ALV.
acá se cargan os valores de la estructura ST_LAYOUT para configurar la salida del ALV.
CLEAR st_layout.
st_layout-zebra ='X' . " Rayado de lineas
st_layout-window_titlebar = text-001. " Titulo de la ventana principal
existen mas opciones para configurar en el layout de un reporte ALV. Mas información con DOBLE CLICK EN SLIS_LAYOUT_ALV
6to Paso ejecución de la Función del ALV
Se ejecuta el reporte ALV. Si queremos tipo Grilla, ejecutamos la función base REUSE_ALV_GRID_DISPLAY , tipo si queremos una tipo Lista ejecutamos REUSE_ALV_LIST_DISPLAY.
Ambas funciones se completan de la misma manera.
Si es Grilla:
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v-repid
it_fieldcat = ti_catalogo()
is_layout =st_layout
TABLES
t_outtab = ti_usuarios.
Si es LISTA:
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v-repid
it_fieldcat = ti_catalogo()
is_layout =st_layout
TABLES
t_outtab = ti_usuarios
Probamos la ejecución de los CALL FUNCTION y vemos la diferencia de aspectos e los dos tipos de reportes.
AUDIO: Debemos tener en cuenta que por convención de ABAP colocaremos siempre a la derecha de la tabla interna del catálogo tanto en la función que genera la grilla como la que genera la lista una llave abierta y una llave cerrada.
NOTA: La principal diferencia entre el ALV grilla y el ALV lista se encuentra en la visualización, la cual es bastante diferente.
A su vez el ALV GRID permite la generación de un encabezado en la parte superior del listado en el cual podemos colocar un logo con totales y subtotales, lo que no es posible con ALV LIST.
El ALV LIST genera una lista de visualización usando la sentencia ARRAY, esto le da la misma apariencia o LOOK AND FELL de los llamados reportes clásicos.
El ALV GRID es más bonito y permite copiar y pegar columnas en donde queramos lo que no es posible con ALV LIST.
El ALV GRID no se puede ejecutar de fondo, por lo que el modulo de funciones REUSE_ALV traducirá automáticamente la salida en pantalla a ALV LIST, si ejecutamos el reporte de fondo.
El ALV GRID utiliza controles ACTIVEX en el servidor de presentación por lo que consume más memoria en el servidor que el ALV LIST.
El ALV LIST permite solo la visualización de los datos, en cambio con el ALV GRID podemos editar los registros y los campos si así lo deseamos.
 
 
 
Sobre el autor
Publicación académica de Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.
Carlos Alberto Carreira
Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G
✒️Autor de: 92 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
🎓Egresado de los módulos:
Certificación Académica de Carlos Carreira