...
A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Tabela Temporária
Aqui iremos dividir a tabela temporária em Entrada, Entrada/Saída e Saída para organizar e categorizar os dados conforme o seu papel e fluxo na execução da API.
O programa que irá executar a API de retorno de saldos deverá conter e criar a seguinte tabela temporária:
1. Entrada
Nos atributos de entrada da tabela temporária:Esses atributos são usados para fornecer informações à API. Eles são necessários para definir o contexto e os parâmetros de execução da API.
Tabela Temporária | Descrição | Entrada/Saída |
---|
tt_integr_retorna_sdo_orcto |
| Entrada |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
---|
ttv_cod_produt_dtsul | char | "x(8)" | Produto (EMS2 / EMS5)
Observação: Quando o produto origem for EMS2, deverão ser informados somente os atributos externos (ttv_cod_matriz_trad_org_ext, ttv_cod_empresa_ext, ttv_cod_estab_ext, ttv_cod_cta_ctbl_ext, ttv_cod_sub_cta_ctbl_ext, ttv_cod_matriz_trad_finalid_ext, ttv_num_finalid_ext). A API fará as traduções necessárias para os atributos correspondentes do EMS5. | Sim |
|
tta_cod_empresa | char | "(3)" | Código da Empresa | Sim |
|
tta_cod_estab | char | "x(5) | Estabelecimento | Não |
|
tta_cod_plano_cta_ctbl | char | "x(8)" | Plano de Contas | Não |
|
tta_cod_cta_ctbl | char | "x(20)" | Conta Contábil | Não |
|
tta_cod_plano_ccusto | char | "x(8)" | Plano de Centro de Custo | Não |
|
tta_cod_ccusto | char | "x(11)" | Centro de Custo | Não |
|
ttv_cod_matriz_trad_org_ext | char | "x(8)" | Matriz de Tradução
Observação: Quando não for informada, será buscado primeiro a matriz de tradução informada nos Parâmetros Gerais do BGC, caso não tenha matriz informada nos parâmetros, será buscada então a matriz de tradução dos parâmetros de integração do EMS (Contabilizações 2.00). | Não |
|
ttv_cod_empresa_ext | char | "x(3)" | Empresa Externa | Não |
|
ttv_cod_estab_ext | char | "x(3)" | Estabelecimento Externo | Não |
|
ttv_cod_cta_ctbl_ext | char | "x(20)" | Conta Contábil Externa | Não |
|
ttv_cod_sub_cta_ctbl_ext | char | "x(8)” | Sub-Conta Externa | Não |
|
ttv_cod_matriz_trad_finalid_ext | char | "x(8)" | Matriz de Tradução Finalidade Externa | Não |
|
ttv_num_finalid_ext | int | “>9” | Moeda Externa | Não |
|
tta_cod_unid_negoc | char | "x(3)" | Unidade de Negócio
Observação: Será obrigatório informar a Unidade de Negócio somente quando o produto for EMS5. | Sim (EMS5) |
|
tta_cod_proj_financ | char | "x(20)" | Projeto | Não |
|
tta_cod_finalid_econ | char | "x(10)" | Finalidade Econômica | Não |
|
tta_cod_cenar_ctbl | char | "x(8)" | Cenário Contábil
Observação: Quando não for informado o Cenário Contábil, será utilizado o cenário parametrizado como “Fiscal” no cadastro de Utilização do Cenário Contábil. | Não |
|
tta_cod_exerc_ctbl | char | "9999" | Exercício | Sim |
|
tta_num_period_ctbl | int | ">99" | Período | Sim |
|
ttv_dat_movto | date | "99/99/9999" | Data Movimento
Observação: Quando não for informada a Data do Movimento, esse atributo será atualizado com a data final do Período/Exercício Contábil informados. | Não |
Nos atributos de entrada/saida da tabela temporária:
2. Entrada/Saída
Esses atributos podem atuar tanto como entrada quanto como saída. Isso significa que, além de fornecer informações iniciais para a API, eles podem ser atualizados pela API com novos valores baseados no processamento realizado.
Tabela Temporária | Descrição | Entrada/Saída |
---|
tt_integr_retorna_ |
Tabela Temporária | Descrição | Entrada/Saída |
---|
tt_integr_retorna_sdo_orcto |
| Entrada/Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
---|
tta_cod_cenar_orctario | char | "x(8)" | Cenário Orçamentário | Não |
|
tta_cod_unid_orctaria | char | "x(8)" | Unidade Orçamentária | Não |
|
tta_num_seq_orcto_ctbl | int | ">>>>>>>>9" | Sequencia do Orçamento | Não |
|
tta_cod_vers_orcto_ctbl | char | "x(10)" | Versão do Orçamento | Não |
|
3. Saída
Esses atributos são utilizados para retornar os resultados do processamento da API. Eles contêm os valores calculados, informações de status e quaisquer mensagens de erro ou ajuda.Nos atributos de saída da tabela temporária:
Tabela Temporária | Descrição | Entrada/Saída |
---|
tt_integr_retorna_sdo_orcto |
| Saída |
...
Para a utilização da api é necessário realizar os seguintes passos:
1. Definição do Handle
Aqui fazemos a definição Definição da variável h-handle
para armazenar a referência ao programa externo.
...
2. Definição da Tabela Temporária
Define uma Definição da tabela temporária tt_integr_retorna_sdo_orcto com seus respectivos campos.
def temp-table tt_integr_retorna_sdo_orcto no-undo
field ttv_cod_produt_dtsul as character format "x(8)" label "Produto" column-label "Produto"
field tta_cod_empresa as character format "x(3)" label "Empresa" column-label "Empresa"
field tta_cod_estab as Character format "x(5)" label "Estabelecimento" column-label "Estab"
field tta_cod_plano_cta_ctbl as character format "x(8)" label "Plano Contas" column-label "Plano Contas" field tta_cod_cta_ctbl as character format "x(20)" label "Conta Cont bilContábil" column-label "Conta Cont bilContábil"
field tta_cod_plano_ccusto as character format "x(8)" label "Plano Centros Custo" column-label "Plano Centros Custo"
field tta_cod_ccusto as Character format "x(11)" label "Centro Custo" column-label "Centro Custo"
field ttv_cod_matriz_trad_org_ext as character format "x(8)" label "Matriz UO" column-label "Matriz UO" field ttv_cod_empresa_ext as character format "x(3)" label "C¢digoCódigo Empresa Ext" column-label "C¢dCód Emp Ext"
field ttv_cod_estab_ext as character format "x(3)" label "Estabelecimento" column-label "Estabelecimento" field ttv_cod_cta_ctbl_ext as character format "x(20)" column-label "Conta Cont bilContábil"
field ttv_cod_sub_cta_ctbl_ext as character format ">>>>9"
field ttv_cod_matriz_trad_finalid_ext as character format "x(8)" label "Matriz Trad Finalid" column-label "Matriz Trad Finalid"
field ttv_num_finalid_ext as integer format ">9" label "Finalid Econ Externa" column-label "Finalid Econ Externa" field tta_cod_unid_negoc as character format "x(3)" label "Unid Neg¢cioNegócio" column-label "Un Neg"
field tta_cod_proj_financ as character format "x(20)" label "Projeto" column-label "Projeto"
field tta_cod_finalid_econ as character format "x(10)" label "Finalidade" column-label "Finalidade" field tta_cod_cenar_ctbl as character format "x(8)" label "Cen rio Cont bilCenário Contábil" column-label "Cen rio Cont bilCenário Contábil" field tta_cod_exerc_ctbl as character format "9999" label "Exerc¡cioExercício Cont bilContábil" column-label "Exerc¡cioExercício Cont bilContábil" field tta_num_period_ctbl as integer format ">99" initial 0 label "Per¡odoPeríodo Cont bilContábil" column-label "Per¡odoPeríodo"
field ttv_dat_movto as date format "99/99/9999" label "Data Movimento" column-label "Data Movimento" field tta_cod_cenar_orctario as character format "x(8)" label "Cen rio Or‡ament rioCenário Orçamentário" column-label "CenCenário rio Or‡amenOrçamen" field tta_cod_unid_orctaria as character format "x(8)" label "Unid Or‡amentOrçament ria" column-label "Unid Or‡ament riaOrçamentária" field tta_num_seq_orcto_ctbl as integer format ">>>>>>>>9" initial 0 label "Seq Orcto Cont bilContábil" column-label "Seq Orcto Cont bilContábil" field tta_cod_vers_orcto_ctbl as character format "x(10)" label "VersÆoVersão Or‡amentoOrçamento" column-label "VersÆoVersão Or‡amentoOrçamento"
field ttv_val_tot_orcado as decimal format "->>,>>>,>>>,>>9.99" decimals 2
field ttv_val_movto_empenh as decimal format "->>,>>>,>>>,>>9.99" decimals 9 initial 0 label "Movto Empenhado" column-label "Movto Empenhado"
field ttv_val_realiz as decimal format "->>,>>>,>>>,>>9.99" decimals 2 field ttv_log_utiliz_exec_orctaria as logical format "Sim/NÆoNão" initial no label "Utiliz Exec Orctaria" column-label "Utiliz Exec Orctaria"
field ttv_cod_exerc_ctbl_ini as character format "9999" label "Inicial" column-label "Inicial"
field ttv_cod_exerc_ctbl_fim as character format "9999" label "Final" column-label "Final"
field ttv_num_period_ctbl_ini as integer format ">99" initial 0 label "Per¡odo Inicial" column-label "Inicial"
field ttv_num_period_ctbl_fim as integer format ">99" initial 0 label "Per¡odo Final" column-label "Final" field tta_log_bloq_empres as logical format "Sim/NÆoNão" initial no label "Bloqueio por Empresa" column-label "Bloqueio por Empresa" field tta_log_bloq_estab as logical format "Sim/NÆoNão" initial no label "Bloq por Estabel" column-label "Bloq por Estabel" field tta_log_bloq_cta_ctbl as logical format "Sim/NÆoNão" initial no label "Bloq por Cta Ctbl" column-label " Bloq por Cta Ctbl" field ttv_log_plano_ccusto_bloq as logical format "Sim/NÆoNão" initial no field tta_log_bloq_ccusto as logical format "Sim/NÆoNão" initial no label "Bloq por C.Custo" column-label "Bloq por C.Custo" field tta_log_bloq_unid_negoc as logical format "Sim/NÆoNão" initial no label "Bloq por Un.Neg¢cioNegócio" column-label "Bloq por Un.Neg¢cio" field ttv_log_plano_cta_ctbl_bloq as logical format "Sim/NÆoNão" initial no field tta_log_bloq_proj_financ as logical format "Sim/NÆoNão" initial no label "Bloqueio por Projeto" column-label "Bloqueio por Projeto" field ttv_num_cod_erro as integer format ">>>>,>>9" label "N£meroNúmero" column-label "N£meroNúmero" field ttv_des_msg_erro as character format "x(60)" label "Mensagem Erro" column-label "InconsistˆnciaInconsistência"
field ttv_des_msg_ajuda as character format "x(40)" label "Mensagem Ajuda" column-label "Mensagem Ajuda"
. |
---|
...
run prgfin/bgc/bgc705za.r persistent set h-handle.
run pi_main_retorna_dados_ctbl_01 in h-handle(input-output table tt_integr_retorna_sdo_orcto). |
---|
6. Exibição dos Dados
Para exibição de dados, realizamos um FOR EACH que percorre cada registro da tabela temporária tt_integr_retorna_sdo_orcto
(neste caso, apenas um registro) e exibe os valores dos campos na tela por um DISPLAY.
FOR EACH tt_integr_retorna_sdo_orcto: DISPLAY "Produto - " tt_integr_retorna_sdo_orcto.ttv_cod_produt_dtsul "Empresa - " tt_integr_retorna_sdo_orcto.tta_cod_empresa "Estabelecimento - " tt_integr_retorna_sdo_orcto.tta_cod_estab "Plano Conta Contabil -" tt_integr_retorna_sdo_orcto.tta_cod_plano_cta_ctbl "Conta - " tt_integr_retorna_sdo_orcto.tta_cod_cta_ctbl "PLano CCusto" tt_integr_retorna_sdo_orcto.tta_cod_plano_ccusto "CCusto - " tt_integr_retorna_sdo_orcto.tta_cod_ccusto "MAtriz EXT -" tt_integr_retorna_sdo_orcto.ttv_cod_matriz_trad_org_ext "Empresa EXT - " tt_integr_retorna_sdo_orcto.ttv_cod_empresa_ext "Estab EXT - " tt_integr_retorna_sdo_orcto.ttv_cod_estab_ext "Conta EXT - " tt_integr_retorna_sdo_orcto.ttv_cod_cta_ctbl_ext "Sub Conta - " tt_integr_retorna_sdo_orcto.ttv_cod_sub_cta_ctbl_ext "Matriz Finalid EXT - " tt_integr_retorna_sdo_orcto.ttv_cod_matriz_trad_finalid_ext "Finalid EXT - " tt_integr_retorna_sdo_orcto.ttv_num_finalid_ext "UN - " tt_integr_retorna_sdo_orcto.tta_cod_unid_negoc "Projeto - " tt_integr_retorna_sdo_orcto.tta_cod_proj_financ "Finalidade - " tt_integr_retorna_sdo_orcto.tta_cod_finalid_econ "Cenario - " tt_integr_retorna_sdo_orcto.tta_cod_cenar_ctbl "Exercicio - " tt_integr_retorna_sdo_orcto.tta_cod_exerc_ctbl "Periodo - " tt_integr_retorna_sdo_orcto.tta_num_period_ctbl "Data Movto - " tt_integr_retorna_sdo_orcto.ttv_dat_movto "Cenario OR€ - " tt_integr_retorna_sdo_orcto.tta_cod_cenar_orctario "Unidade Or‡ - " tt_integr_retorna_sdo_orcto.tta_cod_unid_orctaria "Seq Or‡ - " tt_integr_retorna_sdo_orcto.tta_num_seq_orcto_ctbl "VersÆo - " tt_integr_retorna_sdo_orcto.tta_cod_vers_orcto_ctbl "Vl Total Or‡ - " tt_integr_retorna_sdo_orcto.ttv_val_tot_orcado "Vl Movto Emp - " tt_integr_retorna_sdo_orcto.ttv_val_movto_empenh "Valor Realizado - " tt_integr_retorna_sdo_orcto.ttv_val_realiz "Utiliza BGC - " tt_integr_retorna_sdo_orcto.ttv_log_utiliz_exec_orctaria "Exercicio INI - " tt_integr_retorna_sdo_orcto.ttv_cod_exerc_ctbl_ini "Exercicio FIM - " tt_integr_retorna_sdo_orcto.ttv_cod_exerc_ctbl_fim "Periodo INI - " tt_integr_retorna_sdo_orcto.ttv_num_period_ctbl_ini "Periodo FIM - " tt_integr_retorna_sdo_orcto.ttv_num_period_ctbl_fim "Bloqueia Empres - " tt_integr_retorna_sdo_orcto.tta_log_bloq_empres "Bloqueia Estab - " tt_integr_retorna_sdo_orcto.tta_log_bloq_estab "Bloqueia Conta - " tt_integr_retorna_sdo_orcto.tta_log_bloq_cta_ctbl "Bloqueia Plano CC - " tt_integr_retorna_sdo_orcto.ttv_log_plano_ccusto_bloq "Bloqueia CC - " tt_integr_retorna_sdo_orcto.tta_log_bloq_ccusto "Bloqueia UN - " tt_integr_retorna_sdo_orcto.tta_log_bloq_unid_negoc "Bloqueia PLano CC - " tt_integr_retorna_sdo_orcto.ttv_log_plano_cta_ctbl_bloq "Bloqueia Projeto - " tt_integr_retorna_sdo_orcto.tta_log_bloq_proj_financ WITH 2 COL NO-LABEL. MESSAGE ttv_des_msg_erro ttv_des_msg_ajuda ttv_num_cod_erro VIEW-AS ALERT-BOX INFO BUTTONS OK. END. |
---|