Listbox en una celda en ALV OO
mayo 29, 2022
Se debe agregar un campo en la tabla que se va a mostrar:
types: begin of . . .
.
.
drop_down_handle type int4.
types: end of. . .
Luego, cuando se crea el catálogo, se debe asignar el campo que va a ser un listbox:
<catalogo>-drdn_field = ‘DROP_DOWN_HANDLE’.
Después, se debe crear una tablita con los datos que se van a mostrar en el listbox, y se la setea en el objeto del ALV (el handle se comporta como una clave):
data: lt_dropdown type lvc_t_drop,
ls_dropdown type lvc_s_drop.
ls_dropdown-handle = ‘1’.
ls_dropdown-value = ‘F’.
append ls_dropdown to lt_dropdown.
ls_dropdown-handle = ‘2’.
ls_dropdown-value = ‘F’.
append ls_dropdown to lt_dropdown.
ls_dropdown-handle = ‘2’.
ls_dropdown-value = ‘C’.
append ls_dropdown to lt_dropdown.
ls_dropdown-handle = ‘2’.
ls_dropdown-value = ‘Y’.
append ls_dropdown to lt_dropdown.
call method g_grid->set_drop_down_table
exporting it_drop_down = lt_dropdown.
Y para terminar, cuando se cargan los datos para mostrar el ALV, se le debe decir a cada línea, la “clave” que está en el listbox:
if ls_outtab-smoker eq ‘X’.
ls_outtab-drop_down_handle = ‘1’.
else.
ls_outtab-drop_down_handle = ‘2’.
endif.
mayo 29, 2022
mayo 29, 2022
mayo 29, 2022
mayo 29, 2022
mayo 29, 2022