Добрый день.
Есть динамически формируемый редактируемый alv grid. Для некоторых полей нужно сделать возможность выбора значений из списка.
Делаю это так:
Code:
form main_attr_set_grid_drdn using attr_id type z_head-attr_id
changing ct_fcat type lvc_t_fcat.
TYPES: begin of z_attr_type,
atnam like cabn-atnam,
atwtb like cawnt-atwtb,
atwrt like cawn-atwrt,
end of z_attr_type.
field-symbols: <ls_outtab> type any,
<ls_fcat> type lvc_s_fcat,
<fs>.
data: lt_drdn type lvc_t_drop, "#EC NEEDED
ls_drdn type lvc_s_drop, "#EC NEEDED
lt_dral type lvc_t_dral, "#EC NEEDED
ls_dral type lvc_s_dral, "#EC NEEDED
l_count type i.
define mac_get_drdn.
ls_drdn-handle = 1.
ls_drdn-value = &1.
append ls_drdn to lt_drdn.
add 1 to l_count.
ls_dral-handle = 1.
ls_dral-value = &1.
write l_count to ls_dral-int_value left-justified.
append ls_dral to lt_dral.
end-of-definition.
loop at t_attr_val.
mac_get_drdn t_attr_val-atwrt.
endloop.
call method g_grid->set_drop_down_table
exporting
it_drop_down_alias = lt_dral.
read table ct_fcat assigning <ls_fcat>
with key fieldname = attr_id.
if sy-subrc eq 0.
<ls_fcat>-drdn_field = 'HANDLE_DRDN'.
<ls_fcat>-drdn_alias = 'X'.
endif.
loop at <dyn_table> assigning <ls_outtab>.
ASSIGN COMPONENT 'HANDLE_DRDN' OF STRUCTURE <ls_outtab> TO <fs>.
* <ls_outtab>-handle_drdn = 1.
<fs> = 1.
endloop.
endform.
Проблема в том, что значения в списке не отображаются. Табличка lt_dral на выходе непустая.
Если делать тоже самое для alv grid, в котором все поля руками создаю, то список значений отображается нормально.
С чем это может быть связано?