...
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. |
---|