✒️ABAP Los reportes ALV
ABAP Los reportes ALV
REPORTES ALV: GRILLAS Y LISTAS
1. QUE ES UN ALV?
ALV (ABAP List Viewer): Es una herramienta exclusiva de ABAP, q se utiliza para crear reportes de manera eficaz, rápida y estandarizada.
VENTAJAS:
- Simplifican el desarrollo de reportes, por lo tanto se reducen los tiempos de programación.
- Proporcionan a nuestros reportes un montón de funcionalidad estándar.
- Proporcionan una salida por pantalla estandarizada e uniforme.
La creación de un Reporte ALV, se basa en la utilización de funciones.
Tipos de ALV:
- Grillas:------|
|----> Pueden utilizarse en cualquier reporte.
- Listas:-------|
- Jerárquico: Se utiliza sólo en los casos donde se muestran datos de cabeceras y de detalle, como por ejemplo números de factura y detalles o Aerolíneas y vuelos.
A cada tipo de ALV le corresponde una función diferente q son:
- Grillas --> REUSE_ALV_GRID_DISPLAY
- Listas --> REUSE_ALV_LIST_DISPLAY
- Jerárquico --> REUSE_ALV_HIERSEQ_LIST_DISPLAY
Dado q los reportes ALV requiere de la interacción del usuario con el reporte ya q proporciona muchísimas funcionalidades estándar q el usuario del reporte puede utilizar sin necesidad de ser programadas, entonces no tienen el menor sentido la utilización de ALV en procesos q se ejecutaran de fondo en donde el usuario no podrá sacar provecho de dicha funcionalidad, este punto es importante tenerlo en cuenta al momento de realizar la especificación o diseño técnico del reporte q es el momento en donde se piensa todos los aspectos y alcance del programa a crear.
2. MI PRIMER REPORTE ALV.
Pasos para crear el primer reporte ALV
PASO 1ero: Declaraciones de tipos, estructuras y tablas propias del ALV
Declaramos el tipo SLIS, q es necesario para la utilización de reporte ALV.
TYPE-POOLS: slis.
También declaramos una tabla y una estructura para el catálogo del ALV q son del tipo SLIS_T_FIELDCAT_ALV y
SLIS_FIELDCAT_ALV, otra estructura para la configuración de la salida q es del tipo SLIS_LAYOUT_ALV y una variable del tipo SY-REPID, para almacenar el nombre del programa.
Ej:
* Tabla y estructura del catalogo
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.
PASO 2do: Declaración de la tabla de salida del ALV
Vamos a declarar la tabla de salida TI_USUARIOS q se mostrará en el ALV.
Ej:
* Tabla de salida del ALV
DATA: ti_usuarios TYPE STANDARD TABLE OF ztabla_usuarios,
st_usuarios LIKE LINE OF ti_usuarios.
PASO 3ero: Selección de los datos q se mostrarán en el ALV
Ahora seleccionamos los datos de la tabla ZTABLA_USUARIOS, q mostraremos en el listado de salida y lo guardamos en la tabla interna TI_USUARIOS.
Ej:
SELECT dni nombre_ape estado_usu direccion codigo_postal f_nacimiento estado_civil
FROM ztabla_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios.
PASO 4to: Armado del catálogo del ALV
Armamos el catálogo del ALV con los campos q serán las columnas de nuestro reporte. Para ello, completaremos para cada columna del listado, los siguientes campos pertenecientes a la tabla del catálogo.
Ej:
CLEAR st_catalogo.
st_catalogo-fieldname = 'DNI'. "Nombre del campo
st_catalogo-tabname = 'TI_USUARIOS'. "Nombre Tabla
st_catalogo-seltext_s = 'DNI'. "Descripción corta Cabecera
st_catalogo-seltext_m = 'DNI'. "Descripción media Cabecera
st_catalogo-seltext_l = 'DNI'. "Descripción larga Cabecera
st_catalogo-outputlen = 15. "Ancho de la columna
st_catalogo-just = 'L'. "Alineación
APPEND st_catalogo TO ti_catalogo.
Existen muchísimas más propiedades del catálogo q se pueden configurar según lo q necesitemos mostrar en el listado.
PASO 5to: Configuración de la salida del ALV
Vamos a cargar con valores la estructura ST_LAYOUT para configurar ciertos aspectos de la salida del ALV.
Ej:
CLEAR st_layout.
st_layout-zebra = 'X'. " Rayado de lineas
st_layout-window_titlebar = text-001. " Titulo Ventana Principal
Existen muchas más opciones a configurar en el layout de un reporte ALV.
PASO 6to: Ejecución de la función del ALV
Por último, lo q nos queda es la ejecución de la función del ALV.
Si queremos un reporte tipo grilla, ejecutaremos la función REUSE_ALV_GRID_DISPLAY.
Si queremos un reporte tipo lista, ejecutaremos la función REUSE_ALV_LIST_DISPLAY.
Ambas funciones se completan de la misma manera. Como dijimos anteriormente, los ALV jerárquicos se utilizan para cuando tenemos q mostrar datos de cabeceras y detalle, por lo tanto no es aplicable para este ejemplo.
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.
 
 
 
Sobre el autor
Publicación académica de Mayra Maria Pino Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Mayra Maria Pino Rodriguez
Profesión: Licenciada Cibernética Matemática - Republica Dominicana - Legajo: RA62Z
✒️Autor de: 56 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Mayra Pino