Histórico da Página
...
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 | 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.
def var h-handle as widget-handle no-undo. |
---|
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 |
---|
|
---|
Contábil" column-label "Conta |
---|
Contábil" |
---|
|
---|
Código Empresa Ext" column-label " |
---|
Cód Emp Ext" |
---|
|
---|
Contábil" |
---|
|
---|
Negócio" column-label "Un Neg" |
---|
|
---|
Cenário Contábil" column-label " |
---|
Cenário Contábil" |
---|
|
---|
Exercício |
---|
Contábil" column-label " |
---|
Exercício |
---|
Contábil" |
---|
|
---|
Período |
---|
Contábil" column-label " |
---|
Período" |
---|
|
---|
Cenário Orçamentário" column-label " |
---|
Cenário |
---|
Orçamen" |
---|
|
---|
Orçament ria" column-label "Unid |
---|
Orçamentária" |
---|
|
---|
Contábil" column-label "Seq Orcto |
---|
Contábil" |
---|
|
---|
Versão |
---|
Orçamento" column-label " |
---|
Versão |
---|
Orçamento" |
---|
|
---|
Não" initial no label "Utiliz Exec Orctaria" column-label "Utiliz Exec Orctaria" |
---|
|
---|
Não" initial no label "Bloqueio por Empresa" column-label "Bloqueio por Empresa" |
---|
|
---|
Não" initial no label "Bloq por Estabel" column-label "Bloq por Estabel" |
---|
|
---|
Não" initial no label "Bloq por Cta Ctbl" column-label " Bloq por Cta Ctbl" |
---|
|
---|
Não" initial no |
---|
|
---|
Não" initial no label "Bloq por C.Custo" column-label "Bloq por C.Custo" |
---|
|
---|
Não" initial no label "Bloq por Un. |
---|
Negócio" column-label "Bloq por Un.Neg¢cio" |
---|
|
---|
Não" initial no |
---|
|
---|
Não" initial no label "Bloqueio por Projeto" column-label "Bloqueio por Projeto" |
---|
|
---|
Número" column-label " |
---|
Número" |
---|
|
---|
Inconsistência" |
---|
3.Limpeza da Tabela Temporária
Após definirmos a tabela, no terceiro passo removemos todos os registros existentes na tabela temporária.
FOR EACH tt_integr_retorna_sdo_orcto: |
---|
4. Criação de um Registro na Tabela Temporária
Com a limpeza da tabela temporária, criamos um novo registro na tabela tt_integr_retorna_sdo_orcto
e atribui valores aos campos desse registro.
create tt_integr_retorna_sdo_orcto. |
---|
5. Execução do Programa Externo
Aqui chamamos o programa externo bgc705za.r
e define que ele será executado de forma persistente, armazenando a referência em h-handle
. Em seguida, executamos a pi_main_retorna_dados_ctbl_01,
passando a tabela temporária tt_integr_retorna_sdo_orcto
como parâmetro de entrada e saída.
run prgfin/bgc/bgc705za.r persistent set h-handle. |
---|
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 em um DISPLAY
para mostrar os campos na tela.
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
. |
---|