- Objetivo: em um campo com valores de dominio, ao invés do usuário clicar no matchcode mostrar um listview.
- No caso um ALV editável.
No estrutura LVC_S_FCAT preencher os campos:
DRDN_HNDL = <colocar um identificador para o handle do listview, caso vc queira colocar mais de um listview tem que colocar um outro identificador, pode ser um contador tipo handle = 1 para o primeiro listview handle = 2 para o segundo e assim por diante. >
DRDN_ALIAS = 'X'
Como é editável não esquecer de preencher o campo EDIT = 'X'
- Depois de criar o objeto ALV ( método SET_TABLE_FOR_FIRST_DISPLAY), utilizar o método SET_DROP_DOWN_TABLE para preencher o campo listview. Conforme código exemplo.
DATA: lt_dral TYPE lvc_t_dral,
lw_dral TYPE lvc_s_dral,
lw_dd07t TYPE dd07t,
lw_z404t TYPE z404t.
"Valores do status
SELECT *
INTO lw_dd07t
FROM dd07t
WHERE domname EQ 'ZXX_STATUS_LOTE'
AND ddlanguage EQ sy-langu.
CLEAR lw_dral.
lw_dral-handle = '1'.
IF lw_dd07t-domvalue_l = space.
CONCATENATE '''''' '-' lw_dd07t-ddtext
INTO lw_dral-value SEPARATED BY space.
ELSE.
CONCATENATE lw_dd07t-domvalue_l '-' lw_dd07t-ddtext
INTO lw_dral-value SEPARATED BY space.
ENDIF.
lw_dral-int_value = lw_dd07t-domvalue_l.
APPEND lw_dral TO lt_dral.
ENDSELECT.
**Setting the Drop down table for Reason Code
CALL METHOD gcl_grid->set_drop_down_table
EXPORTING
it_drop_down_alias = lt_dral.
Nenhum comentário:
Postar um comentário