miércoles, 20 de noviembre de 2013

ALV Report de una tabla interna

Para poder mostrar un ALV Report de una tabla interna se necesitará como mínimo una tabla interna llamada it_fieldcat. En dicha tabla interna. se indicarán los nombres de los campos de nuestra tabla interna y una descripción del campo para mostrar en el título de la columna.

En este ejemplo se van a mostrar los cuatro primeros campos de la tabla SFLIGHT:

REPORT  z_sflight.

* Cargar la tabla SFLIGHT de la base de datos
TABLES: sflight.

* Cargamos los datos tipo slis
TYPES: slis.

* Definición de variables
DATA: g_it_sflight TYPE TABLE OF sflight,
      g_st_sflight TYPE sflight.

DATA: g_it_fieldcat TYPE slis_t_fieldcat_alv,
      g_st_fieldcat TYPE slis_fieldcat_alv.

* SQL para copiar la tabla sflight a la tabla interna
SELECT * FROM sflight INTO TABLE g_it_sflight.

* Datos del fieldcat para el ALV
g_st_fieldcat-fieldname = 'CARRID'. "Nombre del campo de la tabla
g_st_fieldcat-seltext_m = 'Compañía'. "Descripción media
g_st_fieldcat-seltext_s = 'Comp.'. "Descripción corta
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'CONNID'.
g_st_fieldcat-seltext_m = 'Nº vuelo'.
g_st_fieldcat-seltext_s = 'Vuelo'.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'FLDATE'.
g_st_fieldcat-seltext_m = 'Fecha de vuelo'.
g_st_fieldcat-seltext_s = 'Fecha'.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'PRICE'.
g_st_fieldcat-seltext_m = 'Tarifa de vuelo'.
g_st_fieldcat-seltext_s = 'Tarifa'.
APPEND g_st_fieldcat TO g_it_fieldcat.

* Función ALV
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    it_fieldcat   = g_it_fieldcat[]
  TABLES
    t_outtab      = g_it_sflight[]
  EXCEPTIONS
    program_error = 1
    OTHERS        = 2.

ALV Report de los cuatro primeros campos de la tabla SFLIGHT.
En este ejemplo,  se ha introducido una descripción mediana y corta. Si se cambia el tamaño de la columna del ALV, también lo hará el nombre de la columna.

5 comentarios :


  1. Tendrás algún ejemplo con la unión de dos tablas SAP. Un caso sería la unión de las tablas SAP MM marc Y makt para obtener, desde el punto de pedido MINBE la denominación del producto unido por el código de artículo.

    Te anticipo las gracias !!!

    Muy buen BLOG!!! Aprendemos todos gracias a personas como tú!!!

    ResponderEliminar
  2. Buenas, alguien información por favor de FOR ALL ENTRIES (para todas las entradas)

    ResponderEliminar