segunda-feira, 5 de fevereiro de 2024

Leitura de dados de estrutura BOPF

 Transações importantes

BOBX - Estruturas dos BOPF

BOBT - Teste de estrutura BOPF

Ex: /SCMTMS/TOR

Transação BOBX

- Clicar na estrutura desejada








BOBT - teste de query

Do lado esquerdo na BOBT tem as queries disponíveis.

Do lado direito na BOBX a localização das querys disponíveis na visão de estrutura

















Pegando exemplo de dados da remessa na query PLANNING_ATTRIBUTES

Registros encontrados





Fazendo pelo código do programa

"Service Manager
DATA(lo_srv_mgr/bobf/cl_tra_serv_mgr_factory=>get_service_manager/SCMTMS/IF_TOR_C=>sc_bo_key ).

DATA(lv_bo_name/SCMTMS/IF_TOR_C=>sc_bo_name.

data(lv_attname=  /SCMTMS/IF_TOR_C=>sc_query_attribute-root-planning_attributes-trq_base_btd_id.

*"Selection Parameters
DATA(lt_selparVALUE /bobf/t_frw_query_selparamattribute_name lv_attname
                                                      sign 'I'
                                                      option 'EQ'
                                                      low '0080000180' ).

*"Query key

data lt_key TYPE /BOBF/T_FRW_KEY.
data lt_docref type /scmtms/t_tor_root_k.

"Execução da query
lo_srv_mgr->queryEXPORTING iv_query_key /scmtms/if_tor_c=>sc_query-root-planning_attributes
                             "it_filter_key =
                             it_selection_parameters lt_selpar
                             "is_query_options =
                             iv_fill_data abap_true
                             "it_requested_attributes =
                   IMPORTING "eo_message = DATA(lo_message)
                      et_key lt_key
                      et_data lt_docref
                      ).


====== Abaixo de onde vem as informações na BOBX











====== Para ler os dados da estrutura abaixo do ROOT.

Transação BOBT













=========  Código ==========

Como faz parte da estrutura ROOT pega os dados a partir das chaves retornadas da leitura do root

DELETE lt_key WHERE key not in lt_r_key.

data lt_doc_tr type /SCMTMS/T_TOR_ITEM_TR_K.

  lo_srv_mgr->retrieve_by_association(
      EXPORTING
        iv_node_key             /scmtms/if_tor_c=>sc_node-root
        it_key                  lt_key                             " Key Table
        iv_edit_mode            /bobf/if_conf_c=>sc_edit_read_only " Change Mode
        iv_fill_data            abap_true                          " Data element for domain BOOLE: TRUE (='X') and FALSE (=' ')
        iv_association /scmtms/if_tor_c=>sc_association-root-item_tr_main
      IMPORTING
        "eo_message              = lo_message                         " Interface of Message Object
        et_data                 lt_doc_tr
        et_failed_key           DATA(lt_failed_key)                " Key Table
    ).










E assim sucessivamente, com outras estruturas sob o mesmo nó

data lt_doc_tr_seal type /SCMTMS/T_TOR_SEAL_K.

  lo_srv_mgr->retrieve_by_association(
      EXPORTING
        iv_node_key             /scmtms/if_tor_c=>sc_node-root
        it_key                  lt_key                             " Key Table
        iv_edit_mode            /bobf/if_conf_c=>sc_edit_read_only " Change Mode
        iv_fill_data            abap_true                          " Data element for domain BOOLE: TRUE (='X') and FALSE (=' ')
        iv_association /scmtms/if_tor_c=>sc_association-root-seal
      IMPORTING
        "eo_message              = lo_message                         " Interface of Message Object
        et_data                 lt_doc_tr_seal
        et_failed_key           lt_failed_key                " Key Table
    ).

data lt_doc_tr_item type /SCMTMS/T_TOR_ITEM_TR_K.

  lo_srv_mgr->retrieve_by_association(
      EXPORTING
        iv_node_key             /scmtms/if_tor_c=>sc_node-root
        it_key                  lt_key                             " Key Table
        iv_edit_mode            /bobf/if_conf_c=>sc_edit_read_only " Change Mode
        iv_fill_data            abap_true                          " Data element for domain BOOLE: TRUE (='X') and FALSE (=' ')
        iv_association /scmtms/if_tor_c=>sc_association-root-item_tr
      IMPORTING
        "eo_message              = lo_message                         " Interface of Message Object
        et_data                 lt_doc_tr_item
        et_failed_key           lt_failed_key                " Key Table
    ).



Nenhum comentário:

Postar um comentário