Á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/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, 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".

 

...

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

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

...

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(3)

Código da empresa

Sim

 


tta_cod_cta_pat

character

x(18)

Conta patrimonial

Sim

 


tta_num_bem_pat

integer

>>>>>>>>9

Número do bem patrimonial.

Sim

 


tta_num_seq_bem_pat

integer

>>>>9

Seqüência do bem patrimonial.

Sim

 


tta_dat_movto_bem_pat

date

99/99/9999

Data da movimentação bem patrimonial

Sim

 


tta_ind_trans_calc_bem_pat

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”, "Doação")

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

Sim

 


tta_cod_cenar_ctbl

character

x(8)

Código Cenário Contábil

Não

 


tta_cod_indic_econ

character

x(8)

Código Moeda

Não

 


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

 


tta_qtd_movto_bem_pat

decimal

>>>>>>>>9

Quantidade Movimento (quando Tipo de Movimento = “Por

Percentual”

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 empresa                  as character format "x(3)" label "Empresa" column-label "Empresa"

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

    field tta_num_bem_pat                          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           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"

    field ttv_ind_tip_movto_bem_pat            pat        as character format "x(15)" label "Tipo Movimento"

    field tta_cod_motiv_desmob                  desmob             as character format "x(3)" label "Motivo Desmobiliza‡Æo" column-label "Mot Desmob"

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

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

    field tta_val_fatur_desmob                    desmob             as decimal format ">>>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Faturado" column-label "Val Faturado"

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

    field tta_val_perc_movto_bem_pat          pat       as decimal format "->>>>,>>>,>>9.9999999" decimals 7 initial 0 label "Percentual Movimento" column-label "Percentual Movimento"

    field tta_qtd_movto_bem_pat                 as pat            as decimal format ">>>>>>>>9" initial 0 label "Quantidade Movto" column-label "Quantidade Movto"

    field tta_cod_plano_ccusto                    _plano_ccusto             as character format "x(8)" label "Plano Centros Custo" column-label "Plano Centros Custo"

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

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

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

    field ttv_ind_sit_movto_bem_pat            as 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 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                                           id                            is primary unique

          tta_cod_empresa                           ascending          ttaempresa                  ascending

          tta_cod_cta_pat                             ascendingpat                  ascending

          tta_num_bem_pat                            ascending

          tta_num_seq_bem_pat                   pat              ascending

          tta_dat_movto_bem_pat                 pat            ascending.    .

 

Execução

...


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

...

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.

...

Valida o centro de custo informado e se o usuário possui permissão para acessá-lo;

 

  1. 10.  Estabelecimento

Será verificado se o estabelecimento é válido;

 

  1. 11.  Unidade de negócio

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:

 

acessá-lo;

 

  1. 10.  Estabelecimento

Será verificado se o estabelecimento é válido;

 

  1. 11.  Unidade de negócio

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:


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.