Introducción
El ALV (ABAP List Viewer) es un componente estándar de SAP que se utiliza para representar datos estructurados en forma de tablas, lista jerárquica o estructura de árboles.
Dos formas más comunes de usarlas son CL_SALV_TABLE (SALV) o CL_GUI_ALV_GRID (GRID). Ambas son para mostrar los datos en forma de tabla.
SALV (CL_SALV_TABLE)
DECLARACIÓN ABAP
![]()

CARACTERÍSTICAS
- Creación del ALV con pocas líneas de código.
- No requiere dynpros ni contenedores.
- Orientado a listados de solo lectura.
- Incluye de forma estándar funcionalidades para ordenar, filtrar, subtotales y exportar.
- No admite edición de celdas ni manejo de eventos.
Aunque su objetivo es la simplicidad, permite ciertas configuraciones/personalizaciones mediante objetos auxiliares:
- Ajuste de columnas (CL_SALV_COLUMNS_TABLE).
- Modificación de títulos y textos (CL_SALV_COLUMN_TABLE).
- Definición de agregados y subtotales (CL_SALV_AGGREGATIONS).
- Activación de filtros y funciones de exportación (CL_SALV_FUNCTIONS_LIST).
CL_GUI_ALV_GRID
DECLARACIÓN ABAP

El control custom que es necesario crear en la dynpro para mostrar el alv. Esta es una diferencia importante respecto al punto anterior)


MÉTODOS FRECUENTES
- SET_TABLE_FOR_FIRST_DISPLAY: inicialización y visualización de datos.
- REFRESH_TABLE_DISPLAY: actualización de la visualización tras cambios en la tabla interna.
- GET_SELECTED_ROWS / SET_SELECTED_ROWS: obtención y asignación de filas seleccionadas (nombres, longitudes, visibilidad, etc.).
- GET_FILTERED_ENTRIES: recuperación de registros tras aplicar filtros.
- GET_FRONTEND_LAYOUT / SET_FRONTEND_LAYOUT: Leer o fijar el layout actual (ajustes de usuario: totales, colores, anchura, etc.).
- GET_FRONTEND_CATALOG / SET_FRONTEND_CATALOG: lectura y modificación del catálogo de campos.
EVENTOS HABITUALES
- DOUBLE_CLICK: ejecución de lógica al hacer doble clic en una celda.
- USER_COMMAND: Captura comandos definidos por el programador (botones propios, menús, etc.).
- HOTSPOT_CLICK: Captura clic sobre un campo marcado como hotspot (subrayado, estilo link).
LAYOUT Y FIELD CATALOG
- CWIDTH_OPT: Optimiza el ajuste automático de ancho de columna.
- SEL_MODE: Establece el modo de selección (fila única, múltiples filas, celdas).
- NO_TOOLBAR: Ocultar la barra de herramientas estándar.
- GRID_TITLE: título superior del ALV.
Comparación
| SALV (CL_SALV_TABLE) | GRID (CL_GUI_ALV_GRID) | |
| Complejidad de uso | Código reducido | Mayor configuración |
| Edición de datos | No | Disponible |
| Eventos | No | Disponibles (doble clic, edición, etc.) |
| Layout y campos | Básica | Personalización avanzada |
| Contenedor | No requiere | Necesario (Control Custom) |
Conclusión
SALV y CL_GUI_ALV_GRID son dos alternativas para implementar ALV en ABAP. Ambas permiten mostrar información con funcionalidades estándar, pero presentan diferencias importantes en cuanto a complejidad, personalización… La elección entre una u otra dependerá de cada desarrollo.
Si deseas conocer más sobre cómo implementar o personalizar ALV en tus desarrollos ABAP, no dudes en contactarnos. Nuestro equipo puede ayudarte a optimizar tus reportes y aprovechar al máximo las funcionalidades de SAP.
Más información:
Quizas te pueda interesar
Apps que agilizan tu almacén MM
Además de las aplicaciones dirigidas al módulo de gestión de almacenes de SAP, en Oreka IT también hemos desarrollado aplicaciones útiles para el módulo de MM. En este artículo se detallará el funcionamiento de las aplicaciones que en OREKA IT se han desarrollado...
Aplicaciones logísticas:
Control de Stocks y Movimientos manuales
Actualmente, el uso del módulo de Warehouse Management (WM) en SAP puede resultar poco intuitivo para muchos usuarios, especialmente en tareas operativas diarias. Para mejorar esta situación, se ha tomado la decisión de desarrollar nuevas aplicaciones que hagan más...
Contribución SCRAP
Solución para cumplir con las obligaciones legales la gestión sostenible de residuos y la promoción de la economía circular. En Oreka IT hemos creado este desarrollo a medida que da solución al Real Decreto 1055/2022 que se enmarca dentro de las políticas de la Unión...


