Á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/fas791ZA


Observação: A partir da release 12.1.

...

2411.

Objetivo

Criar documentos de entrada no módulo de Ativo Fixo do EMS 5.

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 VAR v_hdl_program AS HANDLE NO-UNDO.
RUN prgfin\fas\fas791za.py PERSISTENT SET v_hdl_program.
RUN pi_api_criacao_docto_entr IN v_hdl_program (input "ems2",
                                                                                     input table tt_bem_invest_mga,
                                                                                     output table tt_log_erros).
DELETE PROCEDURE v_hdl_program. 


Parâmetros

Parâmetro

Descrição

Código Matriz Tradução Organização Externa

Neste parâmetro deverá ser informada a matriz de tradução da organização externa.

tt_bem_invest_mga

Esta temp-table conterá os registros com as informações do documento de entrada e dos itens que serão criados. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias.

tt_log_erros

Esta temp-table conterá os erros ocorridos durante as validações feitas pela API no momento da inclusão do documento de entrada. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias. Não deverá ser alimentada ao chamar a API.

Observações:

- Deve ser gerada a temp-table no programa que chamará a API. Esta temp-table conterá as informações sobre os documentos de entrada e os itens do documento que serão implantados no Ativo Fixo.

...

Nos atributos das tabelas temporárias de entrada e saída:O programa , o programa que irá executar a api_criar_bem_pat deverá docto_entr deverá conter e criar as seguintes tabelas temporárias:


1) Criação de Bem Patrimonial via APIde Documentos de entrada e itens do documento de entrada

Tabela Temporária

Descrição

Entrada/Saída

tt

_integr

_

incorp_

bem_

pat

invest_

2

mga

Conterá as informações

das incorporações a serem implantadas

dos documentos de entrada e seus itens.

Entrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

tta

ttv_

num_id_bem_pat

integer

>>,>>>,>>9

Número de Identificação do Bem ao qual a incorporação será vinculada

cod_empresa

character

x(3)

Código da empresa externa a ser traduzida pela matriz de tradução de unidade organizacional.

Sim

tta


ttv_

num_seq_incorp_bem_pat

cdn_emit

integer

>>,>>>,>>9

Número da sequência da incorporação do bem

>>>>>>>>9

Código numérico do fornecedor do documento fiscal.

Sim

4) Tabela de erros


ttv_cod_nota

character

x(20)

Número do documento fiscal.

Sim


ttv_cod_ser_nota

character

x(5)

Série do documento fiscal.

Sim


ttv_cod_natur_operac

character

x(6)

Natureza de operação do documento fiscal.

Sim


ttv_cod_estab

character

x(3)

Código do estabelecimento externo a ser traduzido pela matriz de tradução de unidade organizacional.

Sim


ttv_dat_aquis_bem_pat

date

99/99/9999

Data de emissão do documento

Sim


ttv_cod_cta

character

x(20)

Código do centro de custo



ttv_cdn_aux

integer

>>>,>>9

Código do centro de custo externo a ser traduzido pela matriz de tradução de centros de custo.



ttv_cod_origem

character

x(8)

Código da Origem do documento de entrada.



ttv_des_aux_5

Tabela Temporária

Descrição

Entrada/Saída

tt_log_erros_int_inc_bem_pat_1

Conterá as informações dos movimentos que não foram importados com a respectiva mensagem de erro.

Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_row_integr_incorp_bem_pat

rowid

ROWID da incorporação ao qual o erro está vinculado.

ttv_num_erro

integer

>>>>,>>9

Número do erro para a incorporação do bem patrimonial com a chave formada pelos atributos acima nesta temp table.

ttv_des_msg_erro

characterx(60)

Mensagem de erro para a incorporação do bem patrimonial com a chave formada pelos atributos acima nesta temp table.

tta_des_msg_ajuda

character

x(40)

Mensagem de ajuda referente ao erro para a incorporação do bem patrimonial com a chave formada pelos atributos acima nesta temp table.

Execução

Leitura e Criação dos Registros

Exemplo do programa para criação dos registros nas temp-tables com os documentos de entrada a serem implantados:

def new global shared var v_cod_empres_usuar
    as character
    format "x(3)":U
    label "Empresa"
    column-label "Empresa"
    no-undo.

Narrativa do item do documento de entrada.



ttv_val_aquis_bem_pat

decimal

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

Valor do documento de entrada.



ttv_val_aquis_fasb_bem_pat

decimal

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

Valor FASB do documento de entrada.



ttv_val_aquis_cmi_bem_pa

decimal

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

Valor CMCAC do documento de entrada.



ttv_cdn_unid_bem

integer

>>>,>>9

Quantidade do item do documento de entrada

Sim


ttv_cdn_org_bem

integer

>>>,>>9

Número da ordem de investimentos



ttv_cdn_ord_manut

integer

>>>,>>9

Número da ordem de manutenção.



ttv_des_bem_pat

character

x(40)

Descrição do item do documento de entrada

Sim


ttv_cod_unid_negoc

character

x(3)

Código da unidade de negócio.



tta_num_id_ri_bem_pat

integer

>>>,>>>,>>9

Número de identificação do bem patrimonial.



ttv_gera_bem_quant

logical

yes/no

Indicador de geração de bens por quantidade.



ttv_sequencia

integer

>>9

Número sequencial do item do documento fiscal.



ttv_cod_moed_fasb

character

x(8)

Código da moeda FASB.



ttv_dat_fasb

date

99/99/9999

Data de cotação da moeda FASB.




4) Tabela de erros

Tabela Temporária

Descrição

Entrada/Saída

tt_log_erros

Conterá as informações das mensagem de erro ocorridas na criação do documento de entrada.

Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_num_seq

integer

>>>,>>9

Número sequencial.



ttv_num_cod_erro

integer

>>>>,>>9

Número do erro.



ttv_des_erro

characterx(50)

Mensagem de erro.



ttv_des_ajuda

character

x(50)

Mensagem de ajuda referente ao erro.




Execução

Leitura e Criação dos Registros

Exemplo do programa para criação dos registros nas temp-tables com os documentos de entrada a serem implantados:

def temp-table tt_log_erros no-undo
    field ttv_num_seq                      as integer format ">>>,>>9" label "Seqüência" column-label "Seq"
    field ttv_num_cod_erro             as integer format ">>>>,>>9" label "Número" column-label "Número"
    field ttv_des_erro                      as character format "x(50)" label "Inconsistência" column-label "Inconsistência"
    field ttv_des_ajuda                    as character format "x(50)" label "Ajuda" column-label "Ajuda"
    index tt_id                           
          ttv_num_seq                      ascending
          ttv_num_cod_erro              ascending.


def temp-table tt_bem_invest_mga no-undo
    field ttv_cod_empresa                      as def temp-table tt_log_erros no-undo
    field ttv_num_seq                      as integer format ">>>,>>9" label "Seqüência" column-label "Seq"
    field ttv_num_cod_erro                 as integer format ">>>>,>>9" label "Número" column-label "Número"
    field ttv_des_erro                     as character format "x(50)" label "Inconsistência" column-label "Inconsistência"
    field ttv_des_ajuda                    as character format "x(50)" label "Ajuda" column-label "Ajuda"
    index tt_id                           
          ttv_num_seq                      ascending
          ttv_num_cod_erro                 ascending
    .    
/* Begin_Include: i_tt_bem_invest_mga */
def temp-table tt_bem_invest_mga no-undo
    &IF '{&emsfin_version}' < '5.07A' &THEN
    field ttv_cdn_empresa                  as Integer format '>>9' label 'Empresa Externa' column-label 'Empresa Ext Inicial'
    &ELSE
    field ttv_cod_empresa                  as char format 'x(3)' label 'Empresa Externa' column-label 'Empresa Ext Inicial'
    &ENDIF
    field ttv_cdn_emit emit                            as  as Integer format '>>>>>>>>9' label 'Emitente' column-label 'Emitente'
    field ttv_cod_nota nota                            as  as character format 'x(20)'
    field ttv_cod_ser_nota nota                      as  as character format 'x(5)' label 'Série Nota' column-label 'Série Nota'
    field ttv_cod_natur_operac operac              as  as character format 'x(6)' label 'Natureza Operação' column-label 'Natureza Operação'
    field ttv_cod_estab estab                           as character format 'x(3)' label 'Estabelecimento' column-label 'Estabelecimento'
    field ttv_dat_aquis_bem_pat pat             as date format '99/99/9999' label 'Data AquisiçãoAquisção' column-label 'Data Aquisição'
    field ttv_cod_cta cta                               as character format 'x(20)'
    field ttv_cdn_aux aux                               as as Integer format '>>>,>>9'
    field ttv_cod_origem origem                        as character format 'x(8)' label 'Origem' column-label 'Origem'
    field ttv_des_aux_5 5                           as character format 'x(40)'
    field ttv_val_aquis_bem_pat pat             as decimal format '->>,>>>,>>>,>>9.99' decimals 2 initial 0 label 'Aquisição Bem' column-label 'Aquisição Bem'
    field ttv_val_aquis_fasb_bem_pat pat        as  as decimal format '>>,>>>,>>>,>>9.99' decimals 2
    field ttv_val_aquis_cmi_bem_pat pat         as as decimal format '>>,>>>,>>>,>>9.99' decimals 2
    field ttv_cdn_unid_bem bem                    as Integer format '>>>,>>9'
    field ttv_cdn_org_bem bem                     as Integer format '>>>,>>9'
    field ttv_cdn_ord_manut manut                 as Integer format '>>>,>>9'
    field ttv_des_bem_pat pat                     as character format 'x(40)' label 'Descrição Bem Pat' column-label 'Descrição Bem Pat'
    field ttv_rec_id_bem_pat_2             as &IF "{&ROWID_READY}" = "YES" &THEN rowid &ELSE recid format '>>>>>>9' &ENDIFlabel 'Descrição Bem Pat'
    field ttv_cod_unid_negoc               as character format 'x(3)' label 'Unid Negócio' column-label 'Un Neg'
    field tta_num_id_ri_bem_pat pat             as as integer format '>>>,>>>,>>9' initial 1 label 'Identific Bem MRI' column-label 'ID Bem MRI'
    field ttv_gera_bem_quant   quant              as logical initial no label "Gerar Bem por Quantidade" column-label "Gerar Bem por Quantidade"
    field ttv_sequencia sequencia                         as integer format '>>9' initial 0 label 'Sequencia' column-label 'Seq'
    field ttv_cod_moed_fasb fasb                 AS as character format 'x(8)'
    field ttv_dat_fasb fasb                          AS DATE  as date format '99/99/9999'
    .
/* End_Include: i_tt_bem_invest_mga *//99/9999'

def var v_handle    as handle no-undo.

create tt_bem_invest_mga.
assign tt_bem_invest_mga.ttv_cod_empresa empresa           = "10"
           tt_bem_invest_mga.ttv_cod_estab estab                = "1"
           tt_bem_invest_mga.ttv_dat_aquis_bem_pat = today
           tt_bem_invest_mga.ttv_cdn_emit emit                 = 5
           tt_bem_invest_mga.ttv_cod_nota nota                 = "04062024"
           tt_bem_invest_mga.ttv_cod_natur_operac operac   = "6181A"
           tt_bem_invest_mga.ttv_cod_ser_nota nota          = "S"
           tt_bem_invest_mga.ttv_val_aquis_bem_pat = 129.99 //VALOR DO BEM
           tt_bem_invest_mga.ttv_cdn_unid_bem bem       = 5 //QUANTIDADE

           tt_bem_invest_mga.ttv_des_bem_pat pat         = "Primeiro Bem"
       
       

create tt_bem_invest_mga.
assign tt_bem_invest_mga.ttv_cod_empresa empresa           = "10"
           tt_bem_invest_mga.ttv_cod_estab estab                = "1"
           tt_bem_invest_mga.ttv_dat_aquis_bem_pat = today
           tt_bem_invest_mga.ttv_cdn_emit emit                 = 5
           tt_bem_invest_mga.ttv_cod_nota nota                 = "04062024"
           tt_bem_invest_mga.ttv_cod_natur_operac operac   = "6181A"
           tt_bem_invest_mga.ttv_cod_ser_nota nota          = "S"
           tt_bem_invest_mga.ttv_val_aquis_bem_pat = 1.99 //VALOR DO BEM
.99
           tt_bem_invest_mga.ttv_cdn_unid_bem bem        = 20 //QUANTIDADE
           tt_bem_invest_mga.ttv_des_bem_pat pat          = "Segundo Bem"
       . 
 

run prgfin\fas\fas791za.py persistent set v_hdl_program.

...


for each tt_log_erros no-lock:
      message "Seq.:  " tt_log_erros.ttv_num_seq skip
                     "Cod. Erro: " tt_log_erros.ttv_num_cod_erro skip
                     "Descrição Erro: " ttv_des_cod_erro skip
                     "AjudaDescrição Erro: " ttvtt_des_ajuda skip
                     view-as alert-box.
end.

CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Tela XXX
    1. Outras Ações / Ações relacionadas
  4. Tela XXX
    1. Principais Campos e Parâmetros
  5. Tabelas utilizadas

01. VISÃO GERAL

02. EXEMPLO DE UTILIZAÇÃO

03. TELA XXXXX

Outras Ações / Ações relacionadas

...

04. TELA XXXXX

Principais Campos e Parâmetros

...

Card documentos
InformacaoUse esse box para destacar informações relevantes e/ou de destaque.
TituloIMPORTANTE!

...

log_erros.ttv_des_erro skip
                     "Ajuda: " tt_log_erros.ttv_des_ajuda skip
                     view-as alert-box.
end.