Histórico da Página
Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | Prgfin/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 |
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;
- 2. Empresa
Será verificado se a empresa é válida;
- 3. Conta patrimonial
Valida se a conta patrimonial informada é válida
- 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;
- 10. Estabelecimento
Será verificado se o estabelecimento é válido;
- 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;
- 10. Estabelecimento
Será verificado se o estabelecimento é válido;
- 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 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.