Histórico da Página
Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | prgfin/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.
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_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_ |
id_movto_cta_corren = |
tt_movto_cta_corren_import_3.ttv_cod_ |
id_movto_cta_corren: Disp |
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
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_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_cod_id_participan | character | x(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_ |
cod_id_aprop_ctbl_cmg |
recid
character | x(20) | Deverá conter o número do |
rowid da temp-table tt_aprop_ctbl_cmg_imp_3. Exemplo: assign tt_aprop_ctbl_cmg_imp_3.ttv_ |
cod_id_aprop_ctbl_cmg = |
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_ |
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_ |
id_movto_cta_corren |
recid
character | x(20) |
Deverá conter o número do |
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_ |
id_movto_cta_corren = |
STRING(ROWID(tt_movto_cta_corren_import_3)). | Sim |
ttv_ |
cod_id_aprop_ctbl_cmg |
recid
character | x(20) |
Deverá conter o número do |
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_ |
cod_id_aprop_ctbl_cmg = |
string(rowid(tt_aprop_ctbl_cmg_imp_3)). | Sim |
ttv_ |
cod_id_val_aprop_ctbl_cmg |
recid
character | x(20) | Deverá conter o número do |
rowid da temp-table tt_val_aprop_ctbl_cmg_import_3. Exemplo: Assign tt_val_aprop_ctbl_cmg_import_3.ttv_ |
cod_id_val_aprop_ctbl_cmg = |
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_ |
id_val_aprop_ctbl_cmg |
Recid
>>>>>>9
Char | x(20) | Rowid |
da tt_val_aprop_ctbl_cmg_import_3. | Sim |
ttv_ |
cod_id_val_aprop_cmg_cambial |
Recid
>>>>>>9
Char | x(20) | Rowid |
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_ |
cod_id_movto_cta_corren |
recid
character | x(20) | Deverá conter o número do |
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_ |
cod_id_movto_cta_corren = tt_movto_cta_corren_import_3.ttv_cod_ |
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_ |
cod_id_movto_cta_corren |
recid
character | x(20) | O |
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;
- 2. Existência do Movimento
Será verificado se já existe um movimento igual ao que deverá ser importado;
- 3. Conta Corrente
Será verificado se a conta corrente informada é válida e se o usuário possui permissão para acessá-la;
- 4. Tipo de Movimento
Valida se o Tipo de Movimento informado é RE ou NR;
- 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;
- 6. Fluxo do Movimento
Valida se o Fluxo do Movimento informado é ENT ou SAI;
- 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;
- 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;
- 9. Histórico Padrão
Verifica se o Histórico Padrão é válido;
- 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;
- 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;
- 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;
- 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;
- 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 */