REPORT valores_de_dominios.
* Fala Pessoal, estou desenvolvendo um relatorio que irá trabalhar com
* informações de requests do ambiente, para um controle mais detalhado
* para a gerencia técnica e os mesmos me pediram pra colocar tudo sobre
* as requests e objetos incluindo os status deles, como na maioria dos
* textos sempre ficam em tabela separada conforme exemplo
* ( Ex1. MARA( Material ) -> MAKT ( Textos Material )
* Ex2. J_1BDOCTYPES ( Tipo de documento ) -> J_1BDOCTYPEST ( Textos ... )
* Visualizando as tabelas pela transação SE16N é possivel ver a tabela de
* Textos referente a tabela consultada.
* Isso facilita muito pegar os textos, mas as vezes os textos não estão em
* tabelas, estão implícitas dentro do dominio.
* Perceba que na imagem acima não está informado o campo 'Tab. Valores'
* onde estaria a tabela dos possiveis textos, além disso, os textos descritivos
* estão diretamente no dominio.
* Pra conseguir reservar essas informações que estão no dominio e só usar
* a função do titulo do post e pronto, rsrs.
* Segue um codigo que fiz como exemplo onde alimento a tabela com
* informações de dois dominios, para que vocês percebam que a tabela
* de retorno é a mesma e dentro da mesma é definido uma chave (DOMNAME),
* assim facilitando a busca.
DATA :
gt_domvalues TYPE TABLE OF dd07v,
ls_domvalues LIKE LINE OF gt_domvalues.
START-OF-SELECTION.
* Tipos da ordem/tarefa
PERFORM get_domain_values
TABLES gt_domvalues
USING 'TRFUNCTION'.
* Status da ordem/da tarefa
PERFORM get_domain_values
TABLES gt_domvalues
USING 'TRSTATUS'.
* Exibição dos valores dos dominios.
LOOP AT gt_domvalues INTO ls_domvalues.
WRITE / ls_domvalues.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form GET_DOMAIN_VALUES
*&---------------------------------------------------------------------*
FORM get_domain_values
TABLES dd07v TYPE STANDARD TABLE
USING domname TYPE dd07l-domname.
DATA :
lt_dd07v TYPE TABLE OF dd07v.
CALL FUNCTION 'DD_DOMVALUES_GET'
EXPORTING
domname = domname
text = abap_true
langu = sy-langu
TABLES
dd07v_tab = lt_dd07v
EXCEPTIONS
wrong_textflag = 1
OTHERS = 2.
IF lt_dd07v[] IS NOT INITIAL.
APPEND LINES OF lt_dd07v TO dd07v.
ENDIF.
ENDFORM.