Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicoprgfin/cfl/cfl724zb

 

Objetivo

Importar movimentos de outros módulos referentes a Fluxo de Caixa para o módulo Fluxo de Caixa.

 

Funcionamento

Na forma padrão, realiza-se a chamada através de um comando RUN normal, passando-se os parâmetros com as informações necessárias.

 

A sintaxe para a chamada da API é:

 

run prgfin/cfl/cfl724zb.py (input 1,

                               input-output table tt_import_movto_fluxo_cx,

                               input-output table tt_import_movto_valid_cfl).

 

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;

tt_import_movto_fluxo_cx

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

tt_import_movto_valid_cfl

Esta temp-table conterá os possíveis erros que poderão ocorrer na integração.

 

Retorno

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

O parâmetro de saída é através do comando return-value, sendo que o valor do seu retorno será 2782. Este código significa que a versão de integração incorreta.

 

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. 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_fluxo_cx_recebto (cfl724zb.py) deverá conter e criar as seguintes tabelas temporárias:

 

Tabela Temporária

Descrição

Entrada/Saída

tt_import_movto_fluxo_cx

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

Entrada e Saída

 

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

Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

tta_num_fluxo_cx

integer

>>>>>,>>9

Código da conta corrente.

Sim

 

tta_dat_movto_fluxo_cx

date

99/99/9999

Data do movimento.

Sim

 

tta_cod_estab

character

x(3) / x(5)*

Seqüência em que o movimento será gerado.

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_ind_fluxo_movto_cx

character

x(3)

Indicador do fluxo do movimento

Valores permitidos: ent e sai.

Onde: ent = entrada

           sai  = saída.

Sim

 

tta_ind_tip_movto_fluxo_cx

character

x(2)

Indicador do tipo de movimento.

Valores permitidos: re e pr.

Onde: re = realizado

           pr = previsto.

Sim

 

tta_cod_modul_dtsul

character

x(3)

Código do módulo. Normalmente utilizado “CFL” para movimentos do fluxo de caixa.

Sim

 

tta_val_movto_fluxo_cx

decimal

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

Valor do movimento.

Sim

 

ttv_ind_erro_valid

character

x(8)

Caso ocorra algum erro, este campo terá o valor “sim” e as respectivas mensagens de erro estarão na tt_import_movto_valid_cfl, onde a leitura deverá ser feita pelo atributo ttv_rec_movto_fluxo_cx.

 

Exemplo:

     for each tt_import_movto_fluxo_cx no-lock

            where tt_import_movto_fluxo_cx.ttv_ind_erro_valid = “sim”:

            for each tt_import_movto_valid_cfl no-lock

                   where tt_import_movto_valid_cfl.ttv_rec_movto_fluxo_cx =

                               tt_import_movto_fluxo_cx. Ttv_rec_movto_fluxo_cx:

                    disp tt_import_movto_valid_cfl.

            end.

     end.

Sim

 

tta_cod_histor_padr

character

x(8)

Código do histórico padrão.

Não

 

tta_des_histor_movto_fluxo_cx

character

x(2000)

Descrição do histórico padrão.

Não

 

ttv_rec_movto_fluxo_cx

recid

>>>>>>9

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

Exemplo:

 assign

Tt_import_movto_fluxo_cx.ttv_rec_movto_fluxo_cx = recid(tt_import_movto_fluxo_cx).

Sim

 

 

def temp-table tt_import_movto_fluxo_cx no-undo

    field tta_num_fluxo_cx                 as integer format ">>>>>,>>9" initial 0 label "Fluxo Caixa" column-label "Fluxo Caixa"

    field tta_dat_movto_fluxo_cx           as date format "99/99/9999" initial ? label "Data Movimento" column-label "Data Movimento"

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

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

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

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

    field tta_ind_tip_movto_fluxo_cx       as character format "X(2)" initial "PR" label "Tipo Movimento" column-label "Tipo Movimento"

    field tta_cod_modul_dtsul              as character format "x(3)" label "Módulo" column-label "Módulo"

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

    field ttv_ind_erro_valid               as character format "X(08)" initial "Não"

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

    field tta_des_histor_movto_fluxo_cx    as character format "x(2000)" label "Histórico Movimento" column-label "Histórico Movimento"

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

    .

 

Observação: Os atributos “tta_cod_histor_padr e tta_des_histor_movto_fluxo_cx” estão informados como não obrigatório, pois um ou outro pode ser informado, é obrigatório que pelo menos um seja informado, podendo se necessário informar os dois.

 

Tabela Temporária

Descrição

Entrada/Saída

tt_import_movto_valid_cfl

Conterá as informações dos movimentos que não foram importados com a respectiva mensagem de erro.

Entrada e Saída

 

Atributo

Tipo

Formato

Descrição

Obrig.

Evolução

ttv_rec_movto_fluxo_cx

recid

>>>>>>9

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

character

x(50)

Descrição da ajuda do erro.

Sim

 

 

def temp-table tt_import_movto_valid_cfl no-undo

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

    field ttv_num_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_ajuda                    as character format "x(50)" label "Ajuda" column-label "Ajuda"

    .

 

Execução

 

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

  1. 1.     Versão de integração

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.     Número Fluxo de Caixa

Será verificado se o número do fluxo de caixa informado é valido;

 

  1. 3.     Estabelecimento

Será verificado se o Estabelecimento informado é valido. Se o estabelecimento estiver implementado como Unidade Organizacional, será verificado, se o mesmo está habilitado na data de transação, caso contrário será verificado se o usuário possui permissão para acessá-lo;

 

  1. 4.     Unidade de Negócio

Será verificado se a Unidade de Negócio informada está dentro da faixa de validade especificada para a mesma; também será verificado se o usuário possui permissão para acessar a Unidade de Negócio e se esta Unidade está relacionada ao Estabelecimento informado;

 

  1. 5.     Tipo Fluxo Financeiro

Verifica se o Tipo de Fluxo Financeiro informado é válido;

 

  1. 6.     Fluxo do Movimento

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

 

  1. 7.     Tipo do Movimento

Valida se o Tipo do Movimento informado é RE(Realizado) ou PR(Previsto);

 

  1. 8.     Módulo

Valida se o módulo informado existe e se é diferente de Fluxo de Caixa;

 

  1. 9.     Valor do Movimento

Valida se há algum valor informado;

 

  1. 10.  Histórico Padrão

Se informado será verificado se o Histórico Padrão é válido para o módulo CFL, caso não esteja informado é obrigatório a existência da descrição do histórico;

 

  1. 11.  Descrição do Histórico

Será verificado se a descrição do histórico não está em branco, salvo se o código do histórico padrão estiver informado, caso a descrição do histórico não estiver informada será pego a descrição do histórico padrão.

 

 

Criação dos Registros

 

Exemplo de criação de movimentos de fluxo de caixa:

 

/** Movimento 1 **/

create tt_import_movto_fluxo_cx.

assign tt_import_movto_fluxo_cx.tta_num_fluxo_cx              = 0

       tt_import_movto_fluxo_cx.tta_dat_movto_fluxo_cx        = 02/01/2001

       tt_import_movto_fluxo_cx.tta_cod_estab                 = "xxx"

       tt_import_movto_fluxo_cx.tta_cod_unid_negoc            = "xxx"

       tt_import_movto_fluxo_cx.tta_cod_tip_fluxo_financ      = "11111"

       tt_import_movto_fluxo_cx.tta_ind_fluxo_movto_cx        = "ENT"

       tt_import_movto_fluxo_cx.tta_ind_tip_movto_fluxo_cx    = "RE"

       tt_import_movto_fluxo_cx.tta_cod_modul_dtsul           = "CFL"

       tt_import_movto_fluxo_cx.tta_val_movto_fluxo_cx        = 10000

       tt_import_movto_fluxo_cx.tta_cod_histor_padr           = "01"

       tt_import_movto_fluxo_cx.tta_des_histor_movto_fluxo_cx = ""

       tt_import_movto_fluxo_cx.ttv_ind_erro_valid            = "não"

       tt_import_movto_fluxo_cx.ttv_rec_movto_cta_corren      = recid(tt_import_movto_fluxo_cx).

 

/** Movimento 2 **/

create tt_import_movto_fluxo_cx.

assign tt_import_movto_fluxo_cx.tta_num_fluxo_cx              = 0

       tt_import_movto_fluxo_cx.tta_dat_movto_fluxo_cx        = 02/01/2001

       tt_import_movto_fluxo_cx.tta_cod_estab                 = "xxx"

       tt_import_movto_fluxo_cx.tta_cod_unid_negoc            = "xxx"

       tt_import_movto_fluxo_cx.tta_cod_tip_fluxo_financ      = "11111"

       tt_import_movto_fluxo_cx.tta_ind_fluxo_movto_cx        = "ENT"

       tt_import_movto_fluxo_cx.tta_ind_tip_movto_fluxo_cx    = "RE"

       tt_import_movto_fluxo_cx.tta_cod_modul_dtsul           = "CFL"

       tt_import_movto_fluxo_cx.tta_val_movto_fluxo_cx        = 10000

       tt_import_movto_fluxo_cx.tta_cod_histor_padr           = ""

       tt_import_movto_fluxo_cx.tta_des_histor_movto_fluxo_cx = "Movimento de entrada"

       tt_import_movto_fluxo_cx.ttv_ind_erro_valid            = "não"

       tt_import_movto_fluxo_cx.ttv_rec_movto_cta_corren      = recid(tt_import_movto_fluxo_cx).