Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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áriaDescriçãoEntrada/Saída

tt_integr_retorna_sdo_orcto


Entrada
AtributoTipoFormatoDescriçãoObrigatórioEvolução
ttv_cod_produt_dtsulchar"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_empresachar"(3)"Código da EmpresaSim
tta_cod_estabchar"x(5)EstabelecimentoNão
tta_cod_plano_cta_ctblchar"x(8)"Plano de ContasNã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áriaDescriçãoEntrada/Saída

tt_integr_retorna_

Tabela TemporáriaDescriçãoEntrada/Saída

tt_integr_retorna_sdo_orcto


Entrada/Saída
AtributoTipoFormatoDescriçãoObrigatórioEvoluçã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áriaDescriçãoEntrada/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

    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 bil
Contábil" column-label "Conta 
Cont bil
Contá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¢digo
Código Empresa Ext" column-label "
C¢d
Có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 bil
Contá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¢cio
Negó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 bil
Cenário Contábil" column-label "
Cen rio Cont bil
Cenário Contábil"
 

  field tta_cod_exerc_ctbl               as character format "9999" label "
Exerc¡cio
Exercício 
Cont bil
Contábil" column-label "
Exerc¡cio
Exercício 
Cont bil
Contábil"
 

  field tta_num_period_ctbl              as integer format ">99" initial 0 label "
Per¡odo
Período 
Cont bil
Contábil" column-label "
Per¡odo
Perí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 rio
Cenário Orçamentário" column-label "
Cen
Cenário 
rio Or‡amen
Orçamen"
 

  field tta_cod_unid_orctaria            as character format "x(8)" label "Unid
Or‡ament
Orçament ria" column-label "Unid 
Or‡ament ria
Orçamentária"
 

  field tta_num_seq_orcto_ctbl           as integer format ">>>>>>>>9" initial 0 label "Seq Orcto
Cont bil
Contábil" column-label "Seq Orcto 
Cont bil
Contábil"
 

  field tta_cod_vers_orcto_ctbl          as character format "x(10)" label "
VersÆo
Versão 
Or‡amento
Orçamento" column-label "
VersÆo
Versão 
Or‡amento
Orç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Æo
Nã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Æo
Não" initial no label "Bloqueio por Empresa" column-label "Bloqueio por Empresa"
 

  field tta_log_bloq_estab               as logical format "Sim/
NÆo
Não" initial no label "Bloq por Estabel" column-label "Bloq por Estabel"
 

  field tta_log_bloq_cta_ctbl            as logical format "Sim/
NÆo
Nã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Æo
Não" initial no
 

  field tta_log_bloq_ccusto              as logical format "Sim/
NÆo
Nã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Æo
Não" initial no label "Bloq por Un.
Neg¢cio
Negócio" column-label "Bloq por Un.Neg¢cio"
 

  field ttv_log_plano_cta_ctbl_bloq      as logical format "Sim/
NÆo
Não" initial no
 

  field tta_log_bloq_proj_financ         as logical format "Sim/
NÆo
Não" initial no label "Bloqueio por Projeto" column-label "Bloqueio por Projeto"
 

  field ttv_num_cod_erro                 as integer format ">>>>,>>9" label "
N£mero
Número" column-label "
N£mero
Número"
 

  field ttv_des_msg_erro                 as character format "x(60)" label "Mensagem Erro" column-label "
Inconsistˆncia
Inconsistência"

    field ttv_des_msg_ajuda                as character format "x(40)" label "Mensagem Ajuda" column-label "Mensagem Ajuda"

    . 


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:

    DELETE tt_integr_retorna_sdo_orcto.

END.  


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.

assign tt_integr_retorna_sdo_orcto.ttv_cod_produt_dtsul            = "EMS5"

       tt_integr_retorna_sdo_orcto.tta_cod_empresa                 = '10'

       tt_integr_retorna_sdo_orcto.tta_cod_estab                   = '1'

       tt_integr_retorna_sdo_orcto.tta_cod_plano_cta_ctbl          = 'alfa'

       tt_integr_retorna_sdo_orcto.tta_cod_cta_ctbl                = '030303030303030'

       tt_integr_retorna_sdo_orcto.tta_cod_plano_ccusto            = ''

       tt_integr_retorna_sdo_orcto.tta_cod_ccusto                  = ''

       tt_integr_retorna_sdo_orcto.tta_cod_unid_negoc              = "01"

     tt_integr_retorna_sdo_orcto.tta_cod_exerc_ctbl              = "2024"

     tt_integr_retorna_sdo_orcto.tta_num_period_ctbl             = 01

     tt_integr_retorna_sdo_orcto.tta_cod_finalid_econ            = 'corrente'

     tt_integr_retorna_sdo_orcto.tta_cod_cenar_ctbl              = 'fiscal'

    tt_integr_retorna_sdo_orcto.tta_cod_cenar_orctario = 'geral'

    tt_integr_retorna_sdo_orcto.tta_cod_unid_orctaria = 'geral'

    tt_integr_retorna_sdo_orcto.tta_num_seq_orcto_ctbl = 14

    tt_integr_retorna_sdo_orcto.tta_cod_vers_orcto_ctbl = '1.00'      

    .


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. 

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 em um DISPLAY para mostrar os campos na tela.

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
.