Вы находитесь на странице: 1из 45

ALV Grid Control

1-45

Leccin 1
Introduccin

El ALV Grid control (ABAP List Viewer) es una herramienta flexible para mostrar
listas. La herramienta tiene operaciones comunes de las listas como funciones
genricas y pueden ser redefinidas. Esto permite que el uso de la ALV sirva para
una gran variedad de programas.

Imagen 1. La imagen muestra un ALV con la botonera estndar.

La ALV consta de una barra de herramientas (toolbar), un ttulo y la tabla de salida.


Si el programador as lo desea, se puede ocultar el ttulo y toda o parte de la
toolbar.

1.1 Implementacin
Como todos los controles wrap, la ALV ofrece mtodos globales de clase que
pueden ser usados desde los programas.

ALV Grid Control

2-45

1.2 Integracin
Los controles son componentes software que pueden ser instanciados localmente.
Para poder comunicarse con ese componente todos los controles wrap usan
mtodos control Framework. En este contexto, las ALV son un caso especial.
La ALV usa controles del men de SAP para integrarlas en sus funciones estndar.
Ese men puede ser customizado para los requerimientos individuales de cada
programa.

1.3 Rasgos
Esto es un vistazo a la funcionalidad que la ALV ofrece. Se puede...

Mostrar listados no jerrquicos con un aspecto visual.

Usar funciones tpicas como ordenar o filtrar automticamente si aadir ni


una lnea de cdigo ms.

Adaptar las funciones predefinidas y sus acciones

Programar acciones habituales por el usuario como el presionar botn


derecho o doble clic en una lnea de forma masiva o individual

1.4 Limitaciones
La ALV Grid control no puede mostrar bloques o listas jerrquicas. Las listas han
de ser mostradas en lneas individuales. Permite poder ordenarlas al gusto del
usuario e imprimirlas con ese formato.

ALV Grid Control

3-45

Leccin 2
Instancia de ALV Grid Control

2.1 Definicin
La instancia ha de referirse a la clase cl_gui_alv_grid.
DATA: nonmbre_variable TYPE REF TO cl_gui_alv_grid.
Una instancia de la ALV muestra toda la informacin en forma de lista en la
pantalla.
Se puede llamar a mtodos de esa instancia para redefinir propiedades del control.

2.2 Jerarqua de la clase.

2.3 Integracin
La Clase cl_gui_alv_grid contiene tambin mtodos de control especficos y
mtodos para el control de la Framework.

ALV Grid Control

4-45

Leccin 3
Trabajar con la ALV Grid Control
Bsicos
El siguiente grfico muestra los pasos requeridos para mostrar una lista en una
ALV:

Como mnimo se tiene que proveer de los siguientes dos tipos de informacin para
mostrar los datos.

Una tabla interna con los datos a mostrar, llamada Output table

Una descripcin de la estructura de esos datos que han sido declarados en


la ALV, bien con el field catalog o bien con la correspondiente estructura del
diccionario de datos.

Generalmente, la tabla de salida contiene datos que previamente se han


seleccionado de la base de datos.
La referencia de la Output table que se le pasa a la ALV tiene que ser vlida
mientras la ALV est operativa. sta puede ser local en el programa o referenciarse
a una estructura global.
El field catalog es una tabla que contiene informacin referente a los campos que
se van a mostrar en la ALV. Por ejemplo, la ALV usa la tabla para identificar el tipo

ALV Grid Control

5-45

de campo. Se puede usar tambin para dar un formato especial para una columna
como hacer que se muestren iconos o botones check.

3.1 Trabajar con los controles de la ALV.


Como Resultado de usar objetos ABAP, SAP gener controles programables
consistentes para los siguientes casos:

Crear un control e integrarlo dentro de la pantalla.

Pasar mtodos de backend a frontend.

Eventos escuchadores (Handling) y lanzadores (trigger) para controlar el


fronted.

Destruccin del control (control del tiempo de vida).

Para controles bsicos (como el control del editor de texto, el visor HTML o el
controlador del visor de imgenes), se puede aplicar el mismo modelo de
programacin es aplicable a los susodichos procedimientos.

3.2 Eventos especiales Handling, Aspectos de la ALV Grid


Control
La ALV Grid control usa los controles grid para mostrar la Output table. Por ello,
podemos decir que la ALV Grid control es un wrap que usa los controles bsicos de
wrap. La ALV Grid control difiere de los controles bsicos en los siguientes
aspectos:

Todos los eventos son registrados en el sistema cuando el control es


instanciado. Si se quiere registrar todos los eventos como eventos de la
aplicacin se debe usar el parmetro I_APPL_EVENTS y el mtodo
disptacher CL_GUI_CFW=>DISPATCH en el mdulo PAI.

Primeros pasos
Esta seccin describe los fciles pasos que se deben seguir para mostrar una lista
usando una ALV Grid control.
1. Crear una instancia para la ALV Grid control e integrarla en la pantalla
2. Seleccionar los datos que se van a mostrar y pasarlo con la descripcin de
los campos que se han usado.

ALV Grid Control

6-45

3.3 Crear un ALV Grid control


1. Declarar las variables para la ALV Grid control y su container. Adems,
declarar una tabla interna del tipo que se necesite para mostrar la
informacin.
DATA: grf_grid

TYPE REF TO cl_gui_alv_grid,

grf_ccontainer

TYPE REF TO cl_gui_custom_container

gt_sflight

TYPE TABLE OF sflight.


).

2. Crear una pantalla estndar y marcar un rea para al contenedor (


Asignar a esa rea el nombre del container.

3. En el mdulo PBO de la misma screen, se debe instanciar el container


control de la ALV Grid control. Usar el parmetro parent para hacer el link
entre el container y la pantalla
IF grf_ccontainer IS INITIAL.
CREATE OBJECT grf_ccontainer
EXPORTING
ALV Grid Control

7-45

CONTAINER_NAME = 'CCCONTAINER'.
CREATE OBJECT GRF_GRID
EXPORTING
I_PARENT = grf_ccontainer.
ENDIF.
Normalmente, se usa el mtodo cl_gui_cfw=>flush para pasar los mtodos
llamados en el frontend, pero desde que el Control Framework manda un flush
automtico al final del PBO, esto ya no es necesario.
Cuando se inicia el programa, aunque las dos instancias (el contenedor y la ALV) se
generan estas no son visibles.

3.4 Mostrar una lista en la ALV Grid control


Una vez creada la ALV Grid e integrada en la pantalla usando un container, se le
debe pasar los datos y la estructura a la ALV Grid.
1. Llenar la tabla interna con datos:
SELECT * FROM sflight INTO TABLE gt_sflight.
2. Pasar la Output table y la estructura de la a la ALV. Esto se debe hacer una
vez creado el contenedor y la ALV.
CALL MTODO grf_grid->set_table_for_first_display
EXPORTING I_ESTRUCTURA_NAME = 'SFLIGHT'
CHANGING IT_OUTTAB = gt_sflight.
En este caso, la estructura proviene del diccionario de datos.
La ALV Grid coge la informacin de los campos de la tabla SFLIGHT y los
muestra con sus caractersticas.

3.5 Programacin de aplicaciones especficas.


Los siguientes rasgos de la ALV Grid la hacen muy potente y apta para muchas
aplicaciones.

Las variantes permiten a los usuarios adaptar la salida a sus requerimientos.


Se puede programar que opciones se les muestran y que variante se
muestra al iniciarse.

ALV Grid Control

8-45

Definir y crear funciones propias por aplicacin, aadirlas a la botonera


estndar o redefinir las funciones estndar para sus necesidades u ocultar
aquellas que no se deseen.

Se pueden programar funciones Drag & Drop. La ALV Grid permite por
medio de la programacin usar funciones Drag & Drop para implementarlas
en aplicaciones gracias a las ALV Grid y otros custom controles.

El formato de la salida y el control de opciones vienen de tres estructuras:


o

Field catalog

Layout

Print Estructura

3.6 Mostrar variantes.


Con la ayuda de las variantes los usuarios pueden customizar la lista de salida para
satisfacer sus requerimientos. Los parmetros que se usan dentro del mtodo
set_table_for_first_display son: I_SAVE, IS_VARIANT y I_DEFAULT

Modo

Resultado

Cambiar la La ALV Grid muestra el icono de la variante


variante
( ) pero no el men en la toolbar.

Valores
IS_VARIANT = SPACE.
I_SAVE = SPACE.

Leer
variantes

IS_VARIANT = <estructura
La ALV Grid muestra el icono de variantes en variante>
la toolbar. El men contiene slo funciones
I_SAVE = SPACE. (o
para seleccionar y cambiar la variante.
IS_VARIANT es SPACE y
I_SAVE No SPACE)

Leer y
grabar
variantes

La ALV Grid muestra los iconos de las


variantes en el men de la toolbar. Se puede
seleccionar las variantes existentes, se
pueden cambiar y grabar.

IS_VARIANT = <estructura
variante>
I_SAVE = <'X', 'U' o 'A'>

3.7 Grabar variantes.


Objetivo
La funcin estndar cambia las variantes que pueden ser accesibles para los
usuarios pinchando en los botones de la toolbar. Esos iconos permiten al usuario
ajustar el formato de la ALV a sus requerimientos durante la vida del programa.
El desarrollador determina si los usuarios pueden guardar las variantes y definir si
las opciones estn disponibles.
ALV Grid Control

9-45

Requisitos previos
Con los parmetros por defecto, los usuarios pueden grabar variables como sus
variables por defecto. Si existe ya una variable por defecto, sta es la que se lee
cuando el mtodo set_table_for_first_display se instancia. Si no se quiere permitir
que los usuarios creen variables por defecto, el parmetro I_DEFAULT = SPACE.
Si el parmetro I_DEFAULT = SPACE se puede hacer que se cargue una variante
usando el mdulo de funciones LVC_VARIANT_DEFAULT_GET.
Pasos a seguir
1. Declarar la variable para determinar las opciones de grabar que estn
disponibles para el usuario y una estructura para identificar la variante.
DATA: X_SAVE

TYPE c, " Parmetro I_SAVE

GV_VARIANT

TYPE DISVARIANT. " Parmetro


IS_VARIANT

2. La estructura tipo DISVARIANT debe contener como mnimo el report


ID.
GV_REPID = SY-REPID.
GV_VARIANT-REPORT = GV_REPID.
3. Determinar las opciones de grabado disponibles para el usuario
X_SAVE = 'U'. " Las variantes slo pueden ser grabadas para su
usuario
4. Pasar

las

variables

en

la

llamada

al

mtodo

set_table_for_first_display:
CALL MTODO GRID1->set_table_for_first_display
EXPORTING I_ESTRUCTURA_NAME = 'SFLIGHT'
IS_VARIANT

= GV_VARIANT

I_SAVE

= X_SAVE

CHANGING IT_OUTTAB

ALV Grid Control

= GT_SFLIGHT.

10-45

Si se pasa slo el actual parmetro IS_VARIANT, los usuarios slo pueden


leer variantes pero no grabar nuevas. Si se usa el parmetro I_SAVE se
necesita pasar una variante con la estructura IS_VARIANT.
Resultado
La toolbar ahora incluye en el men la opcin de que los usuarios lean y graben
variantes. Dependiendo del valor del parmetro I_SAVE se puede:
Opciones para el parmetro I_SAVE
I_SAVE = SPACE

Las variantes no pueden ser grabadas.

I_SAVE = 'U'

Slo se pueden acceder a las variantes del usuario.

I_SAVE = 'X'

Slo se pueden grabar variables globales.

I_SAVE = 'A'

Tanto las variantes globales como las de usuario pueden ser


grabadas.

3.8 Integracin de las funciones definidas


La ALV Grid tiene funciones estndar para la edicin de listas. Los usuarios pueden
acceder a esas funciones con la toolbar o el men. Para integrar funciones propias
se puede:

Reemplazar las funciones existentes por funciones redefinidas.

Aadir nuevas funciones a la toolbar o el men.

Se puede tambin ocultar o deshabilitar funciones que no se necesiten.

3.9 Excepciones de salida.


Objetivo
Las excepciones son grficos que indica que, un valor ha pasado de un rango en
lnea de la lista. Por ejemplo, si usamos el modelo de un aeropuerto, se puede usar
un semforo en rojo para indicar que un vuelo est lleno. Los colores diferentes
ayudan al usuario a comprender rpidamente el estatus de la capacidad. Se puede
utilizar tres estatus diferentes:
Display Valor interno
3
ALV Grid Control

Significado (por Ejemplo)


Baja ocupacin
11-45

Media/alta ocupacin (situacin crtica)

Alta ocupacin (sin asientos libres)

Se puede lanzar una excepcin como un led.


Los desarrolladores son los que deben determinar el rango de valores y el valor
para dicha excepcin.
Pasos a seguir
1. Definir el layout del tipo LVC_S_LAYO:
DATA gs_layout TYPE LVC_S_LAYO.
2. Aadir una variable de tipo c a la Output table como se muestra en el
ejemplo.
DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE ESTRUCTURA <DDIC-Struktur>.
DATA: light TYPE C. "Muestra exceptions
DATA: END OF GT_OUTTAB.
3. Asignar al campo EXCP_FNAME el nombre de la excepcin.
4. Si se desea mostrar la excepcin como un led debe asignar el campo
EXCP_LED al layout.
5. Haga un loop y compruebe el valor de la excepcin, dependiendo de l
asigne los valores 1, 2, 3 para mostrar los semforos.
6. Pasar

el

layout

la

Output

table

usando

el

mtodo

set_table_for_first_display.
Para actualizar los datos en caso de que hayan cambiado, usar el mtodo
refresh_table_display.

ALV Grid Control

12-45

Resultado
La ALV Grid muestra una columna de excepcin como se muestra en el grfico.

3.10 Conversin Exit


Objetivos
Se usan los conversin exist para definir un salto a una rutina de conversin de una
columna de la Output table. La conversin es implementada usando WRITE con
USING EDIT MASK
Requisitos previos
Para que la

ALV Grid pueda hacer una conversin, ella debe saber la longitud

interna y externa del campo, o lo que es lo mismo, la longitud antes y despus de


la conversin como se ve en el ejemplo.
DATA TIME TYPE T VALUE '154633'.
WRITE (8) TIME USING EDIT MASK '__:__:__'. "Output: 15:46:33
En este ejemplo la longitud interna es de seis caracteres pero la salida es de ocho.
Pasos a seguir
ALV Grid Control

13-45

1. Declarar la longitud interna y externa del campo de la ALV Grid.


o

Para campos con referencia al Data Dictionary la ALV Grid usa


automticamente la longitud interna y externa.

Para campos no referenciados, se debe especificar usando los


campos INTLEN para la longitud interna y DD_OUTLEN para
la longitud externa en el field catalog.

2. Especificar la conversin usando el campo EDIT_MASK del field catalog.


3. Llamar al mtodo set_table_for_first_display pasndole el field catalog.
Resultado
Los valores de las columnas son convertidas antes de que se muestren.

ALV Grid Control

14-45

Leccin 4
Mtodos de la clase CL_GUI_ALV_GRID

4.01 Mtodos Bsicos


Mtodo

Aplicacin

CONSTRUCTOR

Genera una instancia de la ALV Grid.

set_table_for_first_display

Muestra una Output table en el container.

refresh_table_display

Refresca los datos de la ALV.

4.02 Elementos de la ALV Grid


Mtodo

Aplicacin

get_current_cell

Coge el ndice y propiedades de una celda.

set_current_cell_via_id

Posiciona el cursor en una celda especfica.

get_scroll_info_via_id

Coge la posicin del scrool.

set_scroll_info_via_id

Posiciona el scroll en una posicin.

get_selected_cells

Coge la posicin y la informacin de una celda


que haya sido seleccionada.

get_selected_columns

Coge el nombre de las columnas seleccionadas.

get_selected_rows

Coge el ndice de las filas seleccionadas.

set_selected_rows

Selecciona filas.

4.03 Layout y Estructuras


Mtodo

Aplicacin

get_frontend_field_catalog

Coge el actual field catalog de la pantalla.

set_frontend_field_catalog

Pone un field catalog en la pantalla.

get_frontend_layout

Coge el layout de la pantalla.

set_frontend_layout

Pone un layout en la pantalla.

Set_3d_border

Habilita (o no) el borde en 3D de la ALV Grid

4.04 Funciones genricas


Mtodo
ALV Grid Control

Aplicacin
15-45

get_filtered_entries

Coge ndices de las filas que no han sido


mostradas debido a un filtro

get_filter_criteria

Coge las propiedades del filtro activo

set_filter_criteria

Pone filtro en las columnas

get_sort_criteria

Coge la ordenacin actual

set_sort_criteria

Aplica una ordenacin

get_variant

Coge la variante actual

set_user_command

Cambia la funcin para el user_command

4.05 CONSTRUCTOR
Este mtodo se llama automticamente si se crea un objeto de la clase
CL_GUI_ALV_GRID.
Definicin del mtodo
CREATE OBJECT <nb_alv CL_GUI_ALV_GRID>
EXPORTING
i_shellstyle = <var. de tipo I>
i_lifetime = <var. de tipo I>
i_parent = <ref. var. CL_GUI_CONTAINER>
i_appl_events = <var. de tipo CHAR01>.
Parmetro

Significado

I_appl_events

Si este parmetro est activo, la ALV Grid registra los eventos


como eventos de aplicacin, si no est activo, todos los
eventos se registran en el sistema.

4.06 GET_CURRENT_CELL
Se utiliza este mtodo para coger el valor y las propiedades de la celda en la que el
cursor est posado. Si es una columna es seleccionada y no una celda, la ALV
indica que la fila es 0 y devuelve slo la informacin especfica de la columna.
La ALV Grid devuelve dos filas y columnas ndices: una que referencia en la Output
table y otra referente a la posicin que muestra la ALV.
Definicin del mtodo
CALL MTODO <ref.var. CL_GUI_ALV_GRID>->get_current_cell
ALV Grid Control

16-45

IMPORTING
E_ROW = <var. de tipo I>
E_VALUE = <var. de tipo C>
E_COL = <var. de tipo I>
ES_ROW_ID = <estructura de tipo LVC_S_ROW>
ES_COL_ID = <estructura de tipo LVC_S_COL>.
Parmetro

Significado

E_ROW

Fila ndice de la celda seleccionada en la ALV

E_VALUE

Valor de la celda seleccionada

E_COL

ndice de la columna seleccionada en la ALV

ES_ROW_ID

Estructura con la informacin de la fila ndice seleccionada de


la Output table en la ALV

ES_COL_ID

Estructura

con

la

informacin

de

la

columna

ndice

seleccionada de la Output table en la ALV

4.07 GET_FRONTEND_FIELD CATALOG


Coge el field catalog actual. Este mtodo se usa si se desea modificar el field
catalog para, por ejemplo ocultar o mostrar alguna de las columnas.
Definicin del mtodo
CALL MTODO
<ref.var.CL_GUI_ALV_GRID>->get_frontend_field catalog
IMPORTING
ET_field catalog = <tabla interna de tipo LVC_T_FCAT>.
Parmetro
ET_field catalog

Significado
Estructura con la descripcin de la Output table

4.08 GET_FRONTEND_LAYOUT
Coge el actual layout.
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->get_frontend_layout
IMPORTING
ALV Grid Control

17-45

ES_LAYOUT = <estructura de tipo LVC_S_LAYO>.


Parmetro

Significado

ES_layout

Contiene campos para hacer totales, excepciones, colores, Drag &


Drop e interactuar con otros elementos.

4.09 GET_SELECTED_CELLS
Coge las celdas seleccionadas. Devuelve el nombre de la columna y el ndice de la
fila.
La ALV Grid devuelve los ndices slo en caso de que sea una celda individual la que
est seleccionada. En caso de ser una fila o columna entera lo que est
seleccionado se devuelve un valor vaco.
Requisitos previos
Se debe activar el modo cell selection para permitir al usuario seleccionar celdas
sueltas (y celdas mltiples usando la tecla Ctrl). Para conseguir esto, en la llamada
al mtodo set_table_for_first_display se le debe pasar la layout.
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->get_selected_cells
IMPORTING
ET_CELL = <tabla interna de tipo LVC_T_CELL>.
Parmetro

Significado

ET_CELL

Tabla con informacin de la celda seleccionada

4.10 GET_SELECTED_ROWS
Devuelve el ndice de las filas seleccionadas

La primera fila es la 1.

Si slo se ha seleccionado columnas la ALV Grid devuelve una tabla


vaca.

Si se han seleccionado filas mltiples la tabla normalmente viene


ordenada por el ndice en orden ascendente y no por orden de
seleccin.

ALV Grid Control

18-45

Requisitos previos
Para permitir a los usuarios seleccionar filas mltiples, el campo sel_mode de la
layout debe contener el valor 'A', 'C' o 'D'
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->get_selected_rows
IMPORTING
ET_INDEX_ROWS = <tabla interna de tipo LVC_T_ROW>.
Parmetro

Significado

ET_INDEX_ROWS

Tabla con los ndices de las filas seleccionadas

4.11 GET_VARIANT
Devuelve la variante actual.
Requisitos previos
La variante actual ha debido ser grabada antes de llamar al mtodo. Para ello, en la
llamada

al

mtodo

set_table_for_first_display

los

parmetros

I_SAVE

IS_VARIANT deben contener los valores correctos.


Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->get_variant
IMPORTING
ES_VARIANT = <estructura de tipo DISVARIANT>.
Parmetro

Significado

ES_VARIANT

Estructura con informacin de la variante actual.

4.12 REFRESH_TABLE_DISPLAY
El siguiente mtodo se usa para refrescar los datos de la ALV y poder mostrar los
cambios efectuados.
Definicin del mtodo
ALV Grid Control

19-45

CALL MTODO <ref.var.CL_GUI_ALV_GRID>->refresh_table_display


EXPORTING
IS_STABLE = <estructura de tipo LVC_S_STBL>
I_SOFT_REFRESH = <variable de tipo CHAR01>.
Parmetro

Significado

IS_STABLE

Si se indica los valores de la fila y columna el scrool se


posiciona sobre ellos.

I_SOFT_REFRESH Este parmetro se usa en casos excepcionales. Si se activa


este parmetro la ordenacin, filtros y dems cambios hechos
por el usuario desaparecern.
IT_FILTER

Tabla con las caractersticas del filtro

4.13 SET_FRONTEND_FIELD CATALOG


Asigna un field catalog a la ALV. Despus de usar este mtodo se debe refrescar de
la ALV usando, por ejemplo el mtodo refresh_table_display.
Requisitos previos
Se debe rellenar el field catalog con el mtodo get_fronted_field catalog o de forma
semi-automtica antes de llamarla.
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_frontend_field catalog

EXPORTING
IT_field catalog = <tabla interna de tipo LVC_T_FCAT>.
Parmetro

Significado

IT_field catalog

Descripcin de los atributos de las columnas de la


Output table

Restricciones
En este mtodo la ALV Grid no tiene acceso al Data Dictionary, por ello no es
posible crear referencias del diccionario, por ejemplo para copiar literales de
campos guardados en el diccionario como texto de columnas.

ALV Grid Control

20-45

4.14 SET_FRONTEND_LAYOUT
Fija un layout para el ALV actual. Despus de usarse, se debe usar el mtodo
refresh_table_display para que los cambios se reflejen.
En la layout se determinan las propiedades de la ALV. Usando en el mtodo
set_table_for_first_display

el

parmetro

IS_LAYOUT

se

obtiene

idnticos

resultados.
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_frontend_layout
EXPORTING
IS_LAYOUT = <estructura de tipo LVC_S_LAYO>.
Parmetro

Significado

IS_LAYOUT

Estructura con propiedades de los campos como excepciones,


Drag & Drop y otras interacciones con elementos.

4.15 SET_SELECTED_CELLS
Marca como seleccionas celdas de la ALV. Cualquier otra seleccin que se hubiera
hecho con anterioridad desaparece al ser llamado este mtodo.
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_selected_cells
EXPORTING
IT_CELLS = <Tabla de tipo LVC_T_CELL>.
Parmetro

Significado

IT_CELLS

Tabla con las celdas que son seleccionadas. Las filas se


rellenan con una estructura tipo LVC_S_COL, en la que se le
indica la columna y la fila de la celda.

4.16 SET_SELECTED_COLUMNS
Marca como seleccionadas columnas de la ALV. Cualquier otra seleccin que se
hubiera hecho con anterioridad desaparece al ser llamado este mtodo.
Definicin del mtodo
ALV Grid Control

21-45

CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_selected_columns


EXPORTING
IT_COL_TABLE = <table de tipo LVC_T_COL>.
Parmetro

Significado

IT_COL_TABLE

Tabla con el nombre de las columnas que son seleccionadas.

4.17 SET_SELECTED_ROWS
Marca como seleccionadas filas de la ALV. La primera fila es la fila 1. Cualquier otra
seleccin que se hubiera hecho con anterioridad desaparece al ser llamado este
mtodo.
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_selected_rows
EXPORTING
IT_INDEX_ROWS = <tabla interna de tipo LVC_T_ROW>.
Parmetro

Significado

IT_INDEX_ROWS Tabla con ndices de las filas seleccionadas

4.18 SET_SORT_CRITERIA
Fija el criterio de ordenacin por columnas. Para que surta efecto se ha de llamar
despus al mtodo refresh_table_display.
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_sort_criteria
EXPORTING
IT_SORT = <tabla interna de tipo LVC_T_SORT>.
Parmetro

Significado

IT_SORT

Se define una columna por registro.

4.19 SET_TABLE_FOR_FIRST_DISPLAY

ALV Grid Control

22-45

Muestra una Output table en la ALV. En la llamada se puede especificar cualquier


referencia del Data Dictionary o field catalog. Antes de su ejecucin se pueden usar
parmetros opcionales para leer por ejemplo variantes, criterios de ordenacin,
filtros y definir propiedades del ALV.
Si se desea refrescar los valores mostrados en la Output table, se usa el mtodo
refresh_table_display. El mtodo set_table_for_first_display slo se debe volver
a llamar en caso de que la estructura del Output table haya cambiado.
Requisitos previos
La

Output table debe estar definida globalmente o ser un atributo pblico de la

clase.
Definicin del mtodo
CALL MTODO <ref.var.CL_GUI_ALV_GRID>->set_table_for_first_display

EXPORTING
I_ESTRUCTURA_NAME = <string de tipo DD02L-TABNAME>
IS_VARIANT = <estructura de tipo DISVARIANT>
I_SAVE = <var. de tipo CHAR01>
I_DEFAULT = <var. de tipo CHAR01>
IS_LAYOUT = <estructura de tipo LVC_S_LAYO>
IS_PRINT = <estructura de tipo LVC_S_PRNT>
IT_SPECIAL_GROUPS = <tabla interna de tipo LVC_T_SGRP>
IT_TOOLBAR_EXCLUDING = <tabla interna de tipo UI_FUNCTIONS>

CHANGING
IT_OUTTAB = <tabla interna>
IT_field catalog = <tabla interna de tipo LVC_T_FCAT>
IT_SORT = <tabla interna de tipo LVC_T_SORT>
IT_FILTER = <tabla interna de tipo LVC_T_FILT>
Parmetro

Significado

I_ESTRUCTURA_NAME

Nombre del Data Dictionary para la Output table. Si se


especifica este parmetro la field catalog se genera
automticamente.

ALV Grid Control

23-45

IS_VARIANT

Determina la variante para mostrar la Output table. Si


se usa este parmetro se debe rellenar por lo menos el
campo REPORT.

I_SAVE

Determina las opciones disponibles para que el usuario


guarde variantes.

I_DEFAULT

X: slo globales

U: slo especfico del usuario

A: opciones X U a la vez.

: no se puede grabar.

Determina si un usuario puede determinar variantes


por defecto.
o

X : Est permitido.

: No est permitido.

Si las variantes por defecto estn permitidas y

si

existe alguna definida, si no se indica lo contrario en el


parmetro IS_VARIANT se muestra la variante por
defecto de forma automtica.
IS_LAYOUT

Determina las propiedades de la ALV.

IS_PRINT

Parmetro para imprimir en backend

IT_SPECIAL_GROUPS

Si en la field catalog las columnas que se agrupan por


el campo SP_GROUP se le deben de pasar la tabla con
los textos de ese grupo. En la pantalla de variantes, es
posible usar un list box para restringir columnas en la
seleccin de esos grupos.

IT_TOOLBAR_EXCLUDING

Contiene el cdigo de los botones y funciones que se


quieren excluir en la toolbar. Los cdigos de las
funciones son atributos constantes y empiezan por
MC_FC_.

IT_OUTTAB

Output table con datos a mostrar

IT_field catalog

Determina la estructura de la Output table y el formato


de los datos que van a ser mostrados

IT_SORT

Tabla con las propiedades de ordenacin inicial.

IT_FILTER

Tabla con las propiedades del filtro que se aplica


inicialmente.

ALV Grid Control

24-45

Leccin 5
Eventos de la clase CL_GUI_ALV_GRID

La seccin trabajando con la ALV Grid control describe puntos especiales que se
deben considerar para trabajar con los eventos de la clase.

5.01 Textos de salida definidos por usuario


Evento

Aplicacin

print_end_of_list

Define el texto que aparecer al final de la lista.

print_top_of_list

Define el texto que imprimir en la cabecera.

print_end_of_page

Define el texto que se imprimir en el pie de cada pgina.

print_top_of_page

Define el texto que aparecer en la cabecera de cada pgina

subtotal_text

Define un texto para los subtotales.

5.02 Controles del ratn (Acciones en la ALV)


Evento

Aplicacin

double_click

Pinchar dos veces en una celda

hotspot_click

Pinchar una vez en una celda declarada hots_pot.

5.03 DOUBLE_CLICK
Se activa el evento con el doble-click encima de una celda
Evento

Significado

E_ROW TYPE REF TO LVC_S_ROW

Estructura con el ndice de la fila

E_COLUMN TYPE REF TO LVC_S_COL Estructura con el ndice de la columna

5.04 HOTSPOT_CLICK
Se activa cuando en una celda hotspot (aparece una mano en el puntero del ratn
al pasar sobre ella) se hace click.

ALV Grid Control

25-45

Requisitos previos
Para habilitar a los usuarios una columna con hotspot, hay que hacer lo siguiente:

Campo hotspot del field catalog para columnas solas

Campo keyhot del layout para todos los key fields del Output table

Parmetro

Significado

E_ROW_ID TYPE REF TO LVC_S_ROW

Estructura con ndice de fila

E_COLUMN_ID TYPE REF TO LVC_S_COL

Estructura con el nombre de la


columna

5.05 PRINT_END_OF_LIST
Evento que imprime un texto al final del listado.

5.06 PRINT_END_OF_PAGE
Evento que imprime un texto al final de cada pgina (Pie de pgina).
Requisitos previos
Para que exista pie de pgina se ha de reservar lneas de la pgina para ello usando
el campo reservelns de la estructura lvc_s_prnt que se le pasa al mtodo
set_table_for_first_display.

5.07 PRINT_TOP_OF_LIST
Evento que imprime un texto en la cabecera. Evento que se ejecuta slo una vez y
es antes del print_top_of_page. El campo usado es el gris_title del layout.

5.08 PRINT_TOP_OF_PAGE
Evento que imprime un texto en la cabecera de cada pgina de la impresin.

5.09 SUBTOTAL_TEXT

ALV Grid Control

26-45

Evento que muestra un texto para los subtotales de columnas.


Parmetro

Significado

ES_SUBTOTTXT_INFO
Type LVC_S_STXT

Estructura con informacin del criterio para hacer el


subtotal.

EP_SUBTOT_LINE
Type Ref To DATA

Variable de referencia para insertar un subtotal en la


grid. Las columnas para las que la suma no fue
calculada se quedan con el valor inicial.

E_EVENT_DATA
Type Ref To
CL_ALV_EVENT_DATA

El atributo M_DATA de este objeto hace referencia al


texto del subtotal.

Ejemplo
Mostrar una tabla con la estructura SFLIGHT

en una ALV, y que aparezcan los

subtotales.
1. Definir e implementar un evento handler para el evento subtotal_text.
Registrar el evento con SET HANDLER
2. Llamar a la subrutina con este mtodo y pasar los parmetros
3. Los parmetros ep_subtot_line y e_event_data contienen referencia a
variables tipo DATA, por eso se deben usar field symbols.
FORM Mtodo_subtotal_text
USING es_subtottxt_info TYPE lvc_s_stxt
ep_subtot_line

TYPE REF TO data

e_event_data

TYPE REF TO cl_alv_event_data.

DATA ls_sflight LIKE sflight.


FIELD-SYMBOLS:

<fs1> STRUCTURE sflight DEFAULT ls_sflight,


<fs2>.

IF es_subtottxt_info-criteria = 'PLANETYPE'.
ASSIGN ep_subtot_line->* TO <fs1>.
ASSIGN e_event_data->m_data->* TO <fs2>.
CONCATENATE es_subtottxt_info-keyword ': '

ALV Grid Control

27-45

<fs1>-planetype INTO <fs2>.


ENDIF.
ENDFORM. " MTODO_SUBTOTAL_TEXT

5.10 TOOLBAR
Evento que la ALV provoca cada vez que el control toolbar tiene que ser
regenerado.
Para aadir funciones propias, se debe instanciar el mtodo set_toolbar_interactive
y escribir un mtodo handler.
Se puede ocultar la toolbar en su totalidad rellenado el campo no_toolbar del
layout.
Parmetro

Significado

E_OBJECT Type Ref To


CL_ALV_EVENT_T
OOLBAR_SET

El objeto contiene slo un atributo con la tabla de


funciones de la toolbar.

E_INTERACTIVE
Type CHAR01

Si la bandera est activa, se provoca el mtodo


usando set_toolbar_interactive. Sino, el evento es
provocado por ALV Grid.

ALV Grid Control

28-45

Leccin 6
Field Catalog

6.01 Definicin
El Field Catalog es una tabla del tipo LVC_T_FCAT que contiene informacin de los
campos que van a ser mostrados. La ALV usa la tabla para, por ejemplo, saber el
tipo de campo a mostrar.
Se usan los campos del field catalog para determinar el formato y las propiedades
de las columnas de la lista que se va a mostrar en la ALV.
En casos excepcionales, no es necesario pasar el field catalog (en la generacin del
field catalog automtica).

6.02 Estructura
El field catalog contiene ms de 60 campos, algunos de ellos slo son usados de
forma interna.

6.03 Integracin
Generalmente, se recomienda rellenar los campos del field catalog antes de mostrar
la ALV por primera vez y utilizar despus el mtodo set_table_for_first_display.
Para ajustar el field catalog generado por el ALV para un requerimiento especial
antes de mostrarlo se usa el mdulo de funciones VC_field catalog_MERGE.
Los mtodos get_fronted_field catalog y set_fronted_field catalog se usan para
cambiar el field catalog despus de haber sido mostrado.

ALV Grid Control

29-45

6.04 Generar el field catalog


Bsicamente se necesita un field catalog por cada listado que se muestra usando un
ALV Grid. Se puede generar de las siguientes formas:

Automticamente usando una estructura del Data Dictionary.

Manualmente en un programa ABAP.

Semi-automticamente combinando las dos opciones anteriores.

6.05 Generar el field catalog automticamente


Objetivos
Si la estructura del Output table corresponde a una estructura almacenada en el
Data Dictionary (DDic) la ALV Grid puede usar esta informacin y generar
automticamente el field catalog. En este caso todos los campos de esa estructura
del Data Dictionary son mostrados en la ALV.
Pasos a seguir
Pasar la estructura al ALV Grid.
1. Referenciar la estructura con LIKE o INCLUDE STRUCTURE .
Si se usa INCLUDE STRUCTURE se puede generar parte automticamente y
otra manual aadiendo el resto de campos.
2. Pasar la estructura al mtodo set_table_for_first_display con el parmetro
I_STRUCTURE_NAME.
Si no se desea aadir ms campo a la estructura o si se desea ocultar campos
especficos, no se necesitar pasar el field catalog.

ALV Grid Control

30-45

6.06 Generar el field catalog de forma manual


Objetivos
Se puede dar el caso de que los datos a mostrar no aparecen ni parcialmente en las
estructuras del Data Dictionary. Entonces se deben rellenar los campos del field
catalog.
Pasos a seguir
El field catalog est definido en el Data Dictionary como una tabla del tipo
LVC_T_FCAT. Cada fila del field catalog corresponde a un campo del Output table.
Dependiendo de cuantos campos estn en el Data Dictionary se deben rellenar por
lo menos los siguientes campos:
Con referencia al Data Dictionary
Campo

Descripcin

FIELDNAME

Nombre del campo en la tabla interna.

REF_TABNAME

Nombre de la estructura del DDIC.

REF_FIELDNAME Nombre del campo de la estructura del DDIC (solo es necesario


si el nombre del campo de la tabla interna es distinto al del
DDIC).
Sin referencia al Data Dictionary
Campo

Descripcin

FIELDNAME

Nombre del campo en la tabla interna.

INTTYPE

Tipo ABAP del campo de la tabla.

OUTPUTLEN

Ancho de la columna

COLTEXT

Cabecera de la columna

SELTEXT

Descripcin de la columna para la seleccin de variantes.

ALV Grid Control

31-45

6.07 Generar el field catalog Semi-Automticamente.


Objetivos
Cuando

se

genera

el

field

catalog

semi-automticamente,

se

combina

la

informacin del Data Dictionary con informacin propia. Se puede:

Modificar o

Aadir descripciones de nuevos campos por ejemplo, el mtodo es bueno


para, por ejemplo los siguientes casos:
o

Mostrar una tabla del Data Dictionary pero sin sacar todos los
campos (usando el campo NO_OUT).

Mostrar filas adicionales que contienen iconos u otra informacin.

Pasos a seguir
Para generar el field catalog de forma semi-automticamente:
1. Declarar una tabla interna de tipo LVC_T_FCAT.
2. Llamar al mdulo de funciones LVC_field catalog_MERGE y pasarle la
estructura del Data Dictionary de la estructura del Output table y tabla
interna que hace de field catalog. La funcin genera el field catalog.
3. Leer las filas que se deseen cambiar y adaptarlas a los requerimientos
especficos. Si la Output table contiene ms campos que estn en el Data
Dictionary se pueden aadir usando una fila nueva por cada campo en el
field catalog.

ALV Grid Control

32-45

Para mostrar el Output table hay que llamar al mtodo set_table_for_first_display


pasndole el field catalog.

6.08 Campos del field catalog


Unidades de moneda y medida
Campo

Descripcin

CFIELDNAME

Nombre del Campo de la moneda

CURRENCY

moneda

QFIELDNAME

Campo con el nombre de la unidad de medida de referencia.

QUANTITY

Unidad de medida

Formato de la columna
Campo

Descripcin

COL_POS

Posicin de una columna

DO_SUM

Clculo del total

EMPHASIZE

Color de la columna

HOTSPOT

Aparece una mano y hace que reaccione con un solo clic

KEY

Columna clave

NO_OUT

No se muestra la columna.

NO_SUM

No se permite un sumatorio.

OUTPUTLEN

Anchura de la columna en caracteres.

Texto
Campo

Descripcin

COLDDICTXT

Definicin del Data Dictionary.

COLTEXT

Etiqueta de la columna para las funciones.

REPTEXT

Texto de la cabecera correspondiente al Data Dictionary.

SCRTEXT_L

Texto largo del elemento del Data Dictionary.

SCRTEXT_M

Texto mediano del elemento del Data Dictionary.

SCRTEXT_S

Texto corto del elemento del Data Dictionary.

SELDDICTXT

Texto definido en referencia al Data Dictionary.

SELTEXT

Etiqueta de la columna.

TIPDDICTXT

Texto de referencia del Data Dictionary.

ALV Grid Control

33-45

Parmetros para los campos sin referencia al Data Dictionary


Campo

Descripcin

DD_OUTLEN

Anchura en caracteres del campo.

INTLEN

Longitud interna en bytes

INTTYPE

Tipo ABAP (C,D,N,...)

Formato de la columna (Contenido)


Campo

Descripcin

DECIMALS_O

Nmero de decimales.

DECMLFIELD

Campo con especificacin de decimales.

EDIT_MASK

Mscara para la salida de datos (conversin)

EXPONENT

Exponente para la representacin con coma flotante

NO_SIGN

Mostrar sin signo

NO_ZERO

Suprimir los ceros.

ROUND

Redondear valores

ROUNDFIELD

Campo con especificacin para el redondeo de valores

SYMBOL

Mostrar como un smbolo

Otros campos
Campo

Descripcin

REPREP

Valores para el criterio de seleccin.

SP_GROUP

Grupo de teclas.

TXT_FIELD

Nombre de la tabla interna.

Referencia de la Output table


Campo

Descripcin

FIELDNAME

Nombre del campo de la tabla interna.

ALV Grid Control

34-45

Referencia al

Data Dictionary

Campo

Descripcin

REF_FIELD

Referencia al nombre del campo de la tabla interna

REF_TABLE

Referencia al nombre de la tabla interna.

Referencia al Output table


Campo

Descripcin

FIELDNAME

Se le asigna el nombre de la Output table. Todas las opciones


que se generan en esta fila se refieren a la columna de la
Output table.

Referencia del Data Dictionary


Campo

Descripcin

REF_FIELD

Se debe rellenar este campo si

La

Output

table

descrita

en

el

campo

catalog

corresponde con un campo del Data D.Dictionary y el


nombre en la Output table no es idntico al que
aparece en el Data D.Dictionary.

Si el campo se llama igual es suficiente para especificar


la estructura del Data Dictionary la tabla en el campo.

REF_TABLE

Se debe rellenar este campo slo si el campo tiene una


correspondencia directa en el Data Dictionary. La ALV puede
usarlo para copiar los textos de la cabecera.

6.09 Mostrar valores con unidades de moneada/medida


Ciertos valores de salida necesitan referenciarse a unidades (como el kilmetro) o
monedas (como la Libra). Para mostrar esos valores con el formato correcto para
los decimales las comas y dems, se le debe asignar un campo de moneda o
unidad. Hay tres formas de hacer esto con el field catalog:

Asignar el campo que contiene el valor a otro campo que contenga la


unidad/moneda

Definir especficamente una moneda o unidad a una columna entera.

ALV Grid Control

35-45

Darle un formato manualmente una a una.

6.10 Referencia al campo unidad de medida/moneda


Se usan los campos CFIELDNAME y QFIELDNAME para indicar las unidades de
moneda y cantidad (correlativamente). Si se hace un sumatorio de las columnas,
los totales vendran separados por unidades/moneda.
El field catalog adems dispone del campo TECH que, evita que las unidades se
vean como una columna y con esto se evita que los usuarios interactuaran con ella.

6.11 Clculo de totales y mostrar valores


Se respeta la representacin especfica de los valores dependiendo de la
unidad/moneda en cada celda. En los sumatorios se separa por unidades.
El valor inicial es el 0 (Se puede evitar que aparezca un 0 en la columna usando el
campo NO_ZERO del field catalog). Cuando se calculan los totales, la ALV usa el
valor 0 y las unidades especficas (aunque se hayan ocultado los 0s).

6.12 Unidades par una columna entera


Para los casos en los que usan la misma unidad de cantidad o moneda para toda la
columna, el field catalog contiene campos CURRENCY y QUANTITY. Se puede
usar esos campos para determinar la unidad de los campos valor rellenndolos con
valores como KM o USD.
Requisitos Previos
Para el campo valor se debe considerar los siguientes puntos:

El campo es de tipo P.

Es un campo de la Output table que tiene una unidad asociada.

ALV Grid Control

36-45

6.13 Campos relevantes en el field catalog


CFIELDNAME

Nombre del Campo que contiene la Moneda (unidad). La ALV


asocia el campo especificado en FIELDNAME al campo de
moneda CFIELDNAME.

CURRENCY

Contiene el nombre de la moneda (DEM, USD). La ALV


muestra

los

valores

de

la

columna

especificada

en

FIELDNAME.
QFIELDNAME

Nombre del campo que contiene la unidad de medida. ). La


ALV asocia el campo especificado en FIELDNAME al campo de
moneda QFIELDNAME.

QUANTITY

Contiene el nombre de la medida (KG). La ALV muestra los


valores de la columna especificada en FIELDNAME.

6.14 Opciones de salida de las columnas


CHECKBOX

El checkbox no puede ser modificado por el usuario. El


parmetro

sel_mode

de

la

layout

permite

al

usuario

seleccionar mltiples lneas de la ALV.


COL_POS

Fija la posicin relativa de las columnas, slo es significativo si


la posicin de del campo no es la misma que la que tiene en la
field catalog. El usuario puede modificar posteriormente el
orden de las mismas.

DO_SUM

Si se marca este

campo, se calcula el total de la columna

(igual que si se hubiera presionado al botn de total de la


toolbar.
NO_OUT

Si se marca este campo se puede ocultar una columna. Esta


columna sigue estando disponible por el usuario y podra
volverse a dejar visible.

NO_SUM

Si se marca este campo se impide que se haga un sumatorio


de una columna.

OUTPUTLEN

Determina el ancho de un campo.


Si el campo hace referencia al Data Dictironary, este
campo se rellena automticamente usando el valor
indicado por el dominio.

ALV Grid Control

37-45

Si el campo no hace referencia al Data D.Dictionary se


le debe especificar cul es el ancho de la columna.
TECH

Si se marca este campo el campo relevante no se muestra y


no se puede ver de forma interactiva. El campo slo es
conocido por field catalog.

6.15 Formato del contenido en las columnas


Campos como DECIMALS_O, EDIT_MASK, EXPONENT, NO_SIGN y ROUND
son los equivalentes a lo que se usara con el comando WRITE (USING EDIT
MASK, EXPONENT, NO-SIGN y ROUND).
DECIMALS_O

Slo Afecta en caso de que el campo CURRENCY tiene algn


valor. El valor de este campo determina el nmero de dgitos
que se puede mostrar despus de la coma.

DECMFIELD

Define los decimales que se pueden mostrar.

EDIT_MASK

Se utiliza para las conversiones de datos como las exit de


CONVERSION_EXIT_ALPHA_OUTPUT.

EXPONENT

Determina un exponente fijo para un campo. El campo ha de


ser de tipo F.

LZERO

Slo Afecta en caso de datos tipo NUMC. Por defecto no se


muestran todos los 0s, Si se marca este campo los 0s son
mostrados.

NO_SIGN

Slo Afecta en caso de campos valor. Si se marca este


campo los valores se muestran absolutos (sin signos).

NO_ZERO

Si se marca este campo los 0s no se muestran y se muestra


una celda vaca.

ROUND

Muestran valores de tipo P escalonados por potencias de 10.


Para valores positivos ROUND mueve la coma a la izquierda,
sino la mueve hacia la derecha.

ROUNDFIELD

Define la escala de salida. Se puede usar un campo adicional


en la Output table para determinar cul es el campo que indica
la escala para cada fila.

ALV Grid Control

38-45

SYMBOL

Si se marca este campo, en la columna se muestran los datos


como

smbolos.

Es

posible

que

estos

smbolos

no

se

representen correctamente en una impresin.

6.16 Textos
Se utilizan estos campos para determinar los textos que se usan en la ALV Grid:

Como cabecera de columnas

Como tool tip (texto informativo que aparece remarcado cuando se


posiciona el ratn sobre un objeto)

Como columna de seleccin.

COLDDICTXT

Slo Afecta en caso campos con referencia al Data Dictionary.


Los valores 'L', 'M', 'S' o 'R' se usan para determinar que
campo

entre

SCRTEXT_L,

SCRTEXT_M,

SCRTEXT_S

REPTEXT es usado para el texto de la cabecera.


COLTEXT

Si el campo no tiene referencia con el Data Dictionary el


contenido de este campo es el que se muestra en la cabecera
de la columna.

REPTEXT

Slo Afecta en caso de campos con referencia al Data


Dictionary. Para estos campos, la ALV Grid copia la descripcin
para la cabecera del elemento de datos en este campo.

SCRTEXT_L

Slo Afecta en caso de campos con referencia al Data


Dictionary. Para estos campos, la ALV Grid copia la descripcin
larga para la cabecera del elemento de datos en este campo.

SCRTEXT_M

Slo Afecta en caso de campos con referencia al Data


Dictionary. Para estos campos, la ALV Grid copia la descripcin
mediana para la cabecera del elemento de datos en este
campo.

SCRTEXT_S

Slo Afecta en caso de campos con referencia al Data


Dictionary. Para estos campos, la ALV Grid copia la descripcin
corta para la cabecera del elemento de datos en este campo.

SELDDICTXT

Slo Afecta en caso de campos con referencia al Data


Dictionary. Los valores 'L', 'M', 'S' o 'R' se usan para
determinar que campo entre SCRTEXT_L, SCRTEXT_M,

ALV Grid Control

39-45

SCRTEXT_S o REPTEXT es usado para el texto de la


seleccin.
SELTEXT

Si el campo no tiene referencia con el Data Dictionary el


contenido de este campo es el que se muestra en la seleccin
de la columna.

TIPDDICTXT

Slo Afecta en caso de campos con referencia al Data


Dictionary. Los valores 'L', 'M', 'S' o 'R' se usan para
determinar que campo entre SCRTEXT_L, SCRTEXT_M,
SCRTEXT_S o REPTEXT es usado para el tool tip.

6.17 Parmetros
Dictionary.
DD_OUTLEN

de

campos

con

referencia

del

Data

Este campo indica el ancho que ocupar al ser mostrado en la


pantalla. Slo afecta a los campos sin referencia del Data
Dictionary o si se va ha modificar el campo por medio de una
exit.

No

tiene

porqu

coincidir

este

campo

con

el

OUTPUTLEN.
INTLEN

Especifica la longitud interna del campo. Slo afecta si no se


tiene referencia al Data Dictionary o si se va ha modificar el
campo por medio de una exit.

INTTYPE

ALV Grid Control

Slo se rellena si no se tiene referencia del Data Dictionary.

40-45

6.18 Otros campos


SP_GROUP

Agrupa campos. En el dialog box para definir una variante se


puede usar para limitar la lista u ocultar columnas de un
grupo.

TXT_FIELD

Define la referencia a un campo que se use como descripcin


del actual campo. Si un subtotal es calculado, la ALV Grid
muestra la descripcin en el campo asignado.
Ejemplo: La Output table tiene una columna para el cdigo del
material y una columna para la descripcin de ese cdigo (por
ejemplo toallas). Si se hace un clculo por subtotales y se ha
rellenado el campo TXT_FIELD para los cdigos, en el total
aparecer

tambin

la

descripcin

otorgando

as

mayor

claridad.

ALV Grid Control

41-45

Leccin 7
El layout
7.1 Definicin
El layout es de tipo LVC_S_LAYO. Consta de campos para asignacin grfica de
propiedades de la ALV como mostrar excepciones, calcular totales y deshabilitar
ciertas opciones.

7.2 Estructura
Colores
Campo

Breve descripcin

ZEBRA

Genera el ALV con un aspecto cebrado (lneas de distintos


colores alternados).

Propiedades del Grid Control


Campo

Breve descripcin

GRID_TITLE

Texto de la title bar.

NO_HEADERS

Oculta las cabeceras

NO_ROWMARK

Oculta las marcas de las filas

NO_TOOLBAR

Oculta la toolbar

SEL_MODE

Modo de seleccin

SMALLTITLE

Tamao del ttulo

Interaccin
Campo

Breve descripcin

DETAILINIT

Muestra valores iniciales en la pantalla de detalle.

DETAILTITL

Title bar de la pantalla de detalle

SGL_CLK_HD

Un solo clic en la columna cabecera

ALV Grid Control

42-45

Excepciones
Campo

Breve descripcin

EXCP_CONDS

Herencia de exceptions

EXCP_FNAME

Campo con el cdigo de la excepcin

EXCP_LED

Excepcin como LEDs

EXCP_ROLLN

Data element para la documentacin de la excepcin

Opciones de totales
Campo

Breve descripcin

NUMC_TOTAL

Permite hacer totales para los campos NUMC

NO_TOTLINE

No muestra la lnea de totales

TOTALS_BEF

Mostrar totales antes de un registro.

Integracin
Generalmente,

se

rellenan

los

campos

antes

de

la

llamada

al

mtodo

set_table_for_first_display. Los mtodos get_frontend_layout y set_frontend_layout


permiten modificar los resultados en el layout despus de haberse lanzado el
mtodo set_table_for_first_display.

7.3 Propiedades del Grid Control


Opciones generales para mostrar
Campo

Descripcin

SMALLTITLE

Si se marca este campo, el tamao del ttulo corresponde con


el del resto de columnas. Valores: X, SPACE.

Customizing
Campo

Descripcin del rango

GRID_TITLE

El ttulo que est entre el gris y la toolbar debe tener una


longitud de 70 caracteres como mucho.

NO_HEADERS

Si se marca este campo, las columnas de la cabecera no se


muestran. Valores: SPACE, 'X'

NO_HGRIDLN

Si se marca este

campo, las columnas son mostradas sin

lneas horizontales. Valores: SPACE, 'X'


ALV Grid Control

43-45

NO_MERGING

Si se marca este campo, las celdas no son unidas cuando las


columnas se ordenan. Valores: SPACE, 'X'

NO_ROWMARK

Si se marca este campo, el botn de la izquierda que permite


seleccionar una lnea desaparece (SEL_MODE = 'D') y
(SEL_MODE = 'A'). Valores: SPACE, 'X'

NO_TOOLBAR

Si se marca este campo, no se muestra la toolbar. Valores:


SPACE, 'X'

NO_VGRIDLN

Si se marca este campo, las columnas se muestran sin lnea


vertical. Valores: SPACE, 'X'

SEL_MODE

Fija el mtodo de seleccin. Valores: SPACE, 'A', 'B', 'C', 'D'

Excepciones
Campo

Descripcin

EXCP_CONDS

Si se marca este campo, muestra una excepcin en la fila de


(sub)totales. Los colores de las excepciones son, dependiendo
de las mismas '1': rojo, '2': amarillo, '3' verde. Valores:
SPACE, 'X'.

EXCP_FNAME

Campo de la Output table para mostrar la excepcin.

EXCP_LED

La excepcin no es mostrada como un semforo sino como un


LED. Valores: SPACE, 'X'

Colores
Campo

Descripcin

ZEBRA

Si se marca este campo, el listado muestra, jugando con dos


colores una lnea de cada color. Valores: SPACE, 'X'

Opciones de totales
Campo

Descripcin

NO_TOTLINE

Si se marca este campo, se pueden hacer subtotales pero no


totales. Valores: SPACE, 'X'

NUMC_TOTAL

Si se marca este

campo, los campos de tipo NUMC pueden

usarse para hacer totales. Valores: SPACE, 'X'


TOTALS_BEF

Si se marca este

campo, la ALV muestra los totales en la

primera fila y los subtotales antes de cada nuevo valor.


Valores: SPACE, 'X'

ALV Grid Control

44-45

Interaction Control
Campo

Descripcin

DETAILINIT

Si se marca este

campo, la pantalla de detalle se habilita

tambin para los campos con valores iniciales. Valores:


SPACE, 'X'
DETAILTITL

Ttulo de la title bar para la pantalla de detalle.

Estructura de impresin
Contiene campos para la configuracin de la impresin
Estructura
Campo

Descripcin

RESERVELNS

Nmero

de

lneas

reservadas

para

el

evento

print_end_of_page
Si no se indica nmero, el texto especificado como pie de
pgina es sobrescrito por la lista.
GRPCHGEDIT

Habilita las opciones del usuario. Si se marca este campo el


usuario en la preview puede modificar cosas como las
ordenaciones, salto de pginas... de forma grfica. Valores:
SPACE, 'X'.

PRNTLSTINF

Si se marca este campo, la informacin de la ordenacin


subtotales y filtros definidos como elementos estadsticos son
impresos. Valores: SPACE, 'X'

Integracin
La lista que se muestra en la ALV Grid es impresa en la ABAP List Viewer. El modo
de print preview deja que el usuario interactu y dichos cambios slo afectan a la
impresin. Se puede deshabilitar con el campo PRINT).

ALV Grid Control

45-45

Вам также может понравиться