Árvore de páginas

Versões comparadas

Chave

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

...

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 var v_hdl_program as Handle format ">>>>>>9":U no-undo.

def new shared stream s_1.

 

run prgfin/cmg/cmg719zfcmg719zg.py (input 1,

                               input log_print_imported_nok,

                               input log_print_imported,

persistent set v_hdl_program.

 

output stream s_1 to value(session:temp-directory + "\cmg719zg.txt") paged page-size 66.

 

run pi_main_cmg719zg in v_hdl_program (input 1,

                                       input yes,

                                       input yes,

                                       input-output table tt_movto_                               input-output table tt_movto_cta_corren_import,

                               input                                        Input table tt_aprop_ctbl_cmg_imp,

                                                                      input table tt_val_aprop_ctbl_cmg_import                              import,                              

                                       input table tt_val_aprop_cmg_cambial,

                                       Input table tt_rat_financ_cmg_import,

                               output                                        output table tt_import_movto_valid_cmg).

 

...

output close.

 

delete procedure v_hdl_program.

 

Parâmetros

Parâmetro

Descrição

p_num_

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

Pp_log_print_imported_nok

Será utilizado para indicar se será impresso no arquivo de log os registros não importados, isto é, aqueles em que não ocorreram erros;.

Pp_log_print_imported

Será utilizado para indicar se será impresso no arquivo de log os registros  não registros importados, isto é, aqueles em que não ocorreram erros.

Tttt_movto_cta_corren_import

Esta temp-table conterá todos os movimentos que devam ser importados para o Caixa e Bancos.

Tttt_aprop_ctbl_cmg_imp

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

Tttt_val_aprop_ctbl_cmg_import

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

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.

ttTt_rat_financ_cmg_import

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.

Tttt_import_movto_valid_cmg

Esta temp-table conterá os erros que ocorreram nos movimentos que não poderam puderam ser importados.

Observações:

-       Deverá também ser definida uma “Stream” como “new shared” que será utilizada para a geração da listagem com os movimentos importados e não importados. Esta “Stream” deverá ser aberta com “output stream S_1 to  <arquivo> paged page-size 66.” antes de ser chamada a API. 

Retorno

A API retornará na tabela temporária tt_import_movto_valid_cmg todos os erros encontrados ou mensagens de alerta gerados durante o processo de validação dos movimentos.

...

Observações: Quando a API for executado 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

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, onde a leitura deverá ser feita pelo atributo ttv_rec_movto_cta_corren.

 

Exemplo:

     For each tt_movto_cta_corren_import no-lock

            Where tt_movto_cta_corren_import.ttv_ind_erro_valid = “Sim”:

            For each tt_import_movto_valid_cmg no-lock

                   Where tt_import_movto_valid_cmg.ttv_rec_movto_cta_corren =

                                             tt_movto_cta_corren_import.ttv_rec_movto_cta_corren:

                    Disp tt_import_movto_valid_cmg.

            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_rec_movto_cta_corren

recid

>>>>>>9

Deverá conter o número do recid da temp-table tt_movto_cta_corren_import.

Exemplo:

 assign assign tt_movto_cta_corren_import.ttv_rec_movto_cta_corren = recid(tt_movto_cta_corren_import).

Sim

 

 

*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 “”.

 

Definição:

 

def temp-table tt_movto_cta_corren_def temp-table tt_movto_cta_corren_import no-undo

    field tta_cod_cta_corren                      as corren               as character format "x(10)" label "Conta Corrente" column-label "Cta Corrente"

    field tta_dat_movto_cta_corren            as corren         as date format "99/99/9999" initial today label "Data Movimento" column-label "Data Movimento"

    field tta_num_seq_movto_cta_corren    as 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                    as cx             as character format "x(8)" label "Tipo Transação Caixa" column-label "Tipo Transação Caixa"

    field tta_ind_fluxo_movto_cta_corren    as corren   as character format "X(3)" initial "ENT" label "Fluxo Movimento" column-label "Fluxo Movto"

    field tta_cod_cenar_ctbl                      as character format "x(ctbl               as character format "x(8)" label "Cenário Contábil" column-label "Cenário Contábil"

    field tta_cod_histor_padr                     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 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                        as valid               as character format "X(08)" initial "Não"

    field tta_des_histor_padr                     padr              as character format "x(40)" label "Descrição" column-label "Descrição Histórico Padrão"

...

    field ttv_rec_movto_cta_corren            as corren         as recid format ">>>>>>9" initial ?

    index tt_erro                        

          ttv_ind_erro_valid                        ascendingvalid               ascending

    index tt_import_movto_cta_corren       is primary unique

          tta_cod_cta_corren                      ascendingcorren               ascending

                    tta_dat_movto_cta_corren            ascendingcorren         ascending

          tta_num_seq_movto_cta_corren    ascendingcorren     ascending

    index tt_rec_movto                   

          ttv_rec_movto_cta_corren            ascendingcorren         ascending

    .

 

Tabela Temporária

Descrição

Entrada/Saída

tttt_aprop_ctbl_cmg_imp

Conterá as informações das apropriações contábeis dos movimentos a serem importados.

Entrada

 

(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.

(**) Liberado o centro de custo com 20 posições, a partir de maio/2011.

Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

tta_num_id_movto_cta_corren

integer

9999999999

Não informar nada – uso interno.

SimNão

 

tta_num_seq_aprop_ctbl_cmg

integer

>>9

Não informar nada – uso interno.

SimNão

 

tta_ind_finalid_aprop_ctbl_cmg

character

X(2)

Não informar nada – uso interno.

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

SimNão

 

tta_cod_empresa

character

X(3)

Não informar nada – uso interno.

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

SimNã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 Centros de CustosCusto

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.

SimNão

 

ttattv_rec_codaprop_indicctbl_econcmg

character

x(8)

Não informar nada – uso interno.

Sim

 

tta_val_movto_cta_corren

decimal

>>>>,>>>,>>9.99

Neste atributo deverá ser informado o valor da apropriação.

Os atributos acima que estiverem com “(*)” dependem e serão validados caso o valor da apropriação seja informado.

Sim

 

tta_log_ctbz_movto_cta_corren

logical

Sim/Não

Não informar nada – uso interno.

Sim

 

tta_log_mutuo_pagto

logical

Sim/Não

Não informar nada – uso interno.

Sim

 

tta_dat_transacao

date

99/99/9999

Não é necessário informar pois será assumida a data do movimento da temp-table tt_movto_cta_corren_import.

Sim

 

ttv_rec_movto_cta_corren

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 as suas respectivas apropriações.

Exemplo:

 assign tt_aprop_ctbl_cmg_import.ttv_rec_movto_cta_corren = tt_movto_cta_corren_import.ttv_rec_movto_cta_corren.

Sim

 

ttv_rec_aprop_ctbl_cmg

recid

>>>>>>9

Deverá conter o número do recid da temp-table tt_aprop_ctbl_cmg_imp.

Exemplo:

 assign tt_aprop_ctbl_cmg_imp.ttv_rec_aprop_ctbl_cmg = recid(tt_aprop_ctbl_cmg_imp).

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 no-undo

    field tta_num_id_movto_cta_corren       as integer format "9999999999" initial 0 label "ID Movto Conta" column-label "ID Movto Conta"

    field tta_num_seq_aprop_ctbl_cmg       as integer format ">>9" initial 0 label "Sequência" column-label "Seq Aprop"

    field tta_ind_finalid_aprop_ctbl_cmg     as character format "X(2)" initial "PR" label "Finalidade" column-label "Finalidade"

    field tta_ind_natur_lancto_ctbl              as character format "X(02)" initial "DB" label "Natureza" column-label "Natureza"

    field tta_ind_orig_aprop_ctbl_cmg         as character format "X(3)" label "Origem Apropriação" column-label "Origem Aprop"

    field tta_cod_empresa                         as character format "x(3)" label "Empresa" column-label "Empresa"

    field tta_cod_estab                             as character format "x(3)" label "Estabelecimento" column-label "Estab"

    field tta_cod_cenar_ctbl                      as character format "x(8)" label "Cenário Contábil" column-label "Cenário Contábil"

    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_unid_negoc                    as character format "x(3)" label "Unid Negócio" column-label "Un Neg"

    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 tta_cod_cta_corren                     as character format "x(10)" label "Conta Corrente" column-label "Cta Corrente"

    field tta_cod_indic_econ                     as character format "x(8)" label "Moeda" column-label "Moeda"

    field tta_val_movto_cta_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 logical format "Sim/Não" initial no label "Contabilizado" column-label "Contabilizado"

    field tta_log_mutuo_pagto                  as logical format "Sim/Não" initial no label "Mútuo Pagamento" column-label "Mútuo Pagamento"

    field tta_dat_transacao                       as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"

    field ttv_rec_movto_cta_corren            as recid format ">>>>>>9" initial ?

    field ttv_rec_aprop_ctbl_cmg               as recid format ">>>>>>9" initial ?

    index tt_id                                         is primary

          ttv_rec_movto_cta_corren             ascending

    index tt_id_aprop                    

          ttv_rec_aprop_ctbl_cmg                ascending

    .

 

Tabela Temporária

Descrição

Entrada/Saída

tt_val_aprop_ctbl_cmg_import

Conterá as informações dos rateios financeiros dos movimentos a serem importados.

Entrada

recid

>>>>>>9

Deverá conter o número do recid da temp-table tt_aprop_ctbl_cmg_imp.

Exemplo:

 assign tt_aprop_ctbl_cmg_imp.ttv_rec_aprop_ctbl_cmg = recid(tt_aprop_ctbl_cmg_imp).

Sim

 

Observação: Somente poderão ser informados apropriações contábeis para os movimentos que possuem como módulo de origem “CMG”.

 

Definição:

 

def temp-table tt_aprop_ctbl_cmg_imp no-undo

    field tta_num_id_movto_cta_corren      as integer format "9999999999" initial 0 label "ID Movto Conta" column-label "ID Movto Conta"

    field tta_num_seq_aprop_ctbl_cmg       as integer format ">>9" initial 0 label "Sequência" column-label "Seq Aprop"

    field tta_ind_finalid_aprop_ctbl_cmg   as character format "X(2)" initial "PR" label "Finalidade" column-label "Finalidade"

    field tta_ind_natur_lancto_ctbl        as character format "X(02)" initial "DB" label "Natureza" column-label "Natureza"

    field tta_ind_orig_aprop_ctbl_cmg      as character format "X(3)" label "Origem Apropriação" column-label "Origem Aprop"

    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_cenar_ctbl               as character format "x(8)" label "Cenário Contábil" column-label "Cenário Contábil"

    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_unid_negoc               as character format "x(3)" label "Unid Negócio" column-label "Un Neg"

    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 tta_cod_cta_corren               as character format "x(10)" label "Conta Corrente" column-label "Cta Corrente"

    field tta_cod_indic_econ               as character format "x(8)" label "Moeda" column-label "Moeda"

    field tta_val_movto_cta_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 logical format "Sim/Não" initial no label "Contabilizado" column-label "Contabilizado"

    field tta_log_mutuo_pagto              as logical format "Sim/Não" initial no label "Mútuo Pagamento" column-label "Mútuo Pagamento"

    field tta_dat_transacao                as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"

    field ttv_rec_movto_cta_corren         as recid format ">>>>>>9" initial ?

    field ttv_rec_aprop_ctbl_cmg           as recid format ">>>>>>9" initial ?

    index tt_id                            is primary

          ttv_rec_movto_cta_corren         ascending

    index tt_id_aprop                    

          ttv_rec_aprop_ctbl_cmg           ascending

    .

 

Tabela Temporária

Descrição

Entrada/Saída

tt_val_aprop_ctbl_cmg_import

Conterá as informações dos rateios financeiros dos movimentos a serem importados.

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

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

 

ttv_rec_movto_cta_corren

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_rec_aprop_ctbl_cmg

recid

>>>>>>9

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_import.ttv_rec_aprop_ctbl_cmg = recid(tt_aprop_ctbl_cmg_imp).

Sim

 

ttv_rec_val_aprop_ctbl_cmg

recid

>>>>>>9

Deverá conter o número do recid da temp-table tt_val_aprop_ctbl_cmg_import.

Exemplo:

 Assign tt_val_aprop_ctbl_cmg_import.ttv_rec_val_aprop_ctbl_cmg = recid(tt_val_aprop_ctbl_cmg_import).

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.

 

Definição:

 

def temp-table tt_val_aprop_ctbl_cmg_import no-undo

    field tta_cod_finalid_econ             as character format "x(10)" label "Finalidade" column-label "Finalidade"

    field tta_dat_cotac_indic_econ         as date format "99/99/9999" initial ? label "Data Cotação" column-label "Data Cotação"

    field tta_val_cotac_indic_econ         as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"

    field tta_val_movto_cta_corren         as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Movimento" column-label "Valor Movimento"

    field ttv_rec_movto_cta_corren         as recid format ">>>>>>9" initial ?

    field ttv_rec_aprop_ctbl_cmg           as recid format ">>>>>>9" initial ?

    field ttv_rec_val_aprop_ctbl_cmg       as recid format ">>>>>>9" initial ?

    index tt_finalid                      

          ttv_rec_movto_cta_corren         ascending

          tta_cod_finalid_econ             ascending

    index tt_id                            is primary

          ttv_rec_movto_cta_corren         ascending

          ttv_rec_aprop_ctbl_cmg           ascending

          ttv_rec_val_aprop_ctbl_cmg       ascending

    .

 

Tabela Temporária

Descrição

Entrada/Saída

tt_val_aprop_cmg_cambial

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

Observação: Esta temp-table é de uso interno dos sitemas Datasul. Portanto o seu envio não afetará o seu funcionamento.

 

 

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

Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

ttv_rec_val_aprop_ctbl_cmg

Recid

>>>>>>9

Recid da tt_val_aprop_ctbl_cmg_import.

Sim

 

ttv_rec_val_aprop_cmg_cambial

Recid

>>>>>>9

Recid identificador dessa temp-table.

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

Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

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_cotacsdo_indicfim_econorig

decimalDecimal

->>>,>>>>,>>>,>>9.9999999999

Valor da cotaçãodo saldo final.

Sim

 

tta_val_movtosdo_ctainic_correnconver

decimalDecimal

->>>,>>>>,>>>,>>9.999999999999

Valor na moeda da finalidade econômicado saldo inicial convertido para a cotação.

Sim

 

ttvtta_recval_movtosdo_ctafim_correnconver

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

recid

>>>>>>9

Deverá contar 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

 

ttvtta_dat_recfim_apropperiod_ctbl_cmg

recid

>>>>>>9

Date

99/99/9999

Data de cálculo final.

Sim

 

 

Definição:            

 

def temp-table tt_val_aprop

...

_cmg_

...

cambial no-undo

    field ttv_rec_val_aprop_ctbl_

...

Sim

...

 

cmg       as recid format ">>>>>>9" initial ?

    field ttv_rec_val_aprop_

...

recid

...

>>>>>>9

...

Deverá conter o número do recid da temp-table tt_val_aprop_ctbl_cmg_import.

Exemplo:

 Assign tt_val_aprop_ctbl_cmg_import.ttv_rec_val_aprop_ctbl_cmg = recid(tt_val_aprop_ctbl_cmg_import).

...

Sim

...

 

cmg_cambial    as recid format ">>>>>>9"

    field tta_cod_finalid_econ             as character format "x(10)" label "Finalidade"

    field tta_dat_inic_calc                as date format "99/99/9999" label "Início Cálculo"

    field tta_dat_fim_calc                 as date format "99/99/9999" label "Data Fim Cálculo"

    field tta_dat_cotac_sdo_inic           as date format "99/99/9999" label "Dt Cotac Sdo Inicial"

    field tta_dat_cotac_sdo_fim            as date format "99/99/9999" label "Dt Cotação Saldo Fim"

    field tta_val_cotac_sdo_inic           as decimal format ">>>>,>>9.9999999999" decimals 10 label "Vl Cotac Sdo Inicial"

    field tta_val_cotac_sdo_fim            as decimal format ">>>>,>>9.9999999999" decimals 10 label "Vl Cotac Sdo Final"

    field tta_val_sdo_inic_orig            as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 label "Sdo Inicial Original"

    field tta_val_sdo_fim_orig             as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 label "Sdo Final Original

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 no-undo

    field tta_cod_finalid_econ                as character format "x(10)" label "Finalidade" column-label "Finalidade"

    field tta_dat_cotac_indic_econ         as date format "99/99/9999" initial ? label "Data Cotação" column-label "Data Cotação"

    field tta_val_cotacsdo_indic_econ          as inic_conver          as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"Sdo Ini Convertido"

    field tta_val_movtosdo_ctafim_corren         conver           as decimal format "->>>,>>>>,>>>,>>9.999999999999" decimals 2 initial 0 10 label "Valor Movimento" column-label "Valor Movimento"Sdo Fim Convertido"

    field ttvtta_recval_movto_ctafinalid_corren         econ       as recid decimal format ">>>>>>9" initial ?

    field ttv_rec_aprop_ctbl_cmg            as recid format ">>>>>>9" initial ?

    field ttv_rec_val_aprop_ctbl_cmg      as recid format ">>>>>>9" initial ?

    index tt_finalid                     

          ttv_rec_movto_cta_corren          ascending

          tta_cod_finalid_econ                 ascending

    index tt_id                                      is primary

          ttv_rec_movto_cta_corren          ascending

->>>,>>>>,>>>,>>9.9999999999" decimals 10 label "Val Movto Finalidade"

    field tta_val_sdo_fim_calc             as decimal format "->>>,>>>>,>>>,>>9.9999999999" decimals 10 label "Saldo Fim Calculado"

    field tta_dat_inic_period_ctbl         as date format "99/99/9999" label "Início Período"

    field tta_dat_fim_period_ctbl          as date format "99/99/9999" label "Fim Período"

    index tt_val_aprop_ctbl_cmg                    ttv_rec_aprop_ctbl_cmg             ascending

          ttv_rec_val_aprop_ctbl_cmg       ascending.

    . 

 

Tabela Temporária

Descrição

Entrada/Saída

tt_rat_financ_cmg_import

Conterá as informações dos rateios financeiros dos movimentos a serem importados.Entradaimportados.

Entrada

 

(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.

Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

ttv_rec_movto_cta_corren

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

Exemplo:

 assign assign tt_rat_financ_cmg_import.ttv_rec_movto_cta_corren = tt_movto_cta_corren_import.ttv_rec_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

 

...

Obs2: Caso o rateio financeiro não seja informado, o mesmo será criado automaticamente para movimentos que tiverem como módulo de origem “CMG”.

 

Definição:

 

def temp-table tt_rat_financ_cmg_import no-undo

    field ttv_rec_movto_cta_corren        as corren         as recid format ">>>>>>9" initial ?

    field tta_cod_estab                        as estab                    as character format "x(35)" label "Estabelecimento" column-label "Estab"

    field tta_cod_unid_negoc                as negoc               as character format "x(3)" label "Unid Negócio" column-label "Un Neg"

    field tta_cod_tip_fluxo_financ          as financ         as character format "x(12)" label "Tipo Fluxo Financ" column-label "Tipo Fluxo Financ"

    field tta_val_movto_cta_corren        as corren         as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Movimento" column-label "Valor Movimento"

    index tt_codigo                              is codigo                        is primary

          ttv_rec_movto_cta_corren         ascendingcorren         ascending

    .

 

Tabela Temporária

Descrição

Entrada/Saída

tt_import_movto_valid_cmg

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_rec_movto_cta_corren

recid

>>>>>>9

O recid do movimento da tt_movto_cta_corren_import 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

 

 

Definição:

 

def temp-table tt_import_movto_valid_cmg no-undo

    field ttv_rec_movto_cta_corren        as corren         as recid format ">>>>>>9" initial ?

    field ttv_num_mensagem                as mensagem                 as integer format ">>>>,>>9" label "Número" column-label "Número Mensagem"

    field ttv_des_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:

...

-       Rateios Financeiros.

 

Definição das variáveis utilizadas na chamada do programa cmg719zf:

 

Def var log_print_imported_nok as logical initial yes.

Def var log_print_imported as logical initial yes.

 

Exemplo de criação de movimentos de conta corrente com apropriações e rateios financeiros:

...

       tt_movto_cta_corren_import.tta_ind_tip_movto_cta_corren   = "RE"

       tt       tt_movto_cta_corren_import.tta_cod_tip_trans_cx           = "COBRBANC"

...

       tt_aprop_ctbl_cmg_imp.tta_cod_cta_ctbl          = "121001"

       tt       tt_aprop_ctbl_cmg_imp.tta_cod_estab             = "JLE"  

...

       tt_aprop_ctbl_cmg_imp.tta_cod_ccusto            = ""

       tt       tt_aprop_ctbl_cmg_imp.tta_val_movto_cta_corren  = 70.00

...

       tt_rat_financ_cmg_import.ttv_val_movto_cta_corren  = 25.00.

 

 

 

/** Movimento 2 **/

create tt_movto_cta_corren_import.

...

       tt_movto_cta_corren_import.tta_cod_tip_trans_cx           cx           = "COBRBANC"

       tt_movto_cta_corren_import.tta_ind_fluxo_movto_cta_corren = "SAI"

...

       tt_movto_cta_corren_import.ttv_ind_erro_valid             valid             = "Não"

       tt_movto_cta_corren_import.tta_des_histor_padr            = "zzzzz"

...

       tt_aprop_ctbl_cmg_imp.tta_cod_plano_ccusto      ccusto      = ""

       tt_aprop_ctbl_cmg_imp.tta_cod_ccusto            = ""

...

       tt_movto_cta_corren_import.tta_des_histor_padr            = "zzzzz"

       tt       tt_movto_cta_corren_import.ttv_rec_movto_cta_corren       = recid(tt_movto_cta_corren_import).

...

   pois eles serão gerados automaticamente pela API */

 

 

output stream s_1 to c:\tmp\errosimp.txt paged page-size 66.

 

run prgfin/cmg/

...

cmg719zg.py persistent set v_hdl_program.

 

run pi_main_cmg719zg 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,

...

                                       input table tt_val_aprop_ctbl_cmg_import,

                                       input table tt_val_aprop_cmg_

...

cambial,

                                       Input

...

table tt_rat_financ_cmg_import,

...

                                       output table tt_import_movto_valid_cmg).

 

delete procedure v_hdl_program.

 

output stream s_1 close.

 

/* fim */