Ir al contenido
Programación ABAP

Casillas de selección en un ALV

Añadir una casilla al principio de cada línea para que el usuario marque registros.

ALV
3 de 3

INCORPORAR CHECK BOXES A UN ALV REPORT.

Para incorporar checkboxes en un alv report hay que seguir los pasos siguientes:

1. Incluir en la tabla de datos del alv una columna adicional TYPE C, que almacenará la información de si la línea esta o no seleccionada.

ABAP
DATA: BEGIN OF I_ALV_DATA OCCURS 0,
  CHECKED TYPE C,   "Columna para los check boxes
  COLUM1  TYPE C,
  COLUM2  TYPE C,
END OF I_ALV_DATA.

2. En la estructura utilizada para la definición del layout del report hay que informar el campo BOX_FIELDNAME con el nombre el campo de Checkboxes del apartado anterior (en este caso 'CHECKED').

ABAP
IS_LAYOUT-BOX_FIELDNAME = 'CHECKED'.

3. Se crea el fieldcatalog.

4. Se llama a la función ALV.

ABAP
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
     IS_LAYOUT     = IS_LAYOUT
     IT_FIELDCAT   = I_FIELDCAT
  TABLES
     T_OUTTAB      = I_ALV_DATA
  EXCEPTIONS
     PROGRAM_ERROR = 1
     OTHERS = 2.

Esto es suficiente para visualizar en el report un check box al comienzo de cada linea del report. Si se selecciona una de esas líneas, automáticamente cambia el valor del campo de checkboxes (en este caso 'Checked') en la tabla de datos (en este caso I_ALV_DATA), que pasa a tener el valor 'X'. Esa información permanece en la tabla de datos aún después de haber salido del report con F3 (BACK). De modo que podemos realizar cualquier tipo de procesamiento posterior con esos registros.