quarta-feira, 27 de novembro de 2013

ALV - Mostrar campo como Listview

- 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