Á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
        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      nohandle      no-undo.

define new shared stream s_1. 

assign v_ind_message_output = "Em Arquivo".

 

if  vif  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 "",
                                                      input                                                      input-output table tt_movto_bem_pat_api_b).

 

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

...

         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

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

...

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

...

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.

...

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

 


run pi_api_criacao_movto_bem_pat in v_hdl_api_bem_pat_bxa_transf

...

                                                      input-output table tt_movto_bem_pat_api_b). 


if  valid-handle( v_hdl_api_bem_pat_bxa_transf ) then do:

...

    assign v_hdl_api_bem_pat_bxa_transf = ?.

end.

 


output stream s_1 close.

...


for each tt_movto_bem_pat_api_b

...