если значения определены на этапе разработки и их всего два - загнать в домен и создать ячейку на его основе[/quote]
создал поле DOCTYPE
ему создал домен DOCTYPE с типом CHAR и длиной 16 символов
Code:
*&---------------------------------------------------------------------*
*& Form BUILD_FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_GT_FIELDCAT text
*----------------------------------------------------------------------*
form build_fieldcat changing pt_fieldcat type lvc_t_fcat.
data ls_fcat type lvc_s_fcat.
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'ZMMGYPTABLE'
changing
ct_fieldcat = pt_fieldcat.
loop at pt_fieldcat into ls_fcat.
if ls_fcat-fieldname eq 'DOCTYPE'.
ls_fcat-edit = 'X'.
ls_fcat-drdn_hndl = '1'.
ls_fcat-outputlen = 7.
ls_fcat-checktable = '!'. "do not check foreign keys
modify pt_fieldcat from ls_fcat.
endif.
endloop.
endform.
Code:
*&---------------------------------------------------------------------*
*& Form set_drdn_table
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form set_drdn_table.
data: lt_dropdown type lvc_t_drop,
ls_dropdown type lvc_s_drop.
* First listbox (handle '1').
ls_dropdown-handle = '1'.
ls_dropdown-value = 'Договор'.
append ls_dropdown to lt_dropdown.
ls_dropdown-handle = '1'.
ls_dropdown-value = 'Приложение'.
append ls_dropdown to lt_dropdown.
call method grid->set_drop_down_table
exporting it_drop_down = lt_dropdown.
endform. " set_drdn_table
Code:
FORM select_data_and_init_style.
DATA: it_zmmgyptable TYPE TABLE OF zmmgyptable,
lt_celltab TYPE lvc_t_styl,
*
pt_fieldcat type lvc_t_fcat,
lt_exclude type ui_functions,
lt_f4 type lvc_t_f4 with header line,
*
l_index TYPE i.
field-symbols: <fs_zmmgyptable>.
SELECT * FROM zmmgyptable INTO TABLE it_zmmgyptable WHERE
id IN id AND executor IN executor AND nameca IN nameca AND DELSTR = ''." and del is initial.
clear gt_outtab.
LOOP AT it_zmmgyptable assigning <fs_zmmgyptable>.
MOVE-CORRESPONDING <fs_zmmgyptable> TO ls_outtab.
APPEND ls_outtab to gt_outtab.
ENDLOOP.
*-->Заполнение таблицы стилей ячеек
loop at gt_outtab assigning <fs_outtab>.
clear: <fs_outtab>-celltab, lt_alv_style_list.
loop at gt_fieldcat[] assigning <fs_fieldcat>.
ls_alv_cell_style-fieldname = <fs_fieldcat>-fieldname.
if sy-uname = <fs_outtab>-whocreate.
ls_alv_cell_style-style = cl_gui_alv_grid=>mc_style_disabled.
insert ls_alv_cell_style into table lt_alv_style_list.
else.
endif.
endloop.
append lines of lt_alv_style_list to <fs_outtab>-celltab.
endloop.
perform build_fieldcat changing pt_fieldcat.
perform exclude_tb_functions changing lt_exclude.
perform set_drdn_table.
ENDFORM. " SELECT_DATA_AND_INIT_STYLE