Árvore de páginas

Versões comparadas

Chave

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

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicoprgfin/cmg/cmg719zf

 


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. 


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_3 in v_hdl_program (input 1,

                                       input yes,

                                       input yes,

                                                                       input yes,

                                                                       input yes,

                                                                      input-output table tt_                                       input-output table tt_movto_cta_corren_import,_3,

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

 

output close.

 

delete procedure v_hdl_program.

 

Parâmetros

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


output close.


delete procedure v_hdl_program.


Parâmetros

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

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 não importados, isto é, aqueles em que

não

ocorreram erros.

tt_

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_

rec

cod_id_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_

rec

id_movto_cta_corren =

                                             tt_movto_

                                             tt_movto_cta_corren_import_3.ttv_cod_

rec

id_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

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_id_movto_cta_corren

character

x(20)

Deverá conter o número do rowid da temp-table tt_movto_cta_corren_import_3.

Exemplo:

assign tt_movto_cta_corren_import_3.ttv_cod_id_movto_cta_corren = STRING(ROWID(tt_movto_cta_corren_import_3)).

Sim


tta_ind_tip_docto_livro_cxcharacterx(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_cxcharacterx(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_cod_id_participancharacterx(14)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_cod_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.


Definição:


def temp-table tt_movto_cta_corren_import

...

Exemplo:

assign tt_movto_cta_corren_import.ttv_rec_movto_cta_corren = recid(tt_movto_cta_corren_import).

_3 no-undo

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

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

    field tta_num_seq_movto_cta_corren     as integer format ">>>>9" initial 0 label "Sequência" column-label "Sequência"

    field tta_ind_tip_movto_cta_corren     as character format "X(2)" initial "RE" label "Tipo Movimento" column-label "Tipo Movto"

    field tta_cod_tip_trans_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 character format "X(3)" initial "ENT" label "Fluxo Movimento" column-label "Fluxo Movto"

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

    field tta_cod_histor_padr              as character format "x(8)" label "Histórico Padrão" column-label "Histórico Padrão"

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

...

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

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

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

    field tta_num_seq_movto_cta_corren     as integer format ">>>>9" initial 0 label "Sequência" column-label "Sequência"

    field tta_ind_tip_movto_cta_corren     as character format "X(2)" initial "RE" label "Tipo Movimento" column-label "Tipo Movto"

    field tta_cod_docto_tipmovto_transcta_cx             bco      as character format "x(820)" label "Tipo Transação CaixaDocumento Banco" column-label "Tipo Transação CaixaDocumento Banco"

    field tta_indcod_fluxo_movto_cta_corren   modul_dtsul              as character format "Xx(3)" initial "ENT" label "Fluxo MovimentoMódulo" column-label "Fluxo MovtoMódulo"

    field ttattv_codind_cenarerro_ctbl               valid               as character format "xX(808)" label initial "Cenário Contábil" column-label "Cenário Contábil"Não"

    field tta_coddes_histor_padr              as character format "x(840)" label "Histórico PadrãoDescrição" column-label "Descrição Histórico Padrão"

    field tta_valnum_id_movto_cta_corren         corren      as decimal integer format ">>>>,>>>,>>9.99" decimals 2 9999999999" initial 0 label "Valor MovimentoID Movto Conta" column-label "Valor MovimentoID Movto Conta"

    field ttattv_cod_doctoid_movto_cta_bco      corren         as character format  format "x(20)" label "Documento Banco" column-label "Documento Banco"    field tta_cod_modul_dtsul              as

    field tta_ind_tip_docto_livro_cx         as character format "x(320)" initial "Outros" label "MóduloTipo Documento Livro" column-label "MóduloTipo Documento Livro"

        field ttvtta_ind_erro_valid               as character format "X(08)" initial "Não"    field tta_des_histor_padr              tip_lancto_livro_cx        as character format "x(4045)" label "DescriçãoTipo Lancamento Livr" column-label "Descrição Histórico PadrãoTipo Lancamento Livr"

        field tta_numcod_id_movto_cta_corren      as integer format "9999999999" initial 0 participan               as character format "x(14)" label "ID Movto ContaParticipante" column-label "ID Movto ContaParticipante"

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

...

    index tt_rec_movto                   

                    ttv_reccod_id_movto_cta_corren         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

 


(*) 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.

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_

rec

cod_id_aprop_ctbl_cmg

recid

>>>>>>9

character

x(20)

Deverá conter o número do

recid

rowid da temp-table tt_aprop_ctbl_cmg_imp_3.

Exemplo:

 assign tt_aprop_ctbl_cmg_imp_3.ttv_

rec

cod_id_aprop_ctbl_cmg =

recid

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


Definição: 


def temp-table tt_aprop_ctbl_cmg_imp_3 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_dat_transacao                as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"

    field ttv_reccod_id_movto_cta_corren         as recid format ">>>>>>9" initial ?corren         as character format "x(20)"

    field ttv_cod_recid_aprop_ctbl_cmg           as recid format ">>>>>>9" initial ?cmg           as character format "x(20)"

    index tt_id                            is primary

                    ttv_reccod_id_movto_cta_corren         corren         ascending

    index tt_id_aprop                    

          ttv_rec          ttv_cod_id_aprop_ctbl_cmg           cmg           ascending

    . 


Tabela Temporária

Descrição

Entrada/Saída

tt_val_aprop_ctbl_cmg_import_

import

3

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_cod_

rec

id_movto_cta_corren

recid

character

x(20)

>>>>>>9

Deverá conter o número do

recid da

rowid  da temp-table tt_movto_cta_corren_import_3 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_3..ttv_cod_

rec

id_movto_cta_corren =

recid

STRING(ROWID(tt_movto_cta_corren_import_3)).

Sim

 


ttv_

rec

cod_id_aprop_ctbl_cmg

recid

character

x(20)

>>>>>>9

Deverá conter o número do

recid

rowid da temp-table tt_aprop_ctbl_cmg_imp_3 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_3.ttv_

rec

cod_id_aprop_ctbl_cmg =

recid

string(rowid(tt_aprop_ctbl_cmg_imp_3)).

Sim

 


ttv_

rec

cod_id_val_aprop_ctbl_cmg

recid

>>>>>>9

character

x(20)

Deverá conter o número do

recid

rowid da temp-table tt_val_aprop_ctbl_cmg_import_3.

Exemplo:

 Assign tt_val_aprop_ctbl_cmg_import_3.ttv_

rec

cod_id_val_aprop_ctbl_cmg =

recid

string(rowid(tt_val_aprop_ctbl_cmg_import_3)).

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

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

...

    field tta_val_movto_cta_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 format ">>>>>>9" initial ?corren         as character format "x(20)"

    field ttv_reccod_id_aprop_ctbl_cmg           as recid format ">>>>>>9" initial ?cmg           as character format "x(20)"

    field ttv_reccod_id_val_aprop_ctbl_cmg       as recid cmg       as character format ">>>>>>9" initial ?x(20)"

    index tt_finalid                      

                    ttv_reccod_id_movto_cta_corren         corren         ascending

          tta_cod_finalid_econ             ascending

    index tt_id                            is primary

                    ttv_reccod_id_movto_cta_corren         corren         ascending

                    ttv_reccod_id_aprop_ctbl_cmg           ascending          ttv_          ascending

          ttv_cod_idrec_val_aprop_ctbl_cmg       cmg       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

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

 

 



Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

ttv_cod_

rec

id_val_aprop_ctbl_cmg

Recid

>>>>>>9

Char

x(20)

Rowid

Recid

da tt_val_aprop_ctbl_cmg_import_3.

Sim

 


ttv_

rec

cod_id_val_aprop_cmg_cambial

Recid

>>>>>>9

Char

x(20)

Rowid

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.

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 cmg       as character format ">>>>>>9" initial ?x(20)"

    field ttv_cod_recid_val_aprop_cmg_cambial    as recid cambial    as character format ">>>>>>9x(20)"

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

...

    index tt_val_aprop_ctbl_cmg          

          ttv_rec          ttv_cod_id_val_aprop_ctbl_cmg       cmg       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

 


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

Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

ttv_

rec

cod_id_movto_cta_corren

recid

>>>>>>9

character

x(20)

Deverá conter o número do

recid

rowid da temp-table tt_movto_cta_corren_import_3 que será utilizado como chave de ligação entre o movimento e os seus respectivos rateios financeiros.

Exemplo:

assign tt_rat_financ_cmg_import_3.ttv_

rec

cod_id_movto_cta_corren = tt_movto_cta_corren_import_3.ttv_cod_

rec

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

 


Obs1: Somente poderão ser informados rateios financeiros para os movimentos que possuem como módulo de origem “CMG”.

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

    field ttv_cod_recid_movto_cta_corren         as recid format ">>>>>>9" initial ?corren         as character format "x(20)"

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

...

    index tt_codigo                        is primaryprimary

          ttv_cod_id          ttv_rec_movto_cta_corren         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_

rec

cod_id_movto_cta_corren

recid

>>>>>>9

character

x(20)

O

recid

rowid 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

 

 



Definição:

 


def temp-table tt_import_movto_valid_cmg_3 no-undo

    field ttv_cod_recid_movto_cta_corren         as recid format ">>>>>>9" initial ?corren         as character format "x(20)"

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

...

    field ttv_cod_parameters               as character format "x(256)"

    . 


Execução

 


Na execução da API ocorrem as seguintes validações:

...

Programa verificará se o programa chamador está integro com a API, e isto ocorre através da verificação da versão de integração passada como parâmetro;

 


  1. 2.     Existência do Movimento

Será verificado se já existe um movimento igual ao que deverá ser importado;

 


  1. 3.     Conta Corrente

Será verificado se a conta corrente informada é válida e se o usuário possui permissão para acessá-la; 


  1. 4.     Tipo de Movimento

Valida se o Tipo de Movimento informado é RE ou NR;

 


  1. 5.     Tipo de Transação de Caixa

Valida o tipo de transação de caixa informado e se o usuário possui permissão para acessá-lo;

 


  1. 6.     Fluxo do Movimento

Valida se o Fluxo do Movimento informado é ENT ou SAI; 


  1. 7.     Rateios Financeiros (caso seja informado)

Será validado o Tipo de Fluxo Financeiro, Estabelecimento, Unidade de Negócio e se o total rateado confere com o valor especificado no movimento;

 


  1. 8.     Cenário Contábil

Se a conta corrente informada controlar cenário, será verificado se o cenário contábil informado para a conta corrente em questão é valido;

 


  1. 9.     Histórico Padrão

Verifica se o Histórico Padrão é válido; 


  1. 10.  Módulo

Valida se o módulo informado existe, se é diferente de Caixa e Bancos e se está habilitado para o período contábil; 


  1. 11.  Imposto

Verifica se incide imposto na conta corrente informada. Caso incida imposto, também será validado se existe um imposto para o país e a unidade de federação da conta corrente e do estabelecimento em questão e se existe uma classificação para o imposto informado; 


  1. 12.  Indicador Econômico

Serão validados os seguintes itens referentes ao indicador econômico:

...

-       Se o indicador econômico está habilitado para a data de transação utilizada; 


  1. 13.  Finalidade Econômica

Será validado se a finalidade econômica associada ao indicador econômico está habilitada para a Unidade Organizacional e também se existem finalidades disponíveis para a Unidade Organizacional;

 


  1. 14.  Apropriações Contábeis

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:

...

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


/** Movimento 1 **/

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_cod_recid_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_cod_recid_movto_cta_corren  = RECIDcorren  = STRING(ROWID(tt_movto_cta_corren_import_3))

       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_cod_recid_movto_cta_corren   = RECIDcorren   = STRING(ROWID(tt_movto_cta_corren_import_3))

       tt       tt_val_aprop_ctbl_cmg_import_3.ttv_reccod_id_aprop_ctbl_cmg     = RECIDcmg     = string(rowid(tt_aprop_ctbl_cmg_imp_3))

       tt       tt_val_aprop_ctbl_cmg_import_3.ttv_cod_recid_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_reccod_id_movto_cta_corren  = RECIDcorren  = STRING(ROWID(tt_movto_cta_corren_import_3))

       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        = "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_reccod_id_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_reccod_id_movto_cta_corren   = RECIDcorren   = STRING(ROWID(tt_movto_cta_corren_import_3))

       tt       tt_val_aprop_ctbl_cmg_import_3.ttv_reccod_id_aprop_ctbl_cmg     = RECIDcmg     = string(rowid(tt_aprop_ctbl_cmg_imp_3))

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

assign tt_rat_financ_cmg_import_3.ttv_reccod_id_movto_cta_corren  = recidcorren  = STRING(ROWID(tt_movto_cta_corren_import_3)).

       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. 


/* 2º rateio financeiro do movimento 1 */

create tt_rat_financ_cmg_import_3.

assign tt_rat_financ_cmg_import_3.ttv_cod_recid_movto_cta_corren  = recidcorren  = STRING(ROWID(tt_movto_cta_corren_import_3)).

       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.

 


/* 3º rateio financeiro do movimento 1 */

create tt_rat_financ_cmg_import_3.

assign tt_rat_financ_cmg_import_3.ttv_cod_recid_movto_cta_corren  = recidcorren  = STRING(ROWID(tt_movto_cta_corren_import_3)).

       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.

 

 

 




/** Movimento 2 **/

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_cod_recid_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  = RECIDcorren  = STRING(ROWID(tt_movto_cta_corren_import_3))

       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_reccod_id_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_cod_recid_movto_cta_corren   = RECIDcorren   = STRING(ROWID(tt_movto_cta_corren_import_3))

       tt       tt_val_aprop_ctbl_cmg_import_3.ttv_cod_recid_aprop_ctbl_cmg     = RECIDcmg     = string(rowid(tt_aprop_ctbl_cmg_imp_3))

       tt       tt_val_aprop_ctbl_cmg_import_3.ttv_reccod_id_val_aprop_ctbl_cmg = RECIDstring(rowid(tt_val_aprop_ctbl_cmg_import_3)). 


/* Os rateios financeiros do movimento 2 não foram informados,

   pois eles serão gerados automaticamente pela API */

 


/** Movimento 3 **/

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_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       = 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_cod_recid_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_cod_recid_movto_cta_corren  = RECIDcorren  = STRING(ROWID(tt_movto_cta_corren_import_3))

       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,

   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_2 in v_hdl_program (input 1,

...

                                       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.

...


output stream s_1 close. 


/* fim */