Árvore de páginas

Versões comparadas

Chave

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

...

Aqui fazemos a 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 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" column-label "Conta 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 Empresa Ext" column-label "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"

    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" 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" column-label "Cen rio Cont bil"

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

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

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

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

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

    field tta_log_bloq_estab               as logical format "Sim/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" 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" initial no

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

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

    field tta_log_bloq_proj_financ         as logical format "Sim/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" column-label "N£mero"

    field ttv_des_msg_erro                 as character format "x(60)" label "Mensagem Erro" column-label "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 na tela por 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.