Árvore de páginas

Carregando...

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/fas/fas737zb

 

Objetivo

Permitir a criação de movimentos para bens patrimoniais sem a obrigação de fazê-los diretamente pelo módulo Ativo Fixo. Os movimentos poderão ser por Valor, Percentual ou Quantidade. Quando o movimento for de transferência, o tipo de movimento deve ser percentual e o % deve ser zero. Cada registro da temp-table de movimentos (tt_movto_bem_pat_api_b), possui um status e uma mensagem de erro, quando ocorrer. 

Funcionamento

Na forma padrão, realiza-se a chamada através de um comando RUN normal, armazenando o programa em uma variável através do comando PERSISTENT e em seguida executando uma PROCEDURE deste programa, passando-se os parâmetros com as informações necessárias.

A sintaxe para a chamada da API é:

 

...

def new shared var v_ind_message_output

...


   

...

if  v_ind_message_output = "Em Arquivo" then

    output stream s_1 to "c:\tmp\fas737zb.log".

 

run prgfin/fas/fas737zb.py persistent set v_hdl_api_bem_pat_bxa_transf (Input 01) /* prg_api_criacao_movto_bem_pat*/.

...

as character
    format "X(10)":U
    initial "Na Tela"
    view-as radio-set Horizontal
    radio-buttons "Na Tela", "Na Tela", "Em Arquivo", "Em Arquivo"
    bgcolor 8
    no-undo.

define variable v_hdl_api_bem_pat_bxa_transf

...

as handle      no-undo.

define new shared stream s_1.

assign v_ind_message_output = "Em Arquivo".

if  v_ind_message_output = "Em Arquivo" then
    output stream s_1 to "c:\tmp\fas737zb.log".

run prgfin/fas/fas737zb.py persistent set

if  valid-handle( v_hdl_api_bem_pat_bxa_transf )

then do:

...

v_hdl_api_bem_pat_bxa_transf

...

(Input 01).

run pi_api_criacao_movto_bem_pat in v_hdl_api_bem_pat_bxa_transf

...


                                                     (input "",
                                                      input-output table tt_movto_bem_pat_api_b).

if  valid-handle( v_hdl_api_bem_pat_bxa_transf ) then do:
    delete procedure v_hdl_api_bem_pat_bxa_transf.
    assign v_hdl_api_bem_pat_bxa_transf = ?.
end.

output stream s_1 close.


Observação: A inicialização da variável v_ind_message_output e a abertura da stream s_1 se faz necessário para que as inconsistências sejam aprensentadas em arquivo e não sejam apresentadas em tela.


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;


Retorno

A API retornará na tabela temporária

end.

 

output stream s_1 close.

 

    Observação: A inicialização da variável v_ind_message_output e a abertura da stream s_1 se faz necessário para que as inconsistências sejam aprensentadas em arquivo e não sejam apresentadas em tela.

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;

Retorno

A API retornará na tabela temporária tt_movto_bem_pat_api_b através do atributo “ttv_des_erro_api_movto_bem_pat” a inconsistência encontrada durante o processo de validação do Bem Patrimonial.

A validação das inconsistências das informações da tabela temporária será feita por registro e caso seja encontrado alguma será verificado o próximo registro da tabela temporária (caso o mesmo exista).

 

Obs.: Quando a API for executado por um programa externo, logo após a chamada da API, deverá ser criado um tratamento para impressão dos erros conforme segue exemplo.

 

for each tt_movto_bem_pat_api_b

    where tt_movto_bem_pat_api_b.ttv_des_erro_api_movto_bem_pat <> "":

   

    disp tt_movto_bem_pat_api_b.tta_cod_empresa         tt através do atributo ttv_des_erro_api_movto_bem_pat _api_b.tta_cod_cta_pat

         tt_movto_bem_pat_api_b.tta_num_bem_pat

a inconsistência encontrada durante o processo de validação do Bem Patrimonial.

A validação das inconsistências das informações da tabela temporária será feita por registro e caso seja encontrado alguma será verificado o próximo registro da tabela temporária (caso o mesmo exista).

 

Obs.: Quando a API for executado por um programa externo, logo após a chamada da API, deverá ser criado um tratamento para impressão dos erros conforme segue exemplo.

 

for each          tt_movto_bem_pat_api_b.tta_num_seq_bem_pat 

    where tt_movto         tt_movto_bem_pat_api_b.ttv_des_erro_api_movto_bem_pat skip.

end.

Tabelas Temporárias

Nos atributos das tabelas temporárias de entrada e saída:

 

...

Tabela Temporária

...

Descrição

...

Entrada/Saída

<> "":

   

    disp tt_movto_bem_pat_api_b

...

Conterá as informações dos bens a serem movimentados.

...

Entrada e Saída

...

Atributo

...

Tipo

...

Formato

...

Descrição

...

Obrigatório

...

Evolução

...

tta_cod_empresa

...

character

...

x(3)

...

Código da empresa

...

Sim

...

 

.tta_cod_empresa

         tt_movto_bem_pat_api_b.tta_cod_cta_pat

...

character

...

x(18)

...

Conta patrimonial

...

Sim

...

 

         tt_movto_bem_pat_api_b.tta_num_bem_pat

...

integer

...

>>>>>>>>9

...

Número do bem patrimonial.

...

Sim

...

 

         tt_movto_bem_pat_api_b.tta_num_seq_bem_

...

integer

...

>>>>9

...

Seqüência do bem patrimonial.

...

Sim

...

 

pat 

         tt_

...

movto_bem_pat

...

date

...

99/99/9999

...

Data da movimentação bem patrimonial

...

Sim

...

 

...

_api_b.ttv_des_erro_api_movto_bem_pat skip.

end.


Tabelas Temporárias

Nos atributos das tabelas temporárias de entrada e saída:

Tabela Temporária

Descrição

Entrada/Saída

tt_movto_bem_pat_api_b

Conterá as informações dos bens a serem movimentados.

Entrada e Saída


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

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

tta_cod_empresa

character

X(18)

Indicador de Transação (“Baixa”)

Sim

 

tta_ind_orig_calc_bem_pat

character

X(20)

Indicador de Origem de Transação (“Devolução”, “Exaustão”, “Inutilização”, “Quebra”, “Transferência”, “Venda”)

Sim

 

ttv_ind_tip_movto_bem_pat

character

x(15)

Tipo de Movimento (“Por Valor”, “Por Percentual”, “Por Quantidade”)

Sim

 

tta_cod_motiv_desmob

character

x(3)

Código

Motivo Desmobilização

da empresa

Sim

 


tta_cod_

cenar

cta_

ctbl

pat

character

x(

8

18)

Código Cenário Contábil

Não

Conta patrimonial

Sim

 


tta_

cod

num_

indic

bem_

econ

pat

character

x(8)

Código Moeda

Não

 

integer

>>>>>>>>9

Número do bem patrimonial.

Sim


tta_num_seq_bem_pat

integer

>>>>9

Seqüência do bem patrimonial.

Sim


tta_dat

Tta_val_fatur_desmob

decimal

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

Valor Faturado

Não

 

tta_val_origin_movto_bem_pat

decimal

->>,>>>,>>>,>>9.99

Valor Original Movimento Bem Patrimonial (Quando Tipo de Movimento = “Por Valor”)

Sim

 

tta_val_perc

_movto_bem_pat

decimal

->>>>,>>>,>>9.9999999

Valor Percentual Movimento Bem Patrimonial (Quando Tipo de Movimento = “Por Percentual”)

Sim

 

date

99/99/9999

Data da movimentação bem patrimonial

Sim


tta_ind_trans_calc

tta_qtd_movto

_bem_pat

decimal

>>>>>>>>9

character

X(18)

Indicador de Transação (“Baixa”

Quantidade Movimento (quando Tipo de Movimento = “Por Percentual”

)

Sim

 


tta_ind_

cod

orig_calc_

plano

bem_

ccusto

pat

character

x

X(

8)

Código Plano Centro Custo

Sim

 

20)

Indicador de Origem de Transação (“Devolução”, “Exaustão”, “Inutilização”, “Quebra”, “Transferência”, “Venda”, "Doação")

Sim


ttv_ind_tip_movto_bem_pat

tta_cod_ccusto_respons

character

x(

11)

Código Centro Custo Responsabilidade

Sim

15)

Tipo de Movimento (“Por Valor”, “Por Percentual”, “Por Quantidade”)

Sim

 


tta_cod_

unid

motiv_

negoc

desmob

character

x(3)

Código

Unidade de Negócio

Motivo Desmobilização

Sim

 


tta_cod_cenar_

estab                  

ctbl

character

x(

3

8)

Código

Estabelecimento

Cenário Contábil

Simttv

Não

 


tta_

ind

cod_

sit_movto_bem_pat

indic_econ

character

X

x(

08

8)

Indicação de errottv

Código Moeda

Não

 


Tta_

des

val_

erro_api_movto_bem_pat

character

X(60)

Mensagem de erro

Não

 

fatur_desmob

decimal

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

Valor Faturado

Não


tta_val_origin_movto_bem_pat

decimal

->>,

tta_num_pessoa_jurid

integer

>>>,>>>,>>9

Pessoa Jurídica

.99

Valor Original Movimento Bem Patrimonial (Quando Tipo de Movimento = “Por Valor”)

Sim

 

ttta_cod_ender_entreg

character

x(15)

Endereço de Entrega

Sim

 

tta_cod_localiz

character

x(12)

Localização

Sim

 

 

def temp-table tt_movto_bem_pat_api_b no-undo

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

    field tta_cod_cta_pat                            as character format "x(18)" label "Conta Patrimonial" column-label "Conta Patrimonial"

    field tta_num_bem_pat                          as integer format ">>>>>>>>9" initial 0 label "Bem Patrimonial" column-label "Bem"

    field tta_num_seq_bem_pat                   as integer format ">>>>9" initial 0 label "Sequˆncia Bem" column-label "Sequˆncia"

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

    field tta_ind_trans_calc_bem_pat           as character format "X(18)" initial "Implanta‡Æo" label "Transacao C lculo" column-label "Transacao C lculo"

    field tta_ind_orig_calc_bem_pat             as character format "X(20)" initial "Aquisi‡Æo" label "Origem" column-label "Origem"


tta_val_perc_movto_bem_pat

decimal

->>>>,>>>,>>9.9999999

Valor Percentual Movimento Bem Patrimonial (Quando Tipo de Movimento = “Por Percentual”)

Sim


tta_qtd_movto_bem_pat

decimal

>>>>>>>>9

Quantidade Movimento (quando Tipo de Movimento = “Por Quantidade”)

Sim


tta_cod_plano_ccusto

character

x(8)

Código Plano Centro Custo

Sim


tta_cod_ccusto_respons

character

x(11)

Código Centro Custo Responsabilidade

Sim


tta_cod_unid_negoc

character

x(3)

Código Unidade de Negócio

Sim


tta_cod_estab                  

character

x(3) / x(5)*

Código Estabelecimento

Sim


ttv_ind_sit_movto_bem_pat

character

X(08)

Indicação de erro

Não


ttv_des_erro_api_movto_bem_pat

character

X(60)

Mensagem de erro

Não


tta_num_pessoa_jurid

integer

>>>,>>>,>>9

Pessoa Jurídica

Sim


ttta_cod_ender_entreg

character

x(15)

Endereço de Entrega

Sim


tta_cod_localiz

character

x(12)

Localização

Sim


 


def temp-table tt_movto_bem_pat_api_b no-undo

    field tta_cod_empresa                  as character format "x(3)" label "Empresa" column-label "Empresa    field ttv_ind_tip_movto_bem_pat            as character format "x(15)" label "Tipo Movimento"

    field tta_cod_motiv_desmob                  cta_pat                  as character format "x(318)" label "Motivo Desmobiliza‡ÆoConta Patrimonial" column-label "Mot DesmobConta Patrimonial"

    field tta_codnum_cenar_ctbl                        as character format "x(8)" label "Cen rio Cont bilbem_pat                  as integer format ">>>>>>>>9" initial 0 label "Bem Patrimonial" column-label "Cen rio Cont bilBem"

    field tta_num_codseq_indic_econ                        as character format "x(8)" label "Moedabem_pat              as integer format ">>>>9" initial 0 label "Sequˆncia Bem" column-label "MoedaSequˆncia"

    field tta_dat_valmovto_fatur_desmob                    as decimal format ">>>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Faturadobem_pat            as date format "99/99/9999" initial today label "Data Movimento" column-label "Val FaturadoData Movimento"

    field tta_valind_origintrans_movtocalc_bem_pat        as decimal format "->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Original Movtopat       as character format "X(18)" initial "Implanta‡Æo" label "Transacao C lculo" column-label "Valor Original MovtoTransacao C lculo"

    field tta_valind_percorig_movtocalc_bem_pat          as decimal format "->>>>,>>>,>>9.9999999" decimals 7 initial 0 label "Percentual Movimentopat        as character format "X(20)" initial "Aquisi‡Æo" label "Origem" column-label "Percentual MovimentoOrigem"

    field ttattv_ind_qtdtip_movto_bem_pat                 as decimal format ">>>>>>>>9" initial 0 label "Quantidade Movto" column-label "Quantidade Movtopat        as character format "x(15)" label "Tipo Movimento"

    field tta_cod_plano_ccusto                    motiv_desmob             as character format "x(83)" label "Plano Centros CustoMotivo Desmobiliza‡Æo" column-label "Plano Centros CustoMot Desmob"

    field tta_cod_ccusto_respons                 as Character cenar_ctbl               as character format "x(118)" label "CCusto ResponsabCen rio Cont bil" column-label "CCusto ResponsabCen rio Cont bil"

    field tta_cod_unid_negoc                      as indic_econ               as character format "x(38)" label "Unid Neg¢cioMoeda" column-label "Un NegMoeda"

    field tta_val_cod_estab                               as character format "x(3)" label "Estabelecimentofatur_desmob             as decimal format ">>>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Faturado" column-label "EstabVal Faturado"

    field ttvtta_indval_sitorigin_movto_bem_pat            as character format "X(08)"    field ttv_des_erro_api_movto_bem_pat   as character format "x(60)pat     as decimal format "->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Original Movto" column-label "Valor Original Movto"

    field tta_num_pessoa_jurid                    as integer format ">>>val_perc_movto_bem_pat       as decimal format "->>>>,>>>,>>9.9999999" decimals 7 initial 0 label "Pessoa Jur¡dicaPercentual Movimento" column-label "Pessoa Jur¡dicaPercentual Movimento"

    field tta_codqtd_ender_entreg                    as character format "x(15)" label "Endere‡o Entregamovto_bem_pat            as decimal format ">>>>>>>>9" initial 0 label "Quantidade Movto" column-label "Endere‡o EntregaQuantidade Movto"

    field tta_cod_localiz                              _plano_ccusto             as character format "x(128)" label "Localiza‡ÆoPlano Centros Custo" column-label "Localiza‡ÆoPlano Centros Custo"

    index tt_id                                           is primary unique

          tta_cod_empresa                           ascending

          tta_cod_cta_pat                             ascending

          tta_num_bem_pat                          ascending

          tta_num_seq_bem_pat                   ascending

          tta_dat_movto_bem_pat                 ascending

    .

Execução

 

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

 

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

Programa verificará se o programa chamado 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.     Empresa

Será verificado se a empresa é válida;

 

  1. 3.     Conta patrimonial

Valida se a conta patrimonial informada é válida

 

  1. 4.     Número do bem e seqüência do bem.

Verifica se existe um bem com o mesmo número no sistema. (levando em conta que a chave completa do bem é empresa, conta patrimonial, número do bem e seqüência);

 

  1. 5.     Motivo da Desmobilização

Valida o motivo da desmobilização informado;

 

  1. 6.     Cenário Contábil

Valida o cenário contábil informado;

  1. 7.     Indicador econômico

Se o indicador econômico informado existe;

 

field tta_cod_ccusto_respons           as Character format "x(11)" label "CCusto Responsab" column-label "CCusto Responsab"

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

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

    field ttv_ind_sit_movto_bem_pat        as character format "X(08)"

    field ttv_des_erro_api_movto_bem_pat   as character format "x(60)"

    field tta_num_pessoa_jurid             as integer format ">>>,>>>,>>9" initial 0 label "Pessoa Jur¡dica" column-label "Pessoa Jur¡dica"

    field tta_cod_ender_entreg             as character format "x(15)" label "Endere‡o Entrega" column-label "Endere‡o Entrega"

    field tta_cod_localiz                  as character format "x(12)" label "Localiza‡Æo" column-label "Localiza‡Æo"

    index tt_id                            is primary unique

          tta_cod_empresa                  ascending

          tta_cod_cta_pat                  ascending

          tta_num_bem_pat                  ascending

          tta_num_seq_bem_pat              ascending

          tta_dat_movto_bem_pat            ascending.

 

Execução


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

 

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

Programa verificará se o programa chamado 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.     Empresa

Será verificado se a empresa é válida;


  1. 3.     Conta patrimonial

Valida se a conta patrimonial informada é válida


  1. 4.     Número do bem e seqüência do bem.

Verifica se existe um bem com o mesmo número no sistema. (levando em conta que a chave completa do bem é empresa, conta patrimonial, número do bem e seqüência);

 

  1. 5.     Motivo da Desmobilização

Valida o motivo da desmobilização informado;

 

  1. 6.     Cenário Contábil

Valida o cenário contábil informado;

  1. 7.     Indicador econômico

Se o indicador econômico informado existe;

 

  1. 8.     Plano 8.     Plano Centro de custo

Valida o Plano Centro de Custo informado e se o plano de centro de custo está em data Valida;

...

Valida se a unidade de negócio é válida e se a mesma está vinculada ao estabelecimento;

 


Leitura e Criação dos Registros

 

Exemplo de movimentação de Baixa/Transferência de bens:

 

Registros


Exemplo de movimentação de Baixa/Transferência de bens:


def new shared var v_ind_message_output

    as character

    format "X(10)":U

    initial "Na Tela"

    view-as radio-set Horizontal

    radio-buttons "Na Tela", "Na Tela", "Em Arquivo", "Em Arquivo"

    bgcolor 8

    no-undo.

define variable v_hdl_api_bem_pat_bxa_transf as handle      no-undo.

define variable Def var ind_tratam_erro as character format “x"x(26)" no-undo.

 define new shared stream s_1.


Assign ind_tratam_erro     = "Parar ao Primeiro Erro"

        v_ind_message_output = "Em Arquivo". 


IF  v_ind_message_output = "Em Arquivo" THEN

    OUTPUT STREAM s_1 TO "c:\tmp\fas737zb.log".   



create tt_movto_bem_pat_api_b.

Assign tt_movto_bem_pat_api_b.tta_cod_empresa                empresa                = “MOV”

tt_movto_bem_pat_api_b.tta_cod_cta_pat                = "moveis e equip"

...

tt_movto_bem_pat_api_b.tta_cod_motiv_desmob           desmob           = “Vda”

tt_movto_bem_pat_api_b.tta_cod_cenar_ctbl             = “Fiscal”

...

tt_movto_bem_pat_api_b.tta_val_origin_movto_bem_pat   pat   = 1000.00

tt_movto_bem_pat_api_b.tta_val_perc_movto_bem_pat     = 100

...

tt_movto_bem_pat_api_b.tta_cod_localiz                = “”.    

 



run prgfin/fas/fas737zb.py persistent set v_hdl_api_bem_pat_bxa_transf (Input 01) /* prg_api_criacao_movto_bem_pat*/.


run pi_api_criacao_movto_bem_pat in v_hdl_api_bem_pat_bxa_transf

                                                     (input "",

                                                      ind_tratam_erro, input-output table tt_movto_bem_pat_api_b).


if  valid-handle( v_hdl_api_bem_pat_bxa_transf ) then do:

    delete procedure v_hdl_api_bem_pat_bxa_transf.

    assign v_hdl_api_bem_pat_bxa_transf = ?.

end.

...


output stream s_1 close.


for each tt_movto_bem_pat_api_b

...

         tt_movto_bem_pat_api_b.tta_num_seq_bem_pat

         tt         tt_movto_bem_pat_api_b.ttv_des_erro_api_movto_bem_pat skip.

end.