Histórico da Página
Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | prgfin/cmg/cmg719zfcmg719zg |
Objetivo
Importar movimentos de contas correntes para o Caixa e Bancos.
Funcionamento
Na forma padrão, realiza-se a chamada do programa em modo persistente, sem a passagem de parâmetros, e em seguida, através de um comando RUN normal, executa-se seu método padrão passando-se os parâmetros com as informações necessárias.
Observações:- 66.”
A sintaxe para a chamada da API é:
...
def new shared stream s_1.
Def var log_print_imported_nok as logical initial yes.
Def var log_print_imported as logical initial yes.
run prgfin/cmg/cmg719zg.py persistent set v_hdl_program.
...
output stream s_1 to value(session:temp-directory + "\cmg719zg.txt") paged page-size 66.
run pi_main_cmg719zg_2 3 in v_hdl_program (input 1,
input yes,
input yes,
input-output table tt_movto_cta_corren_import,
Input table tt_aprop_ctbl_cmg_imp,
2,
input log_print_imported_nok,
input log_print_imported,
input-output table tt_movto_cta_corren_import_3,
Input table tt_aprop_ctbl_cmg_imp_3,
input table tt_val_aprop_ctbl_cmg_import,_3,
input table tt_val_aprop_cmg_cambial,_cmg_cambial_3,
Input table tt_rat_financ_cmg_import,_3,
output table tt_import_movto_valid_cmg_3).
output close.
delete procedure v_hdl_program.
...
Parâmetro | Descrição |
p_num_vers_integr_api | Será utilizado para determinar se o programa que está chamando está íntegro com as definições correntes da API. |
p_log_print_imported_nok | Será utilizado para indicar se será impresso no arquivo de log os registros não importados, isto é, aqueles em que ocorreram erros. |
p_log_print_imported | Será utilizado para indicar se será impresso no arquivo de log os registros importados, isto é, aqueles em que não ocorreram erros. |
tt_movto_cta_corren_import_3 | Esta temp-table conterá todos os movimentos que devam ser importados para o Caixa e Bancos. |
tt_aprop_ctbl_cmg_imp_3 | Esta temp-table conterá as apropriações dos movimentos que serão importados. Obs: Somente poderão ser informados as apropriações quando o módulo informado no movimento for “CMG”. |
tt_val_aprop_ctbl_cmg_import_3 | Esta temp-table conterá os valores das apropriações dos movimentos que serão importados. Importante: Não é necessário gerar dados para esta temp-table, caso a mesma esteja vazia os valores das apropriações serão criados normalmente com base nas moedas (finalidades) que armazenam valores no módulo e com base nas cotações cadastradas no sistema. |
tt_val_aprop_cmg_cambial_3 | Esta temp-table conterá as variáveis utilizadas para o cálculo dos valores de movimentos de variação cambial. Ela resultará em uma tabela que servirá apenas para conferência do valor gerado. Importante: esta temp-table é de uso interno dos sistemas Datasul. |
tt_rat_financ_cmg_import_3 | Esta temp-table conterá os rateios dos movimentos que serão importados. Obs1: Somente poderão ser informados os rateios quando o módulo informado no movimento for “CMG”. Obs2: Os rateios que não forem informados para movimentos com o módulo “CMG”, serão criados automaticamente. |
tt_import_movto_valid_cmg_3 | Esta temp-table conterá os erros que ocorreram nos movimentos que não puderam ser importados. |
Retorno
A API retornará na tabela temporária tt_import_movto_valid_cmg_3 todos os erros encontrados ou mensagens de alerta gerados durante o processo de validação dos movimentos.
...
Observações: Quando a API for executada por um programa externo, logo após a chamada da API, deverá ser criado um tratamento para impressão dos erros, caso o usuário não tenha ligado os parâmetros para impressão dos movimentos importados e com erros. E para a correta visualização dos erros, todos os campos desta tabela devem ser impressos.
Tabelas Temporárias
O programa que irá executar a api_movto_cta_corren_import_recebto deverá conter e criar as seguintes tabelas temporárias:
...
Tabela Temporária | Descrição | Entrada/Saída |
tt_movto_cta_corren_import_3 | Conterá as informações dos movimentos a serem importados. | Entrada e Saída |
Atributo | Tipo | Formato | Descrição | Obrig. | Evolução | |
tta_cod_cta_corren | character | x(10) | Código da Conta Corrente. | Sim | ||
tta_dat_movto_cta_corren | date | 99/99/9999 | Data do Movimento. | Sim | ||
tta_num_seq_movto_cta_corren | integer | >>>>9 | Seqüência em que o movimento será gerado. | Sim | ||
tta_ind_tip_movto_cta_corren | character | X(2) | Indicador do Tipo de Movimento. Valores permitidos: RE e NR. Onde: RE = Realizado NR = Não Realizado. | Sim | ||
tta_cod_tip_trans_cx | character | x(8) | Código do Tipo de Transação de Caixa. | Sim | ||
tta_ind_fluxo_movto_cta_corren | character | X(3) | Indicador do Fluxo do Movimento. Valores permitidos: ENT e SAI. Onde: ENT = Entrada SAI = Saída. | Sim | ||
tta_cod_cenar_ctbl | character | x(8) | Código do Cenário Contábil. | Sim * | ||
tta_cod_histor_padr | character | x(8) | Código do Histórico Padrão. | Não | ||
tta_val_movto_cta_corren | decimal | >>>>,>>>,>>9.99 | Valor do Movimento. | Sim | ||
tta_cod_docto_movto_cta_bco | character | x(20) | Documento do Banco que possa ser utilizado como referência para o movimento a ser criado. | Sim | ||
tta_cod_modul_dtsul | character | x(3) | Código do Módulo. Normalmente utilizado “CMG” para movimentos do Caixa e Bancos. | Sim | ||
ttv_ind_erro_valid | character | X(8) | Inicialmente este atributo deverá receber o valor “Não”. Após a execução da API, caso ocorra algum erro de importação, este terá o valor “Sim” e terá as respectivas mensagens de erro na tt_import_movto_valid_cmg_3, onde a leitura deverá ser feita pelo atributo ttv_cod_recid_movto_cta_corren. Exemplo: For each tt_movto_cta_corren_import_3 no-lock Where tt_movto_cta_corren_import_3.ttv_ind_erro_valid = “Sim”: For each tt_import_movto_valid_cmg_3 no-lock Where tt_import_movto_valid_cmg_3.ttv_cod_recid_movto_cta_corren = tt tt_movto_cta_corren_import_3.ttv_cod_recid_movto_cta_corren: Disp tt_import_movto_valid_cmg_3. End. End. | Sim | ||
tta_des_histor_padr | character | x(40) | Descrição do Histórico Padrão. | Sim | ||
tta_num_id_movto_cta_corren | integer | 9999999999 | No retorno da execução da API, este atributo conterá o Número do Movimento de conta corrente que foi criado. Se este número for igual a 0 (zero), é por que ocorreu algum erro durante o processo de importação e o movimento não foi importado. | Sim | ||
ttv_cod_recid_movto_cta_corren | recid | character | x(80)>>>>>>9 | Deverá conter o número a string do recid rowid da temp-table tt_movto_cta_corren_import_3. Exemplo: assign tt_movto_cta_corren_import_3.ttv_cod_recid_movto_cta_corren = recidSTRING(ROWID(tt_movto_cta_corren_import_3)). | Sim | |
tta_ind_tip_docto_livro_cx | character | x(20) | Tipo de Documento para o Livro Caixa do Produtor Rural. Valores permitidos: 1 - Nota Fiscal 2 - Fatura 3 - Recibo 4 - Contrato 5 - Folha de Pagamento 6 - Outros. | Não | ||
tta_ind_tip_lancto_livro_cx | character | x(45) | Tipo de Lançamento para o Livro Caixa do Produtor Rural. Valores permitidos: 1 - Receita Atividade Rural 2 - Despesas de Custeio e Investimentos 3 - Prod Entreg Ref Adiant Recursos Fin. | Não | ||
tta_numcod_id_participan | integer | character | x(14)>>>>>>9 | ID do Participante para o Livro Caixa do Produtor Rural. É o CPF/CNPJ do comprador ou do vendedor (apenas números). | Não |
*Somente deve ser informado cenário para as contas correntes de mútuo e que tenham o controle por cenário, para todas as demais enviar a informação em branco “”.
OBS: Os campos tta_ind_tip_docto_livro_cx, tta_ind_tip_lancto_livro_cx e tta_numcod_id_participan são referentes a legislação LCDPR (Livro Caixa do Produtor Rural). Esses campos devem ser preenchidos apenas para os movimentos da conta corrente do módulo Caixa e Bancos (CMG). Para os módulos Contas a Receber e Contas a Pagar essas informações são buscadas diretamente dos módulos para realizar a extração para o módulo MLF - Módulo de Layout Fiscal.
...
def temp-table tt_movto_cta_corren_import_3 no-undo
field tta_cod_cta_corren corren as character format "x(10)" label "Conta Corrente" column-label "Cta Corrente"
field tta_dat_movto_cta_corren corren as date format "99/99/9999" initial today label "Data Movimento" column-label "Data Movimento"
field tta_num_seq_movto_cta_corren corren as integer format ">>>>9" initial 0 label "Sequência" column-label "Sequência"
field tta_ind_tip_movto_cta_corren corren as character format "X(2)" initial "RE" label "Tipo Movimento" column-label "Tipo Movto"
field tta_cod_tip_trans_cx cx as character format "x(8)" label "Tipo Transação Caixa" column-label "Tipo Transação Caixa"
field tta_ind_fluxo_movto_cta_corren corren as character format "X(3)" initial "ENT" label "Fluxo Movimento" column-label "Fluxo Movto"
field tta_cod_cenar_ctbl ctbl as character format "x(8)" label "Cenário Contábil" column-label "Cenário Contábil"
field tta_cod_histor_padr as padr as character format "x(8)" label "Histórico Padrão" column-label "Histórico Padrão"
field tta_val_movto_cta_corren corren as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Movimento" column-label "Valor Movimento"
field tta_cod_docto_movto_cta_bco as bco as character format "x(20)" label "Documento Banco" column-label "Documento Banco"
field tta_cod_modul_dtsul as dtsul as character format "x(3)" label "Módulo" column-label "Módulo"
field ttv_ind_erro_valid valid as character format "X(08)" initial "Não"
field tta_des_histor_padr as padr as character format "x(40)" label "Descrição" column-label "Descrição Histórico Padrão"
field tta_num_id_movto_cta_corren as corren as integer format "9999999999999999999" initial 0 label "ID Movto Conta" column-label "ID Movto Conta"
field ttv_reccod_id_movto_cta_corren as recid corren as character format ">>>>>>9" initial ?x(80)"
field tta_ind_tip_docto_livro_cx cx as as character format "x(20)" initial "Outros" label "Tipo Documento Livro" column-label "Tipo Documento Livro"
field tta_ind_tip_lancto_livro_cx cx as as character format "x(45)" label "Tipo Lancamento Livr" column-label "Tipo Lancamento Livr"
field tta_numcod_id_participan participan as integer character format ">>>>,>>9" initial 0 x(14)" label "Id ID Participante" column-label "Id ID Participante"
index tt_erro erro
ttv_ind_erro_valid valid ascending
index tt_import_movto_cta_corren corren is primary unique
tta_cod_cta_corren ascendingcorren ascending
tta_dat_movto_cta_corren corren ascending
tta_num_seq_movto_cta_corren corren ascending
index tt_rec_movto movto
ttv_cod_id ttv_rec_movto_cta_corren ascending corren ascending
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_aprop_ctbl_cmg_imp_3 | Conterá as informações das apropriações contábeis dos movimentos a serem importados. | Entrada |
...
Atributo | Tipo | Formato | Descrição | Obrig. | Evolução | |
tta_num_id_movto_cta_corren | integer | 9999999999 | Não informar nada – uso interno. | Não | ||
tta_num_seq_aprop_ctbl_cmg | integer | >>9 | Não informar nada – uso interno. | Não | ||
tta_ind_finalid_aprop_ctbl_cmg | character | X(2) | Não informar nada – uso interno. | Não | ||
tta_ind_natur_lancto_ctbl | character | X(2) | Natureza do lançamento contábil. Valores permitidos: DB e CR. Onde: DB = Débito CR = Crédito. | Sim | ||
tta_ind_orig_aprop_ctbl_cmg | character | X(3) | Não informar nada – uso interno. | Não | ||
tta_cod_empresa | character | X(3) | Não informar nada – uso interno. | Não | ||
tta_cod_estab | character | X(3) / x(5)* | Código do Estabelecimento. | Sim | ||
tta_cod_cenar_ctbl | character | x(8) | Não informar nada – uso interno. | Não | ||
tta_cod_plano_cta_ctbl | character | x(8) | Código do Plano Contas | Sim | ||
tta_cod_cta_ctbl | character | x(20) | Código da Conta Contábil | Sim | ||
tta_cod_unid_negoc | character | x(3) | Código da Unidade de Negócio | Sim | ||
tta_cod_plano_ccusto (*) | character | x(8) | Código do Plano do Centro de Custo | Não | ||
tta_cod_ccusto (*) | character | x(11)/x(20)** | Código do Centro de Custo | Não | ||
tta_cod_cta_corren | character | x(10) | Não informar nada – uso interno. | Não | ||
ttv_cod_id_movto_cta_corren | character | x(80) | Deverá conter a mesma informação do campo tt_movto_cta_corren_import_3.ttv_cod_id_movto_cta_corren | Sim | ||
ttv_cod_idrec_aprop_ctbl_cmg | recid | character | x(80)>>>>>>9 | Deverá conter o número a string do recid rowid da temp-table tt_aprop_ctbl_cmg_imp_3. Exemplo: assign tt_aprop_ctbl_cmg_imp_3.ttv_reccod_id_aprop_ctbl_cmg = recidstring(rowid(tt_aprop_ctbl_cmg_imp_3)). | Sim |
Observação: Somente poderão ser informados apropriações contábeis para os movimentos que possuem como módulo de origem “CMG”.
...
def temp-table tt_aprop_ctbl_cmg_imp_3 no-undo
field tta_num_id_movto_cta_corren as corren as integer format "9999999999999999999" initial 0 label "ID Movto Conta" column-label "ID Movto Conta"
field tta_num_seq_aprop_ctbl_cmg cmg as integer format ">>9" initial 0 label "Sequência" column-label "Seq Aprop"
field tta_ind_finalid_aprop_ctbl_cmg cmg as character format "X(2)" initial "PR" label "Finalidade" column-label "Finalidade"
field tta_ind_natur_lancto_ctbl as ctbl as character format "X(02)" initial "DB" label "Natureza" column-label "Natureza"
field tta_ind_orig_aprop_ctbl_cmg as cmg as character format "X(3)" label "Origem Apropriação" column-label "Origem Aprop"
field tta_cod_empresa as empresa as character format "x(3)" label "Empresa" column-label "Empresa"
field tta_cod_estab as estab as character format "x(5)" label "Estabelecimento" column-label "Estab"
field tta_cod_cenar_ctbl _cenar_ctbl as character format "x(8)" label "Cenário Contábil" column-label "Cenário Contábil"
field tta_cod_plano_cta_ctbl ctbl as character format "x(8)" label "Plano Contas" column-label "Plano Contas"
field tta_cod_cta_ctbl ctbl as character format "x(20)" label "Conta Contábil" column-label "Conta Contábil"
field field tta_cod_unid_negoc negoc as character format "x(3)" label "Unid Negócio" column-label "Un Neg"
field tta_cod_plano_ccusto ccusto as character format "x(8)" label "Plano Centros Custo" column-label "Plano Centros Custo"
field tta_cod_ccusto ccusto as Character format "x(1120)" label "Centro Custo" column-label "Centro Custo"
field tta_cod_cta_corren corren as character format "x(10)" label "Conta Corrente" column-label "Cta Corrente"
field tta_cod_indic_econ econ as character format "x(8)" label "Moeda" column-label "Moeda"
field tta_val_movto_cta_corren corren as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Movimento" column-label "Valor Movimento"
field tta_log_ctbz_movto_cta_corren as corren as logical format "Sim/Não" initial no label "Contabilizado" column-label "Contabilizado"
field tta_log_mutuo_pagto as pagto as logical format "Sim/Não" initial no label "Mútuo Pagamento" column-label "Mútuo Pagamento"
field tta_dat_transacao as transacao as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"
field ttv_cod_recid_movto_cta_corren as recid corren as character format ">>>>>>9" initial ? x(80)"
field ttv_cod_recid_aprop_ctbl_cmg as recid cmg as character format ">>>>>>9" initial ?
index tt_id is primary
ttv_rec_movto_cta_corren ascending
x(80)"
index tt_id is primary
ttv_cod_id_movto_cta_corren ascending
index tt_id_aprop aprop
ttv_cod_id ttv_rec_aprop_ctbl_cmg ascending cmg ascending
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_val_aprop_ctbl_cmg_import_3 | Conterá as informações dos rateios financeiros dos movimentos a serem importados. | Entrada |
Atributo | Tipo | Formato | Descrição | Obrig. | Evolução | Tipo | Formato | Descrição | Obrig. | Evolução | ||||||||||||||
tta_cod_finalid_econ | character | x(10) | Código | tta_cod_finalid_econ | character | x(10) | Código da finalidade econômica. | Sim | tta_dat_cotac_indic_econ | date | 99/99/9999 | Data da Cotação. | Sim | tta_val_cotac_indic_econ | decimal | >>>>,>>9.9999999999 | Valor da cotação. | Sim | tta_val_movto_cta_corren | decimal | >>>>,>>>,>>9.99 | Valor na moeda da finalidade econômica. | Sim | |
ttvtta_recdat_movtocotac_ctaindic_correnecon | date | 99/99/9999 | Data da Cotação. | Sim | ||||||||||||||||||||
tta_val_cotac_indic_econ | decimal | >>>>,>>9.9999999999 | Valor da cotação. | Sim | ||||||||||||||||||||
tta_val_movto_cta_corren | decimal | >>>>,>>>,>>9.99 | Valor na moeda da finalidade econômica | recid | >>>>>>9 | Deverá conter o número do recid da temp-table tt_movto_cta_corren_import que será utilizado como chave de ligação entre o movimento e os seus respectivos valores em outras moedas (finalidades). Exemplo: assign tt_val_aprop_ctbl_cmg_import..ttv_rec_movto_cta_corren = recid(tt_movto_cta_corren_import). | Sim | |||||||||||||||||
ttv_reccod_id_apropmovto_ctblcta_cmgcorren | recid | >>>>>>9 | character | x(80) | Deverá conter a mesma informação do campo tt Deverá conter o número do recid da temp-table tt_aprop_ctbl_cmg_imp que será utilizado como chave de ligação entre a aproprição e os seus respectivos valores em outras moedas(finalidades). Exemplo: assign tt_val_aprop_ctbl_cmg_imp_import3.ttv_rec_cod_id_movto_cta_corren | Sim | ||||||||||||||||||
ttv_cod_id_aprop_ctbl_cmg = | character | x(80) | Deverá conter a mesma informação do campo recid( tt_aprop_ctbl_cmg_imp)._3.ttv_cod_id_aprop_ctbl_cmg | Sim | ||||||||||||||||||||
ttv_reccod_id_val_aprop_ctbl_cmg | recid | character | x(80)>>>>>>9 | Deverá conter o número a string do recid rowid da temp-table tt_val_aprop_ctbl_cmg_import_3. Exemplo: Assign tt_val_aprop_ctbl_cmg_import_3.ttv_cod_recid_val_aprop_ctbl _cmg = recidstring(rowid(tt_val_aprop_ctbl_cmg_import_3)).Sim | Sim |
Observação: Não é necessário gerar dados para esta temp-table, caso a mesma esteja vazia os valores das apropriações serão criados normalmente com base nas moedas(finalidades) que armazenam valores no módulo e com base nas cotações cadastradas no sistema.
...
def temp-table tt_val_aprop_ctbl_cmg_import_3 no-undo
field tta_cod_finalid_econ econ as character format "x(10)" label "Finalidade" column-label "Finalidade"
field tta_dat_cotac_indic_econ econ as date format "99/99/9999" initial ? label "Data Cotação" column-label "Data Cotação"
field tta_val_cotac_indic_econ econ as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"
field tta_val_movto_cta_corren corren as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Movimento" column-label "Valor Movimento"
field ttv_cod_recid_movto_cta_corren as recid corren as character format ">>>>>>9" initial ? x(80)"
field ttv_reccod_id_aprop_ctbl_cmg as recid cmg as character format ">>>>>>9" initial ? x(80)"
field ttv_cod_recid_val_aprop_ctbl _cmg as recid as character format ">>>>>>9" initial ?
index tt_finalid
x(80)"
index tt_finalid
ttv_cod_id ttv_rec_movto_cta_corren ascendingcorren ascending
tta_cod_finalid_econ econ ascending
index tt_id is primaryid is primary
ttv_cod_id ttv_rec_movto_cta_corren ascendingcorren ascending
ttv_cod_id ttv_rec_aprop_ctbl_cmg ascending ttv_rec ascending
ttv_cod_id_val_aprop_ctbl _cmg ascending ascending
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_val_aprop_cmg_cambial_3 | Esta temp-table conterá as variáveis utilizadas para o cálculo dos valores de movimentos de variação cambial. Ela resultará em uma tabela que servirá apenas para conferencia do valor gerado. | Entrada |
...
Atributo | Tipo | Formato | Descrição | Obrig. | Evolução | |||
ttv_reccod_id_val_aprop_ctbl_cmg | Recid | >>>>>>9 | Char | x(80) | Deverá conter a mesma informação do campo Recid da tt_val_aprop_ctbl_cmg_import_3.ttv_cod_id_val_aprop_ctbl | Sim | ||
ttv_reccod_id_val_aprop_cmg_cambial | Char | x(80) | String do Rowid identificador dessa temp-table. Exemplo: Assign tt_val_aprop_cmg_cambial_3.ttv_cod_id_val_aprop_cmg_cambial = string(rowid(tt_val_aprop_cmg_cambial | Recid | >>>>>>9 | Recid identificador dessa temp-table_3)). | Sim | |
tta_cod_finalid_econ | Char | x(10) | Código da Finalidade Econômica. | Sim | ||||
tta_dat_inic_calc | Date | 99/99/9999 | Data inicial variação cambial. | Sim | ||||
tta_dat_fim_calc | Date | 99/99/9999 | Data final variação cambial. | Sim | ||||
tta_dat_cotac_sdo_inic | Date | 99/99/9999 | Data da cotação do saldo inicial. | Sim | ||||
tta_dat_cotac_sdo_fim | Date | 99/99/9999 | Data da cotação do saldo final. | Sim | ||||
tta_val_cotac_sdo_inic | Decimal | >>>>,>>9.9999999999 | Valor da cotação do saldo inicial. | Sim | ||||
tta_val_cotac_sdo_fim | Decimal | >>>>,>>9.9999999999 | Valor da cotação do saldo final. | Sim | ||||
tta_val_sdo_inic_orig | Decimal | ->>>,>>>>,>>>,>>9.9999999999 | Valor do saldo inicial. | Sim | ||||
tta_val_sdo_fim_orig | Decimal | ->>>,>>>>,>>>,>>9.9999999999 | Valor do saldo final. | Sim | ||||
tta_val_sdo_inic_conver | Decimal | ->>>,>>>>,>>>,>>9.9999999999 | Valor do saldo inicial convertido para a cotação. | Sim | ||||
tta_val_sdo_fim_conver | Decimal | ->>>,>>>>,>>>,>>9.9999999999 | Valor do saldo final convertido papa a cotação. | Sim | ||||
tta_val_movto_finalid_econ | Decimal | ->>>,>>>>,>>>,>>9.9999999999 | Valor da movimentação da conta corrente no intervalo calculado. | Sim | ||||
tta_val_sdo_fim_calc | Decimal | ->>>,>>>>,>>>,>>9.9999999999 | Saldo final calculado. | Sim | ||||
tta_dat_inic_period_ctbl | Date | 99/99/9999 | Data de cálculo inicial. | Sim | ||||
tta_dat_fim_period_ctbl | Date | 99/99/9999 | Data de cálculo final. | Sim |
Definição:
def temp-table tt_val_aprop_cmg_cambial_3 no-undo
field ttv_cod_recid_val_aprop_ctbl _cmg as recid as character format ">>>>>>9" initial ? x(80)"
field ttv_reccod_id_val_aprop_cmg_cambial cambial as recid character format ">>>>>>9x(80)"
field tta_cod_finalid_econ econ as character format "x(10)" label "Finalidade" column-label "Finalidade"
field tta_dat_inic_calc as calc as date format "99/99/9999" initial today label "Início Cálculo" column-label "Início Cálculo"
field tta_dat_fim_calc calc as date format "99/99/9999" initial today label "Data Fim Cálculo" column-label "Dt Fim Calc"
field tta_dat_cotac_sdo_inic inic as date format "99/99/9999" initial today label "Dt Cotac Sdo Inicial" column-label "Dt Cotac Sdo Ini"
field tta_dat_cotac_sdo_fim as fim as date format "99/99/9999" initial today label "Dt Cotação Saldo Fim" column-label "Dt Cotac Sdo Fim"
field tta_val_cotac_sdo_inic inic as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Vl Cotac Sdo Inicial" column-label "Vl Cotac Sdo Ini"
field tta_val_cotac_sdo_fim as fim as decimal format ">>>>,>>9.9999999999" decimals 10 9999999999" decimals 10 initial 0 label "Vl Cotac Sdo Final" column-label "Vl Cotac Sdo FinalFim"
field tta_val_sdo_inic_orig as orig as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 initial 0 label "Sdo Inicial Original" column-label "Sdo Ini Orig"
field tta_val_sdo_fim_orig orig as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 initial 0 label "Sdo Final Original" column-label "Sdo Fim Orig"
field tta_val_sdo_inic_conver as conver as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 initial 0 label "Sdo Ini Convertido" column-label "Sdo Ini Conv"
field tta_val_sdo_fim_conver conver as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 initial 0 label "Sdo Fim Convertido" column-label "Sdo Fim Conv"
field tta_val_movto_finalid_econ econ as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 " decimals 10 initial 0 label "Val Movto Finalidade" column-label "Val Movto Finalidade"
field tta_val_sdo_fim_calc calc as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 initial 0 label "Saldo Fim Calculado" column-label "Sdo Fim Calc"
field tta_dat_inic_period_ctbl ctbl as date format "99/99/9999" initial &IF "{&ems_dbtype}":U = "MSS":U &THEN 01/01/1800 &ELSE 01/01/0001 &ENDIF label "Início Período" column-label "Início Período"
field tta_dat_fim_period_ctbl as ctbl as date format "99/99/9999" initial 12/31/9999 label "Fim Período" column-label "Fim Período"
index tt_val_aprop_ctbl_cmg _cmg
ttv_cod_id ttv_rec_val_aprop_ctbl _cmg ascending ascending
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_rat_financ_cmg_import_3 | Conterá as informações dos rateios financeiros dos movimentos a serem importados. | Entrada |
...
Atributo | Tipo | Formato | Descrição | Obrig. | Evolução | |
ttv_reccod_id_movto_cta_corren | recid | character | x(80)>>>>>>9 | Deverá conter o número do recid da temp-table a mesma informação do campo tt_movtoaprop_ctactbl_corren_import que será utilizado como chave de ligação entre o movimento e os seus respectivos rateios financeiros. Exemplo: assign tt_rat_financ_cmg_importcmg_imp_3.ttv_rec_movto_cta_corren = tt_movto_cta_corren_import.ttv_reccod_id_movto_cta_corren. | Sim | |
tta_cod_estab | character | x(3) / x(5)* | Código do Estabelecimento. | Sim | ||
tta_cod_unid_negoc | character | x(3) | Código da Unidade de Negócio. | Sim | ||
tta_cod_tip_fluxo_financ | character | x(12) | Código do Tipo de Fluxo Financeiro. | Sim | ||
tta_val_movto_cta_corren | decimal | >>>>,>>>,>>9.99 | Neste atributo deverá ser informado o valor do rateio financeiro. | Sim |
...
def temp-table tt_rat_financ_cmg_import_3 no-undo
field ttv_cod_recid_movto_cta_corren as recid corren as character format ">>>>>>9" initial ?x(80)"
field tta_cod_estab as estab as character format "x(5)" label "Estabelecimento" column-label "Estab"
field tta_cod_unid_negoc negoc as character format "x(3)" label "Unid Negócio" column-label "Un Neg"
field tta_cod_tip_fluxo_financ financ as character format "x(12)" label "Tipo Fluxo Financ" column-label "Tipo Fluxo Financ"
field tta_val_movto_cta_corren corren as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Movimento" column-label "Valor Movimento"
index tt_codigo is primarycodigo is primary
ttv_cod_id ttv_rec_movto_cta_corren ascending corren ascending
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_import_movto_valid_cmg_3 | Conterá as informações dos movimentos que não foram importados com a respectiva mensagem de erro. | Saída |
Atributo | Tipo | Formato | Descrição | Obrig. | Evolução | ||
ttv_cod_recid_movto_cta_corren | recid | >>>>>>9 | character | x(80) | A string do rowid O recid do movimento da tt_movto_cta_corren_import_3 que apresentou o erro. | Sim | |
ttv_num_mensagem | integer | >>>>,>>9 | Número da mensagem de erro. | Sim | |||
ttv_des_mensagem | character | x(50) | Descrição da mensagem do erro. | Sim | |||
ttv_des_msg_erro | character | x(60) | Descrição da ajuda do erro. | Sim | |||
ttv_cod_parameters | character | x(256) | Parâmetros contidos na mensagem de erro. | Sim |
...
def temp-table tt_import_movto_valid_cmg_3 no-undo
field ttv_reccod_id_movto_cta_corren as recid corren as character format ">>>>>>9" initial ?x(80)"
field ttv_num_mensagem mensagem as integer format ">>>>,>>9" label "Número" column-label "Número Mensagem"
field ttv_des_mensagem mensagem as character format "x(50)" label "Mensagem" column-label "Mensagem"
field ttv_des_msg_erro erro as character format "x(60)" label "Mensagem Erro" column-label "Inconsistência"
field ttv_cod_parameters as parameters as character format "x(256)"
.
Execução
Na execução da API ocorrem as seguintes validações:
...
Será validado a Conta Contábil, Indicador da Natureza de Lançamento Contábil, Plano de Contas, Estabelecimento, Unidade de Negócio, Plano de Centro de Custo e Centro de Custo (caso a conta contábil utilize centros de custo).
Leitura e Criação dos Registros
Na execução da API, serão lidos os registros da tabela temporária na seguinte ordem:
...
Definição das variáveis utilizadas na chamada do programa cmg719zfcmg719zg:
Def var log_print_imported_nok as logical initial yes.
...
create tt_movto_cta_corren_import_3.
assign tt_movto_cta_corren_import_3.tta_cod_cta_corren = "001-9"
tt tt_movto_cta_corren_import_3.tta_dat_movto_cta_corren = 01/02/2004
tt tt_movto_cta_corren_import_3.tta_num_seq_movto_cta_corren = 10
tt tt_movto_cta_corren_import_3.tta_ind_tip_movto_cta_corren = "RE"
tt tt_movto_cta_corren_import_3.tta_cod_tip_trans_cx = "COBRBANC"
tt tt_movto_cta_corren_import_3.tta_ind_fluxo_movto_cta_corren = "ENT"
tt tt_movto_cta_corren_import_3.tta_cod_cenar_ctbl = ""
tt tt_movto_cta_corren_import_3.tta_cod_histor_padr = "Padrao"
tt tt_movto_cta_corren_import_3.tta_val_movto_cta_corren = 100.00
tt tt_movto_cta_corren_import_3.tta_cod_docto_movto_cta_bco = "doc1"
tt tt_movto_cta_corren_import_3.tta_cod_modul_dtsul = "CMG"
tt tt_movto_cta_corren_import_3.ttv_ind_erro_valid = "Não"
tt tt_movto_cta_corren_import_3.tta_des_histor_padr = "zzzzz"
tt tt_movto_cta_corren_import_3.ttv_reccod_id_movto_cta_corren = recidcorren = STRING(ROWID(tt_movto_cta_corren_import_3)).
/* 1ª apropriação do movimento 1 */
CREATE tt_aprop_ctbl_cmg_imp_3.
ASSIGN tt_aprop_ctbl_cmg_imp_3.ttv_reccod_id_movto_cta_corren corren = RECID( tt_movto_cta_corren_import)_3.ttv_cod_id_movto_cta_corren
tt tt_aprop_ctbl_cmg_imp_3.tta_ind_natur_lancto_ctbl = "CR"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_plano_cta_ctbl = "Geral"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_cta_ctbl = "121001"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_estab = "JLE"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_unid_negoc = "ADM"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_plano_ccusto = ""
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_ccusto = ""
tt tt_aprop_ctbl_cmg_imp_3.tta_val_movto_cta_corren = 30.00
tt tt_aprop_ctbl_cmg_imp_3.ttv_cod_recid_aprop_ctbl_cmg = RECIDcmg = string(rowid(tt_aprop_ctbl_cmg_imp_3)).
/*Valore em outras moedas(finalidades) referente a 1ª Apropriação*/
CREATE tt_val_aprop_ctbl_cmg_import_3.
ASSIGN tt_val_aprop_ctbl_cmg_import_3.tta_cod_finalid_econ = "Geren"
tt tt_val_aprop_ctbl_cmg_import_3.tta_dat_cotac_indic_econ =01/02/2004
tt tt_val_aprop_ctbl_cmg_import_3.tta_val_cotac_indic_econ = 2.5
tt tt_val_aprop_ctbl_cmg_import_3.tta_val_movto_cta_corren = 12.00 tt
tt_val_aprop_ctbl_cmg_import_3.ttv_reccod_id_movto_cta_corren corren = RECID(tt_tt_aprop_ctbl_cmg_imp_3.ttv_cod_id_movto_cta_corren
tt_val_aprop_ctbl_import) tt_valcmg_import_3.ttv_cod_id_aprop_ctbl_cmg = tt_aprop_ctbl_cmg_imp_import3.ttv_rec_aprop_ctbl_cmg = RECID(ttcod_id_aprop_ctbl_cmg
tt_imp) tt_val_aprop_ctbl_cmg_import_3.ttv_reccod_id_val_aprop_ctbl _cmg = RECIDstring(rowid(tt_val_aprop_ctbl_cmg_import_3)).
/* 2ª apropriação do movimento 1 */
CREATE tt_aprop_ctbl_cmg_imp_3.
ASSIGN tt_aprop_ctbl_cmg_imp_3.ttv_cod_recid_movto_cta_corren corren = RECID( tt_movto_cta_corren_import)_3.ttv_cod_id_movto_cta_corren
tt tt_aprop_ctbl_cmg_imp_3.tta_ind_natur_lancto_ctbl = "CR"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_plano_cta_ctbl = "Geral"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_cta_ctbl = "121001"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_estab = "JLE"
tt tt_aprop_ctbl_cmg_imp_imp3.tta_cod_unid_negoc = "ESC"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_plano_ccusto = ""
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_ccusto = ""
tt tt_aprop_ctbl_cmg_imp_3.tta_val_movto_cta_corren = 70.00
tt tt_aprop_ctbl_cmg_imp_3.ttv_cod_recid_aprop_ctbl_cmg = RECIDcmg = string(rowid(tt_aprop_ctbl_cmg_imp_3)).
/*Valore em outras moedas(finalidades) referente a 1ª Apropriação*/
CREATE tt_val_aprop_ctbl_cmg_import_3.
ASSIGN tt_val_aprop_ctbl_cmg_import_3.tta_cod_finalid_econ = "Geren"
tt tt_val_aprop_ctbl_cmg_import_3.tta_dat_cotac_indic_econ =01/02/2004
tt tt_val_aprop_ctbl_cmg_import_3.tta_val_cotac_indic_econ = 2.5
tt tt_val_aprop_ctbl_cmg_import_3.tta_val_movto_cta_corren = 28.00 tt
tt_val_aprop_ctbl_cmg_import_3.ttv_cod_id_movto_cta_corren = tt_aprop_ctbl_cmg_imp_3.ttv_rec_movto_cta_corren = RECID(ttcod_id_movto_cta_corren_import)
tt tt_val_aprop_ctbl_cmg_import_3.ttv_cod_recid_aprop_ctbl_cmg cmg = RECID( tt_aprop_ctbl_cmg_imp)_3.ttv_cod_id_aprop_ctbl_cmg
tt tt_val_aprop_ctbl_cmg_import_3.ttv_cod_recid_val_aprop_ctbl _cmg = RECIDstring(rowid(tt_val_aprop_ctbl_cmg_import_3)).
/* 1º rateio financeiro do movimento 1 */
create tt_rat_financ_cmg_import_3.
assign tt_rat_financ_cmg_import_3.ttv_reccod_id_movto_cta_corren corren = recid( tt_movto_cta_corren_import)._3.ttv_cod_id_movto_cta_corren
tt tt_rat_financ_cmg_import_3.tta_cod_estab = "JLE"
tt tt_rat_financ_cmg_import_3.tta_cod_unid_negoc = "100"
tt tt_rat_financ_cmg_import_3.tta_cod_tip_fluxo_financ = "1.1.4"
tt tt_rat_financ_cmg_import_3.ttv_val_movto_cta_corren = 35.00.
...
create tt_rat_financ_cmg_import_3.
assign tt_rat_financ_cmg_import_3.ttv_cod_recid_movto_cta_corren corren = recid( tt_movto_cta_corren_import)._3.ttv_cod_id_movto_cta_corren
tt tt_rat_financ_cmg_import_3.tta_cod_estab = "JLE"
tt tt_rat_financ_cmg_import_3.tta_cod_unid_negoc = "999"
tt tt_rat_financ_cmg_import_3.tta_cod_tip_fluxo_financ = "1.5.1"
tt tt_rat_financ_cmg_import_3.ttv_val_movto_cta_corren = 40.00.
...
create tt_rat_financ_cmg_import_3.
assign tt_rat_financ_cmg_import_3.ttv_cod_recid_movto_cta_corren corren = recid( tt_movto_cta_corren_import)._3.ttv_cod_id_movto_cta_corren
tt tt_rat_financ_cmg_import_3.tta_cod_estab = "JLE"
tt tt_rat_financ_cmg_import_3.tta_cod_unid_negoc = "200"
tt tt_rat_financ_cmg_import_3.tta_cod_tip_fluxo_financ = "1.8.2"
tt tt_rat_financ_cmg_import_3.ttv_val_movto_cta_corren = 25.00.
...
create tt_movto_cta_corren_import_3.
assign tt_movto_cta_corren_import_3.tta_cod_cta_corren = "002-4"
tt tt_movto_cta_corren_import_3.tta_dat_movto_cta_corren = 01/02/2004
tt tt_movto_cta_corren_import_3.tta_num_seq_movto_cta_corren = 20
tt tt_movto_cta_corren_import_3.tta_ind_tip_movto_cta_corren = "RE"
tt tt_movto_cta_corren_import_3.tta_cod_tip_trans_cx = "COBRBANC"
tt tt_movto_cta_corren_import_3.tta_ind_fluxo_movto_cta_corren = "SAI"
tt tt_movto_cta_corren_import_3.tta_cod_cenar_ctbl = ""
tt tt_movto_cta_corren_import_3.tta_cod_histor_padr = "Padrao"
tt tt_movto_cta_corren_import_3.tta_val_movto_cta_corren = 300.00
tt tt_movto_cta_corren_import_3.tta_cod_docto_movto_cta_bco = "doc2"
tt tt_movto_cta_corren_import_3.tta_cod_modul_dtsul = "CMG"
tt tt_movto_cta_corren_import_3.ttv_ind_erro_valid = "Não"
tt tt_movto_cta_corren_import_3.tta_des_histor_padr = "zzzzz"
tt tt_movto_cta_corren_import_3.ttv_reccod_id_movto_cta_corren = recidcorren = STRING(ROWID(tt_movto_cta_corren_import_3)).
/* 1ª apropriação do movimento 2 */
CREATE tt_aprop_ctbl_cmg_imp_3.
ASSIGN tt_aprop_ctbl_cmg_imp_3.ttv_reccod_id_movto_cta_corren corren = RECID( tt_movto_cta_corren_import)_3.ttv_cod_id_movto_cta_corren
tt tt_aprop_ctbl_cmg_imp_3.tta_ind_natur_lancto_ctbl = "DB"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_plano_cta_ctbl = "Geral"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_cta_ctbl = "121001"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_estab = "JLE"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_unid_negoc = "ADM"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_plano_ccusto = ""
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_ccusto = ""
tt tt_aprop_ctbl_cmg_imp_3.tta_val_movto_cta_corren = 300.00
tt tt_aprop_ctbl_cmg_imp_3.ttv_cod_recid_aprop_ctbl_cmg = RECIDcmg = string(rowid(tt_aprop_ctbl_cmg_imp_3)).
/*Valore em outras moedas(finalidades) referente a 1ª Apropriação*/
CREATE tt_val_aprop_ctbl_cmg_import_3.
ASSIGN tt_val_aprop_ctbl_cmg_import_3.tta_cod_finalid_econ = "Geren"
tt tt_val_aprop_ctbl_cmg_import_3.tta_dat_cotac_indic_econ =01/02/2004
tt tt_val_aprop_ctbl_cmg_import_3.tta_val_cotac_indic_econ = 3
tt tt_val_aprop_ctbl_cmg_import_3.tta_val_movto_cta_corren = 100.00 tt
tt_val_aprop_ctbl_cmg_import_3.ttv_reccod_id_movto_cta_corren = RECID(tt_cta_corren = tt_aprop_ctbl_cmg_imp_3.ttv_cod_id_movto_cta_corren_import)
tt tt_val_aprop_ctbl_cmg_import_3.ttv_reccod_id_aprop_ctbl_cmg cmg = RECID( tt_aprop_ctbl_cmg_imp)_3.ttv_cod_id_aprop_ctbl_cmg
tt tt_val_aprop_ctbl_cmg_import_3.ttv_cod_recid_val_aprop_ctbl _cmg = RECIDstring(rowid(tt_val_aprop_ctbl_cmg_import_3)).
/* Os rateios financeiros do movimento 2 não foram informados,
...
create tt_movto_cta_corren_import_3.
assign tt_movto_cta_corren_import_3.tta_cod_cta_corren = "002-4"
tt tt_movto_cta_corren_import_3.tta_dat_movto_cta_corren = 01/02/2004
tt tt_movto_cta_corren_import_3.tta_num_seq_movto_cta_corren = 30
tt tt_movto_cta_corren_import_3.tta_ind_tip_movto_cta_corren = "RE"
tt tt_movto_cta_corren_import_3.tta_cod_tip_trans_cx = "COBRBANC"
tt tt_movto_cta_corren_import_import3.tta_ind_fluxo_movto_cta_corren = "ENT"
tt tt_movto_cta_corren_import_3.tta_cod_cenar_ctbl = ""
tt tt_movto_cta_corren_import_3.tta_cod_histor_padr = "Padrao"
tt tt_movto_cta_corren_import_3.tta_val_movto_cta_corren = 500.00
tt tt_movto_cta_corren_import_3.tta_cod_docto_movto_cta_bco = "doc2"
tt tt_movto_cta_corren_import_3.tta_cod_modul_dtsul = "CMG"
tt tt_movto_cta_corren_import_3.ttv_ind_erro_valid = "Não"
tt tt_movto_cta_corren_import_3.tta_des_histor_padr = "zzzzz"
tt tt_movto_cta_corren_import_3.ttv_reccod_id_movto_cta_corren = recidcorren = STRING(ROWID(tt_movto_cta_corren_import_3)).
/* 1ª apropriação do movimento 2 */
CREATE tt_aprop_ctbl_cmg_imp_3.
ASSIGN tt_aprop_ctbl_cmg_imp_3.ttv_reccod_id_movto_cta_corren = RECID(ttcorren = tt_movto_cta_corren_import_3.ttv_cod_id_movto_cta_corren_import)
tt tt_aprop_ctbl_cmg_imp_3.tta_ind_natur_lancto_ctbl = "CR"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_plano_cta_ctbl = "Geral"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_cta_ctbl = "121001"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_estab = "JLE"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_unid_negoc = "ADM"
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_plano_ccusto = ""
tt tt_aprop_ctbl_cmg_imp_3.tta_cod_ccusto = ""
tt tt_aprop_ctbl_cmg_imp_3.tta_val_movto_cta_corren = 300.00
tt tt_aprop_ctbl_cmg_imp_3.ttv_cod_recid_aprop_ctbl_cmg = RECIDcmg = string(rowid(tt_aprop_ctbl_cmg_imp_3)).
/* Os rateios financeiros e os valores do movimento 3 não foram informados,
...
run prgfin/cmg/cmg719zg.py persistent set v_hdl_program.
run pi_main_cmg719zg_2 3 in v_hdl_program (input 12,
input yes,
...
input-output table tt_movto_cta_corren_import_3,
Input table tt_aprop_ctbl_cmg_imp_3,
input table tt_val_aprop_ctbl_cmg_import_3,
input table tt_val_aprop_cmg_cambial_3,
Input table tt_rat_financ_cmg_import_3,
output table tt_import_movto_valid_cmg_3).
delete procedure v_hdl_program.
...