Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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

 

if  v_ind_message_output = "Em Arquivo" then

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

 

...

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

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

...

v_hdl_api_bem_pat_bxa_transf (Input 01).

then do:

    delete procedure v_hdl_api_bem_pat_bxa_transf.

...

 

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_através do atributo “ttv_des_erro_api_movto_bem_pat <> "":

   

    disp tt_movto_bem_pat_api_b.tta_cod_empresa

         tt_movto_bem_pat_api_b.tta_cod_cta_pat

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_numcod_bem_patempresa

         tt_movto_bem_pat_api_b.tta_numcod_seqcta_bem_pat pat

         tt_movto_bem_pat_api_b.ttvtta_desnum_erro_apibem_pat

         tt_movto_bem_pat_api_b.tta_num_seq_bem_pat 

         tt_movto_bem_pat_api_b.ttv_des_erro_api_movto_bem_pat skip. 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”)

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

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

...

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:

 

 

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"

...

    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.