REUSE_ALV_LIST_DISPLAY
Muestra una tabla interna como listado ALV en formato lista (no rejilla).
- Transacción
SE37- Grupo
ALV- Actualizado
- 21 de octubre de 2026
Función obsoleta. Para listados nuevos usa la clase CL_SALV_TABLE. Si necesitas el aspecto de lista clásica, pasa list_display = abap_true al método factory. Tienes el ejemplo moderno más abajo.
Para qué sirve
REUSE_ALV_LIST_DISPLAY pinta una tabla interna como un listado ALV clásico, con aspecto de lista impresa. El usuario puede ordenar, filtrar, sumar y exportar igual que en el ALV Grid.
Sus parámetros son prácticamente los mismos que los de REUSE_ALV_GRID_DISPLAY: catálogo de campos (IT_FIELDCAT) o estructura del diccionario (I_STRUCTURE_NAME), aspecto (IS_LAYOUT) y eventos atendidos por formularios FORM del programa.
Es una función antigua basada en subrutinas. Para listados nuevos se usa la clase CL_SALV_TABLE, que puede mostrar el resultado también en formato lista.
Parámetros
Esta función tiene muchos parámetros; aquí están los más usados. La lista completa se ve en la transacción SE37.
Importing
Lo que recibe la función. En CALL FUNCTION se pasan tras EXPORTING.
| Parámetro | Tipo | Descripción |
|---|---|---|
I_CALLBACK_PROGRAM | SY-REPID | Programa con los FORM de los eventos. Pasa sy-repid copiado antes en una variable. |
I_CALLBACK_PF_STATUS_SET | SLIS_FORMNAME | FORM que pone un status propio. |
I_CALLBACK_USER_COMMAND | SLIS_FORMNAME | FORM que recibe los botones y el doble clic. |
I_STRUCTURE_NAME | DD02L-TABNAME | Estructura del diccionario de la que se toma el catálogo. |
IS_LAYOUT | SLIS_LAYOUT_ALV | Aspecto del listado: ajuste de columnas, cebra, color de fila… |
IT_FIELDCAT | SLIS_T_FIELDCAT_ALV | Catálogo de campos. |
IT_SORT | SLIS_T_SORTINFO_ALV | Ordenación y subtotales iniciales. |
I_SAVE | CHAR01 | Permite guardar variantes: 'A', 'U' o 'X'.Por defecto: SPACE |
IS_VARIANT | DISVARIANT | Variante de visualización inicial. |
IT_EVENTS | SLIS_T_EVENT | Eventos y FORM que los atienden. |
Tables
Tablas internas que se pasan o se devuelven (TABLES).
| Parámetro | Tipo | Descripción |
|---|---|---|
T_OUTTABObligatorio | Tabla estándar | Datos que se muestran. |
Excepciones
Errores que devuelve en sy-subrc, en el bloque EXCEPTIONS.
| Excepción | Cuándo se produce |
|---|---|
PROGRAM_ERROR | Error en los datos de entrada, normalmente el catálogo de campos. |
Ejemplo
DATA: lt_mara TYPE STANDARD TABLE OF mara,
lv_repid TYPE sy-repid.
SELECT * FROM mara UP TO 100 ROWS INTO TABLE lt_mara.
lv_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = lv_repid
i_structure_name = 'MARA'
i_save = 'A'
TABLES
t_outtab = lt_mara
EXCEPTIONS
program_error = 1
OTHERS = 2.Hoy lo harías así: CL_SALV_TABLE
SELECT * FROM mara INTO TABLE @DATA(lt_mara) UP TO 100 ROWS.
TRY.
cl_salv_table=>factory(
EXPORTING list_display = abap_true " aspecto de lista clásica
IMPORTING r_salv_table = DATA(lo_alv)
CHANGING t_table = lt_mara ).
lo_alv->get_functions( )->set_all( abap_true ).
lo_alv->display( ).
CATCH cx_salv_msg INTO DATA(lx_error).
MESSAGE lx_error TYPE 'E'.
ENDTRY.Errores y excepciones habituales
- PROGRAM_ERROR: el catálogo tiene campos que no existen en la tabla o en minúsculas.
- Los eventos no responden: I_CALLBACK_PROGRAM se ha pasado como sy-repid directamente; cópialo antes en una variable.
Relacionadas
Funciones relacionadas
REUSE_ALV_GRID_DISPLAYREUSE_ALV_HIERSEQ_LIST_DISPLAY
Más en ALV
Transacciones y tablas
En abap.es
¿Dudas con esta función?
Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.
Actualizado: 21 de octubre de 2026