Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Revertida da versão 144

Documento Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicoprgfin/fas/fas735zh

Objetivo

Criar bens patrimoniais no módulo de Ativo Fixo do EMS 5.

...

A sintaxe para a chamada da API é:

...

DEF VAR v_hdl_program

...

 AS HANDLE NO-UNDO.
DEF VAR v_cod_return   AS CHAR.
DEF VAR v_des_mensagem AS CHAR FORMAT "X(50)".

RUN prgfin\fas\fas735zh.py PERSISTENT SET v_hdl_program.
RUN pi_main_api_criacao_bem_pat_

...

14 IN v_hdl_program

...

                                        (INPUT 1,

...

                                         INPUT v_cod_matriz_trad_org_ext,

...

                                         INPUT v_cod_matriz_trad_ccusto_ext,

...

                                         INPUT v_cod_matriz_trad_finalid_ext,

...

                                         INPUT v_log_ctbz,

...

                                         INPUT TABLE tt_criacao_bem_pat_item_api

...

_2,
                                         INPUT TABLE tt_criacao_bem_pat_

...

                                         OUTPUT v_cod_return,

                                         OUTPUT v_des_mensagem).

DELETE PROCEDURE v_hdl_program.

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;

...

p_cod_matriz_trad_org_ext

...

Deve ser informada a matriz de tradução de unidade organizacional

...

P_cod_matriz_Trad_ccusto_ext

...

Deve ser informada a matriz de tradução de centros de custo

...

P_cod_matriz_trad_finalid_Ext

...

Deve ser informada a matriz de tradução de finalidade econômica

...

P_log_ctbz

...

Deve ser YES para assinalar o movimento como contabilizado. Deve ser NO para que o movimento de implenatação seja contabilizado

...

tt_criacao_bem_pat_item_api

...

Esta temp-table conterá os registros dos itens das notas fiscais vinculadas ao bem. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias.

...

tt_criacao_bem_pat_val_resid

...

Esta temp-table conterá os registros sobre os valores residuais do bem. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias.

...

P_cod_return

...

Retorna string “OK” se não ocorreram erros.

...

P_des_mensagem

...

Caso tenha ocorrido erro, retorna a mensagem de erro que provocou erro na criação dos bens. Normalmente erros da matriz de tradução são apresentados nesta mensagem. Erros deste tipo inviabilizam a criação de todos os bens na temp-table.

Observações:

...

val_resid_1,
                                         INPUT TABLE tt_criacao_bem_pat_img_1,
                                         INPUT TABLE tt_criacao_bem_pat_api_10,
                                         OUTPUT v_cod_return,
                                         OUTPUT v_des_mensagem).

DELETE PROCEDURE v_hdl_program.


OBS: Caso tenha migrado para base utilizando rowid e esteja utilizado uma versão inferior a 14 da API, deve ser definido a include abaixo:

/*-- Filtro RECID x ROWID Aplicado --*/
{include/i_fncrowid.i}

E todas variáveis do tipo RECID, devem serem definidas conforme o modelo abaixo:

field ttv_rec_bem                      as &IF "{&ROWID_READY}" = "YES" &THEN rowid &ELSE recid format ">>>>>>9" &ENDIF


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.

p_cod_matriz_trad_org_ext

Deve ser informada a matriz de tradução de unidade organizacional.

p_cod_matriz_trad_ccusto_ext

Deve ser informada a matriz de tradução de centros de custo.

p_cod_matriz_trad_finalid_ext

Deve ser informada a matriz de tradução de finalidade econômica.

p_log_ctbz

Deve ser YES para que o movimento de implantação seja contabilizado. Deve ser NO para que o movimento de implantação NÃO seja contabilizado.

tt_criacao_bem_pat_item_api_2

Esta temp-table conterá os registros dos itens das notas fiscais vinculadas ao bem patrimonial. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias.

tt_criacao_bem_pat_val_resid_1

Esta temp-table conterá os registros sobre os valores residuais do bem patrimonial. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias.

tt_criacao_bem_pat_img_1

Esta temp-table conterá os registros sobre as imagens do bem patrimonial. Deverá ser definida conforme os atributos mencionados a seguir, na seção Tabelas Temporárias.

Retorno

A API retornará na tabela temporária tt_erros_criacao_bem_pat_api_1 todos os erros encontrados ou mensagens de alerta gerados durante o processo de validação dos movimentos.

Quando ocorrer algum erro antes da criação dos bens este será retornado na variável p_des_mensagem.

 

Observações: 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. E para a correta visualização dos erros, todos os campos desta tabela devem ser impressos.

Tabelas Temporárias

Nos atributos das tabelas temporárias de entrada e saída:

O programa que irá executar a api_criar_bem_pat deverá conter e criar as seguintes tabelas temporárias:

1) Criação de Bem Patrimonial via API

Entrada/Saída7

Tabela Temporária

Descrição

tt_criacao_bem_pat_api_

Conterá as informações dos bens a serem implantados.

local

10Esta temp-table contém os registros dos bens patrimoniais que serão criados.

v_cod_return

Retorna string “OK” se não ocorreram erros.

v_des_mensagem

Caso tenha ocorrido erro, retorna a mensagem de erro que provocou erro na criação dos bens patrimoniais. Normalmente erros da matriz de tradução são apresentados nesta mensagem. Erros deste tipo inviabilizam a criação de todos os bens patrimoniais na temp-table.

Observações:

- Devem ser geradas algumas temp-tables no programa que chamará a API. Estas temp-tables conterão as informações sobre os bens patrimoniais que serão implantados no Ativo Fixo.


Retorno

A API retornará na tabela temporária tt_erros_criacao_bem_pat_api_1 todos os erros encontrados ou mensagens de alerta gerados durante o processo de validação dos movimentos.

Quando ocorrer algum erro antes da criação dos bens patrimoniais este será retornado na variável v_des_mensagem.

Observações: 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. E para a correta visualização dos erros, todos os campos desta tabela devem ser impressos.


Tabelas Temporárias

Nos atributos das tabelas temporárias de entrada e saída:

O programa que irá executar a api_criar_bem_pat deverá conter e criar as seguintes tabelas temporárias:


1) Criação de Bem Patrimonial via API

Tabela Temporária

Descrição

Entrada/Saída

tt_criacao_bem_pat_api_10

Conterá as informações dos bens patrimoniais a serem implantados.

Local

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

tta_cod_unid_organ

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

tta_cod_unid_organ_ext

character

x(3)

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

Sim

tta_cod_cta_pat

character

x(18)

Conta patrimonial

Sim

tta_num_bem_pat

integer

>>>>>>>>9

Número do bem. Caso seja informado 0 (zero) será atribuído automaticamente o número do próximo bem de acordo com parâmetros do ativo fixo.

Não

tta_num_seq_bem_pat

integer

>>>>9

Seqüência do bem. (idem observação acima).

Não

tta_des_bem_pat

character

x(40)

Descrição do bem

Sim

tta_dat_aquis_bem_pat

date

99/99/9999

Data de aquisição do bem

Sim

tta_cod_plano_ccusto

character

x(8)

Código do plano de centros de custo

Sim

tta_cod_ccusto

_ext

character

x(

8

3)

Código

do centro de custo externo (a ser traduzido

da unidade organizacional externa, ou seja, a empresa a ser traduzida pela matriz de tradução de

centros de custo)

unidade organizacional.

Sim


tta_cod_

estab

cta_

ext

pat

character

x(

8

18)

Código

do estabelecimento externo (a ser traduzido pela matriz de tradução de unidade organizacional)

da conta patrimonial.

Sim


tta_

cod

num_

unid_negoc_ext

character

x(8)

Código da Unidade de negócio

Sim

tta_cod_finalid_econ_ext

character

x(8)

Código da finalidade externa. (moeda do bem a ser traduzida pela matriz de tradução de finalidade)

Sim

bem_pat

integer

>>>>>>>>9

Número do bem patrimonial. Caso seja informado 0 (zero) será atribuído automaticamente o número do próximo bem patrimonial de acordo com parâmetros do ativo fixo.

Não


tta_num_seq_bem_pat

integer

>>>>9

Número da sequência do bem patrimonial. (Idem observação acima).

Não


tta_des

ttv_val_aquis

_bem_pat

decimal

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

Valor de aquisição do bem

(o valor do bem pode ser positivo no caso de bens do Ativo imobilizado ou negativo se o bem referir-se a item do patrimônio líquido)

Sim

character

x(40)

Descrição do bem patrimonial.

Sim


tta_dat_aquis_bem_pat

date

99/99/9999

Data de aquisição do bem patrimonial.

ttv_log_erro

logical

Sim/Não

Indicador de erro no bem. Deve ser criado como “Não”

Sim


tta_

qtd

cod_

bem

plano_

pat_represen

ccusto

decimal

>>>>>>>>9

Quantidade de bens

Não

tta_cdn_fornecedor

Integer

character

x(8)

Código do plano de centros de custo.

Sim


tta_cod_ccusto_ext

character

x(8)

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

Sim

>>>,>>>,>>9

Código numérico do fornecedor do bem

Não


tta_cod_

docto

estab_

entr

ext

character

x(8)

Número da nota fiscal

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

Sim

Não


tta_cod_

ser

unid_negoc_

nota

ext

character

x(

3

8)

Série da Nota fiscal

Código da unidade de negócio responsável pelo bem patrimonial.

Sim

Não


tta_

num

cod_

item

finalid_

docto

econ_

entr

ext

Integer

>>>,>>9

Número do item da nota fiscal

Não

character

x(8)

Código da finalidade externa / moeda do bem patrimonial a ser traduzida pela matriz de tradução de finalidade.

Sim


ttv_val_aquis

tta_num_id

_bem_pat

Integer

decimal

->>,>>>,>>>,>>9

Este atributo retorna o número interno

.99

Valor de aquisição do bem

. Não precisa ter o seu valor informado. Serve apenas como uma referência para localizar o bem criado na base de dados. Deve ser criado como 0 (zero)

patrimonial.

Importante: O valor do bem patrimonial pode ser positivo no caso de bens patrimoniais do Ativo imobilizado ou negativo se o bem patrimonial referir-se a item do patrimônio líquido.

Sim


ttv_log_erro

Sim

tta_des_narrat_Bem_pat

character

x(2000)

Narrativa do bem

Não

tta_log_bem_imptdo

logical

Sim/Não

Este atributo indica se o bem foi importado ou não.

Indicador de erro no bem patrimonial. Deve ser criado como “Não”

Sim


tta_qtd_

log

bem_

cr

pat_

pis

represen

logical

decimal

Sim/Não

Este atributo indica se o bem credita ou não PIS.

Obs.: Este atributo será utilizado somente no Brasil

Sim

>>>>>>>>9

Quantidade de bens patrimoniais

Não


tta_cdn_fornecedor

Integer

>>>,>>>,>>9

Código numérico do fornecedor do bem patrimonial

Não


tta_cod_docto_entr

character

x(8)

Número da nota fiscal

Não


tta_cod_ser_nota

character

x(3)

Série da Nota fiscal

Não

tta_log_cr_cofins

logical

Sim/Não

Este atributo indica se o bem credita ou não COFINS.

Obs.: Este atributo será utilizado somente no Brasil

Sim


tta_num_

parc

item_

pis

docto_

cofins

entr

integer

Integer

99

Este atributo indica se o credito de PIS e COFINS é parcelado.

Obs.: Depende que o Bem credite PIS ou COFINS.

O valor passado deverá ser 00 para não credita e 12 ou 48 vezes.

Sim

tta_val_cr_pis

decimal

>>>,>>>,>>9.99

Valor do PIS que a empresa poderá creditar

Sim

tta_val_cr_cofins

decimal

>>>,>>>,>>9.99

Valor do COFINS que a empresa poderá creditar

Sim

ttv_log_cr_csll

logical

Sim/Não

Credita CSLL

Sim

X

ttv_num_exerc_cr_csll

integer

99

Exerc. Crédito CSLL

Sim

X

tta_dat_calc_patdate99/99/9999Data de início de cálulo do bemNãotta_cb3_ident_visualcharx(20)Número da plaquetaNãotta_cod_estado_fisic_bem_patcharx(8)Estado físico do bemNãotta_cod_espec_bemchar x(6)Espécie do bemNãotta_cod_marcacharx(6)Marca do bemNãotta_cod_modelochar x(8)Modelo do bemNãotta_dat_avaliac_apol_segurodate99/99/9999Data de avaliação da apólice de seguroNãotta_val_avaliac_apol_segurodecimal->>,>>>,>>>,>>9.99Valor de avaliação da apólice de seguroNãotta_cod_licenc_usocharx(8)Licença de usoNãotta_cod_especif_teccharx(8)Especificação técnicaNãotta_cod_arrendadorcharx(6)ArrendadorNãotta_cod_contrat_leascharx(12)Contrato de LeasingNãotta_cod_localizcharx(12)Localização do bemNãotta_cod_imagemcharx(30)Imagem do bemNãottv_rec_idrecid>>>>>>9Recid do registro do bem criado na temp-tableSim

 

 

 

2) Tabela de erros

...

Tabela Temporária

...

Descrição

...

Entrada/Saída

...

tt_erros_criacao_bem_pat_api_1

...

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

...

New Shared

 

 

...

Atributo

...

Tipo

...

Formato

...

Descrição

...

Obrigatório

...

Evolução

...

tta_cod_unid_organ_ext

...

character

...

x(3)

...

Unid Organ Externa

...

tta_cod_cta_pat

...

character

...

x(18)

...

Conta Patrimonial

...

tta_num_bem_pat

...

integer

...

>>>>>>>>9

...

Bem Patrimonial

...

tta_num_seq_bem_pat

...

integer

...

>>>>9

...

Sequência Bem

...

tta_des_bem_pat

...

character

...

x(40)

...

Descrição Bem Patrimonial

...

tta_dat_aquis_bem_pat

...

date

...

99/99/9999

...

Data Aquisição

...

tta_cod_finalid_econ_ext

...

character

...

x(8)

...

Finalid Econ Externa

...

ttv_des_mensagem

...

character

...

x(50)

...

Mensagem de erro para o bem com a chave formada pelos atributos acima nesta temp table.

>>>,>>9

Número do item da nota fiscal

Não


tta_num_id_bem_pat

Integer

>>,>>>,>>9

Este atributo retorna o número interno do bem patrimonial. Não precisa ter o seu valor informado. Serve apenas como uma referência para localizar o bem patrimonial criado na base de dados. Deve ser criado como 0 (zero)

Sim


tta_des_narrat_Bem_pat

character

x(2000)

Narrativa do bem patrimonial

Não


tta_log_bem_imptdo

logical

Sim/Não

Este atributo indica se o bem patrimonial foi importado ou não.

Sim


tta_log_cr_pis

logical

Sim/Não

Este atributo indica se o bem patrimonial credita ou não PIS.

Importante: Este atributo será utilizado somente no Brasil

Sim


tta_log_cr_cofins

logical

Sim/Não

Este atributo indica se o bem patrimonial credita ou não COFINS.

Importante: Este atributo será utilizado somente no Brasil.

Sim


tta_num_parc_pis_cofins

integer

99

Este atributo indica se o credito de PIS e COFINS é parcelado.

Importante: Depende que o bem patrimonial credite PIS ou COFINS.

O valor passado deverá ser 00 para não credita ou 12 ou 48 vezes.

Sim


tta_val_cr_pis

decimal

>>>,>>>,>>9.99

Valor do PIS que a empresa poderá creditar.

Sim


tta_val_cr_cofins

decimal

>>>,>>>,>>9.99

Valor do COFINS que a empresa poderá creditar.

Sim


ttv_log_cr_csll

logical

Sim/Não

Credita CSLL

Sim

X

ttv_num_exerc_cr_csll

integer

99

Exercício de Crédito CSLL

Sim

X

tta_dat_calc_patdate99/99/9999Data de início de cálculo do bem patrimonial.Não
tta_cb3_ident_visualcharx(20)

Número da plaqueta que identifique o bem patrimonial.

Importante: Para todo bem patrimonial é atribuído um número de inventário, por uma das seguintes ordens:

a) Chapas de inventário;

b) Números pintados (no caso de veículos motorizados).

Não
tta_cod_estado_fisic_bem_patcharx(8)

Estado físico que o bem patrimonial apresenta no momento do registro da aquisição.

Não
tta_cod_espec_bemchar x(6)Espécie do bem patrimonial.Não
tta_cod_marcacharx(6)Marca correspondente ao bem patrimonial.Não
tta_cod_modelochar x(8)Código do modelo do bem patrimonial.Não
tta_dat_avaliac_apol_segurodate99/99/9999Data de avaliação da apólice de seguro.Não
tta_val_avaliac_apol_segurodecimal->>,>>>,>>>,>>9.99Valor de avaliação da apólice de seguro.Não
tta_cod_licenc_usocharx(8)Código da licença de uso.Não
tta_cod_especif_teccharx(8)Código da especificação técnica, quando o bem patrimonial exigir uma característica especial já detalhada em uma especificação.Não
tta_cod_arrendadorcharx(6)

Código do arrendador do bem patrimonial, quando o bem estiver associado a um Contrato de Leasing.

Não
tta_cod_contrat_leascharx(12)Código do contrato de Leasing.Não
tta_cod_localizcharx(12)

Código da localização física do bem patrimonial na empresa.

Não
tta_cod_imagemcharx(30)

Imagem do bem patrimonial.

Importante: A partir da versão 11, esse campo foi substituído pela temp-table tt_criacao_bem_pat_img_1 e será gravado em branco.

Não
ttv_row_idrowid
ROWID do registro do bem patrimonial criado na temp-table.Sim
tta_cod_natur_operaccharacterx(6)

Código da natureza de operação da nota fiscal.

Importante: Esse campo foi incluído a partir da versão 12.

Não
ttv_val_exc_icmsdecimal->>,>>>,>>>,>>9.99Valor de exclusão de ICMS da base de cálculo do PIS/COFINSNão

 

2) Tabela de erros

3) Itens de Documento de Entrada vinculados ao Bem

...

Tabela Temporária

...

Descrição

...

Entrada/Saída

...

tt_criacao_bem_pat_item_api

...

Conterá os registros dos itens das notas fiscais que serão vinculados ao bem.

...

Entrada

...

Atributo

...

Tipo

...

Formato

...

Descrição

...

Obrigatório

...

Evolução

...

ttv_rec_bem

...

recid

...

RECID do registro da temp-table tt_criacao_bem_pat_api_5, referente ao bem ao qual o item será vinculado

...

Sim

...

tta_cdn_fornecedor

...

integer

...

>>>,>>>,>>9

...

Código do fornecedor

...

Sim

...

tta_cod_docto_entr

...

character

...

x(8)

...

Código da nota fiscal

...

Sim

...

tta_cod_ser_nota

...

character

...

X(3)

...

Série da nota fiscal

...

Não

...

tta_num_item_docto_entr

...

integer

...

>>>,>>9

...

Número do item da nota fiscal

...

Sim

...

tta_qtd_item_docto_entr

...

Decimal

...

>>>>>>>>9

...

Quantidade do item vinculado ao bem

...

Sim

 

4) Valores Residuais do Bem

Tabela Temporária

Descrição

Entrada/Saída

tt_erros_criacao_bem_pat_valapi_resid1

Conterá os registros dos valores residuais do bem.as informações dos movimentos que não foram importados com a respectiva mensagem de erro.

New SharedEntrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_rec_bem

recid

RECID do registro da temp-table tt_criacao_bem_pat_api_5, referente ao bem ao qual o item será vinculado

Sim

tta_cod_unid_tiporgan_calcext

character

x(73)

Código do tipo de cálculoSimda unidade organizacional externa, ou seja, a empresa a ser traduzida pela matriz de tradução de unidade organizacional.



tta_cod_cenarcta_ctblpat

character

x(818)

Código do cenário contábilSimda conta patrimonial.



tta_codnum_finalidbem_econpat

character

X(10)

Código da finalidade econômica

integer

>>>>>>>>9

Código do bem patrimonial.Sim



tta_valnum_seq_residbem_minpat

integer

decimal

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

Valor residual mínimo

Sim

 

Execução

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

  • Versão de integração
    • API verificará se o programa chamador está integro com a API. Isto ocorre através da verificação da versão de integração passada como parâmetro
  • Estabelecimento
    • Será verificado se o estabelecimento é válido
  • Unidade de Negócio
    • Será verificado se a unidade de negócio é válida e se está vinculada ao estabelecimento
  • Centro de Custo
    • Valida o centro de custo informado e verifica se o usuário tem permissão para acessá-lo
  • Conta patrimonial
    • Verifica se a conta patrimonial informada é válida
  • Finalidade Econômica
    • Verifica se a finalidade econômica existe na matriz de tradução de finalidade informada
  • Fornecedor
    • Verifica, caso informado, se o fornecedor é válido
  • Documento de entrada (nota fiscal)
    • Verifica, caso informado, se o documento existem no sistema
  • Itens documento de entrada
    • Verifica, caso informado, se os itens de documento de entrada existem no sistema
    • Verifica se a quantidade dos itens de documento de entrada está disponível para vinculação
  • Número e sequência do bem
    • Verifica, caso informado, se já não existe um bem com o mesmo número no sistema. (levando em conta que a chave completa do bem é empresa, conta patrimonial, número do bem e sequência)
  • Data de cálculo
    • Quando informada será utilizada como data de início de cálculo do bem. Caso não seja informada a data de início de cálculos será a data de aquisição
  • Indicador econômico da apólice seguros
    • Caso não seja informado, será utilizado o indicador econômico informado para o bem
  • Data de avaliação da apólice de seguros
    • Caso não seja informado, será utilizado o valor original informado para o bem
  • Estado físico do bem
    • Valida se o estado físico informado existe no sistema
  • Espécie do bem
    • Valida se a espécie informada existe no sistema
  • Marca do bem
    • Valida se a marca informada existe no sistema
  • Modelo do bem
    • Valida se o modelo informado existe no sistema
  • Licença de uso
    • Valida se a licença de uso informada existe no sistema
  • Especificação técnica do bem
    • Valida se a especificação técnica informada existe para o bem
  • Arrendador
    • Valida se o arrendador informado existe no sistema
  • Contrato de leasing
    • Valida se o contrato de leasing informado existe no sistema
  • Localização do bem
    • Valida se a localização informada existe no sistema

Leitura e Criação dos Registros

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

>>>>9

Sequência do bem patrimonial.



tta_des_bem_pat

character

x(40)

Descrição do bem patrimonial.



tta_dat_aquis_bem_pat

date

99/99/9999

Data da aquisição do bem patrimonial.



tta_cod_finalid_econ_ext

character

x(8)

Código da Finalidade Econômica Externa.



ttv_des_mensagem

character

x(50)

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




3) Itens de Documento de Entrada vinculados ao bem patrimonial

Tabela Temporária

Descrição

Entrada/Saída

tt_criacao_bem_pat_item_api_2

Conterá os registros dos itens das notas fiscais que serão vinculados ao bem patrimonial.

Entrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_row_bem

rowid


ROWID do registro da temp-table tt_criacao_bem_pat_api_5, referente ao bem patrimonial ao qual o item será vinculado.

Sim


tta_cdn_fornecedor

integer

>>>,>>>,>>9

Código que represente um fornecedor a qual o movimento está associado.

Sim


tta_cod_docto_entr

character

x(8)

Código ou número do documento/nota fiscal.

Sim


tta_cod_ser_nota

character

X(5)

Série da nota fiscal.

Não


tta_num_item_docto_entr

integer

>>>,>>9

Número do item da nota fiscal.

Sim


tta_cod_natur_operaccharacterx(6)

Código da natureza de operação da nota fiscal.

Importante: Esse campo foi incluído a partir da versão 12.

Não

tta_qtd_item_docto_entr

Decimal

>>>>>>>>9

Quantidade do item vinculado ao bem patrimonial.

Sim


 

4) Valores Residuais do bem patrimonial

Tabela Temporária

Descrição

Entrada/Saída

tt_criacao_bem_pat_val_resid_1

Conterá os registros dos valores residuais do bem patrimonial.

Entrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_row_bem

rowid


ROWID do registro da temp-table tt_criacao_bem_pat_api_5, referente ao bem patrimonial ao qual o item será vinculado.

Sim


tta_cod_tip_calc

character

x(7)

Código do tipo de cálculo do bem patrimonial.

Sim


tta_cod_cenar_ctbl

character

x(8)

Código do cenário contábil do bem patrimonial, conforme cadastro no UTB076AA/UFN0203AA/UTB304AA - Cenário Contábil.

Sim


tta_cod_finalid_econ

character

X(10)

Código da finalidade econômica do bem patrimonial.

Sim


tta_val_resid_min

decimal

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

Valor residual mínimo do bem patrimonial.

Exemplo: Um determinado bem patrimonial, por exemplo, um microcomputador, já registrou toda a devida depreciação, não apresentando nenhum valor a depreciar. Para o objetivo de depreciação, esse bem não expressa mais valor, mas para a finalidade de venda, será vendido por um preço/valor. Este valor é o Residual Mínimo.

Sim



5) Imagens do bem patrimonial

Tabela Temporária

Descrição

Entrada/Saída

tt_criacao_bem_pat_img_1

Conterá os registros das imagens do bem patrimonial.

Entrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_row_bem

rowid


ROWID do registro da temp-table tt_criacao_bem_pat_api_5, referente ao bem patrimonial ao qual o item será vinculado.

Sim


tta_des_imagem

character

x(40)

Descrição ou um detalhe a especificar a respeito da imagem do bem patrimonial com até 40 caracteres alfanuméricos.

Sim


tta_dat_img

date

99/99/9999

Data da imagem do bem patrimonial.

Não


tta_log_princ

logical

Sim/Não

Indica que a imagem em questão é a principal relacionada ao bem patrimonial.

Importante: É possível incluir 1 ou várias imagens associadas ao bem patrimonial, porém somente umas delas pode ser definida com a principal imagem - Campo Principal igual a Sim.

Sim
tta_nom_arqcharacterx(100)

Nome do arquivo da imagem relacionada ao bem patrimonial.

Sim


tta_des_obscharacterx(200)Espaço disponível para anotações ou observações a respeito da imagem do bem patrimonial que está sendo implementada.Não


Execução

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

  • Versão de integração
    • API verificará se o programa chamador está integro com a API. Isto ocorre através da verificação da versão de integração passada como parâmetro.
  • Estabelecimento
    • Será verificado se o estabelecimento é válido.
  • Unidade de Negócio
    • Será verificado se a unidade de negócio é válida e se está vinculada ao estabelecimento.
  • Centro de Custo
    • Valida o centro de custo informado e verifica se o usuário tem permissão para acessá-lo.
  • Conta patrimonial
    • Verifica se a conta patrimonial informada é válida.
  • Finalidade Econômica
    • Verifica se a finalidade econômica existe na matriz de tradução de finalidade informada.
  • Fornecedor
    • Verifica, caso informado, se o fornecedor é válido.
  • Documento de entrada (nota fiscal)
    • Verifica, caso informado, se o documento existem no sistema.
  • Itens documento de entrada
    • Verifica, caso informado, se os itens de documento de entrada existem no sistema.
    • Verifica se a quantidade dos itens de documento de entrada está disponível para vinculação.
  • Número e sequência do bem patrimonial
    • Verifica, caso informado, se já não existe um bem patrimonial com o mesmo número no sistema. (levando em conta que a chave completa do bem patrimonial é empresa, conta patrimonial, número do bem patrimonial e sequência).
  • Data de cálculo
    • Quando informada será utilizada como data de início de cálculo do bem patrimonial. Caso não seja informada a data de início de cálculos será a data de aquisição.
  • Indicador econômico da apólice seguros
    • Caso não seja informado, será utilizado o indicador econômico informado para o bem patrimonial.
  • Data de avaliação da apólice de seguros
    • Caso não seja informado, será utilizado o valor original informado para o bem patrimonial.
  • Estado físico do bem patrimonial
    • Valida se o estado físico informado existe no sistema.
  • Espécie do bem patrimonial
    • Valida se a espécie informada existe no sistema.
  • Marca do bem patrimonial
    • Valida se a marca informada existe no sistema.
  • Modelo do bem patrimonial
    • Valida se o modelo informado existe no sistema.
  • Licença de uso
    • Valida se a licença de uso informada existe no sistema.
  • Especificação técnica do bem patrimonial
    • Valida se a especificação técnica informada existe para o bem patrimonial.
  • Arrendador
    • Valida se o arrendador informado existe no sistema.
  • Contrato de leasing
    • Valida se o contrato de leasing informado existe no sistema.
  • Localização do bem patrimonial
    • Valida se a localização informada existe no sistema.


Leitura e Criação dos Registros

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

/* Esta temp-table (tt_criacao_bem_pat_api_5) somente precisa estar declarada no programa chamador como NEW SHARED, mas nao precisa ser alimentada.
  Ela se faz necessario devido a questões tecnicas */
DEF NEW shared temp-table tt_criacao_bem_pat_api_5 no-undo
    field tta_cod_unid_organ_ext           as character format "x(5)" label "Unid Organ Externa" column-label "Unid Organ Externa"
    field tta_cod_cta_pat                  as character format "x(18)" label "Conta Patrimonial" column-label "Conta Patrimonial"
    field tta_num_bem_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_des_bem_pat                  as character format "x(40)" label "Descrição Bem Pat" column-label "Descrição Bem Pat"
    field tta_dat_aquis_bem_pat            as date format "99/99/9999" initial today label "Data Aquisição" column-label "Dat Aquis"
    field tta_cod_plano_ccusto             as character format "x(8)" label "Plano Centros Custo" column-label "Plano Centros Custo"
    field tta_cod_ccusto_ext               as character format "x(8)" label "Centro Custo Externo" column-label "CCusto Externo"
    field tta_cod_estab_ext                as character format "x(8)" label "Estabelecimento Exte" column-label "Estabelecimento Ext"
    field tta_cod_unid_negoc_ext           as character format "x(8)" label "Unid Negócio Externa" column-label "Unid Negócio Externa"
    field tta_cod_finalid_econ_ext         as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"
    field ttv_val_aquis_bem_pat            as decimal format "->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Aquisição Bem" column-label "Aquisição Bem"
    field ttv_log_erro                     as logical format "Sim/Não" initial yes
    field tta_qtd_bem_pat_represen         as decimal format ">>>>>>>>9" initial 1 label "Quantidade Bens Representados" column-label "Bem Represen"
    field tta_cdn_fornecedor               as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"
    field tta_cod_docto_entr               as character format "x(8)" label "Docto Entrada" column-label "Docto Entrada"
    field tta_cod_ser_nota                 as character format "x(5)" label "Série Nota" column-label "Série Nota"
    field tta_num_item_docto_entr          as integer format ">>>,>>9" initial 0 label "Numero Item" column-label "Num Item"
    field tta_num_id_bem_pat               as integer format ">>,>>>,>>9" initial 0 label "Identificação Bem" column-label "Identificação Bem"
    field tta_des_narrat_bem_pat           as character format "x(2000)" label "Narrativa Bem" column-label "Narrativa Bem"
    field tta_log_bem_imptdo               as logical format "Sim/Não" initial no label "Bem Importado" column-label "Bem Importado"
    field tta_log_cr_pis                   as logical format "Sim/Não" initial no label "Credita PIS" column-label "Credita PIS"
    field tta_log_cr_cofins                as logical format "Sim/Não" initial no label "Credita COFINS" column-label "Credita COFINS"
    field ttv_num_parc_pis_cofins          as integer format "999" initial 0 label "Nro Parcelas" column-label "Nro Parcelas"
    field tta_val_cr_pis                   as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Cred PIS/PASEP" column-label "Vl Cred PIS/PASEP"
    field tta_val_cr_cofins                as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Crédito COFINS" column-label "Credito COFINS"
    field ttv_log_cr_csll                  as logical format "Sim/Não" initial no label "Credita CSLL" column-label "Credita CSLL"
    field ttv_num_exerc_cr_csll            as integer format "99" label "Exerc. Crédito CSLL" column-label "Exerc. Crédito CSLL"
    .

/* Esta temp-table (tt_criacao_bem_pat_api_10) conter  os registros dos bens patrimoniais a serem criados no sistema */
def temp-table tt_criacao_bem_pat_api_10 no-undo
    field tta_cod_unid_organ_ext           as character format "x(5)" label "Unid Organ Externa" column-label "Unid Organ Externa"
    field tta_cod_cta_pat                  as character format "x(18)" label "Conta Patrimonial" column-label "Conta Patrimonial"
    field tta_num_bem_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_des_bem_pat                  as character format "x(40)" label "Descri‡Æo Bem Pat" column-label "Descri‡Æo Bem Pat"
    field tta_dat_aquis_bem_pat            as date format "99/99/9999" initial today label "Data Aquisi‡Æo" column-label "Dat Aquis"
    field tta_cod_plano_ccusto   DEF NEW shared temp-table tt_criacao_bem_pat_api_5 no-undo
    field tta_cod_unid_organ_ext           as character format "x(58)" label "Unid Organ ExternaPlano Centros Custo" column-label "Unid Organ ExternaPlano Centros Custo"
    field tta_cod_ctaccusto_pat ext                  as as character format "x(188)" label "Conta PatrimonialCentro Custo Externo" column-label "Conta PatrimonialCCusto Externo"
    field tta_numcod_bemestab_pat ext                  as integer character format ">>>>>>>>9" initial 0 x(8)" label "Bem PatrimonialEstabelecimento Exte" column-label "BemEstabelecimento Ext"
    field tta_numcod_sequnid_bemnegoc_pat ext              as integer as character format ">>>>9" initial 0 label "Sequência Bemx(8)" label "Unid Neg¢cio Externa" column-label "SequênciaUnid Neg¢cio Externa"
    field tta_descod_finalid_bemecon_pat ext                  as as character format "x(408)" label "Descrição Bem PatFinalid Econ Externa" column-label "Descrição Bem PatFinalidade Externa"
    field ttattv_datval_aquis_bem_pat            as date decimal format "99/99/9999" initial today label "Data Aquisição->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Aquisi‡Æo Bem" column-label "Dat Aquis""Aquisi‡Æo Bem"
    field ttv_log_erro                     as logical format "Sim/NÆo" initial yes
    field tta_codqtd_bem_planopat_ccusto     represen         as character decimal format "x(8)" label "Plano Centros Custo>>>>>>>>9" initial 1 label "Quantidade Bens Representados" column-label "Plano Centros CustoBem Represen"
    field tta_codcdn_ccusto_ext fornecedor               as character Integer format "x(8)" label "Centro Custo Externo>>>,>>>,>>9" initial 0 label "Fornecedor" column-label "CCusto ExternoFornecedor"
    field tta_cod_estabdocto_ext entr                as as character format "x(8)" label "Estabelecimento ExteDocto Entrada" column-label "Estabelecimento ExtDocto Entrada"
    field tta_cod_unid_negoc_ext ser_nota                 as character format "x(85)" label "Unid Negócio ExternaS‚rie Nota" column-label "Unid Negócio ExternaS‚rie Nota"
    field tta_codnum_finaliditem_econdocto_ext entr         as character  as integer format "x(8)" label "Finalid Econ Externa>>>,>>9" initial 0 label "Numero Item" column-label "Finalidade ExternaNum Item"
    field ttvtta_valnum_aquisid_bem_pat                as decimal as integer format "->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Aquisição Identifica‡Æo Bem" column-label "Aquisição Identifica‡Æo Bem"
    field ttv_log_erro   tta_des_narrat_bem_pat                   as logical format "Sim/Não" initial yescharacter format "x(2000)" label "Narrativa Bem" column-label "Narrativa Bem"
    field tta_qtdlog_bem_pat_represen imptdo               as decimal logical format ">>>>>>>>9Sim/NÆo" initial 1 no label "Quantidade Bens RepresentadosBem Importado" column-label "Bem RepresenImportado"
    field tta_cdn_fornecedor log_cr_pis                   as Integer logical format ">>>,>>>,>>9Sim/NÆo" initial 0 no label "FornecedorCredita PIS" column-label "FornecedorCredita PIS"
    field tta_codlog_doctocr_entr cofins               as character  as logical format "x(8)" label "Docto EntradaSim/NÆo" initial no label "Credita COFINS" column-label "Docto EntradaCredita COFINS"
    field ttattv_num_codparc_serpis_nota cofins                 as character  as integer format "x(5)" 999" initial 0 label "Série NotaNro Parcelas" column-label "Série NotaNro Parcelas"
    field tta_numval_item_docto_entr cr_pis                    as integer as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Numero ItemValor Cred PIS/PASEP" column-label "Num ItemVl Cred PIS/PASEP"
    field tta_numval_idcr_bem_pat cofins               as integer  as decimal format ">>>>>,>>>,>>9.99" decimals 2 initial 0 label "Identificação BemValor Cr‚dito COFINS" column-label "Identificação BemCredito COFINS"
    field tta_desval_narrat_bem_pat base_pis                 as character decimal format "x(2000)" label "Narrativa Bem>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Base PIS/PASEP" column-label "Narrativa BemVl Base PIS/PASEP"
    field tta_logval_bembase_imptdo cofins               as logical format "Sim/Não" initial no label "Bem Importado as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Base COFINS" column-label "Bem ImportadoBase COFINS"
    field ttattv_log_cr_pis csll                   as  as logical format "Sim/NãoNÆo" initial no label "Credita PISCSLL" column-label "Credita PISCSLL"
    field ttattv_num_logexerc_cr_cofins csll                as logical integer format "Sim/Não99" initial no label "Credita COFINSExerc. Cr‚dito CSLL" column-label "Credita COFINSExerc. Cr‚dito CSLL"
    field ttvtta_numdat_parc_pis_cofins calc_pat                  as integer as date format "99999/99/9999" initial 0 today label "Nro ParcelasData C lculo" column-label "Nro ParcelasData C lculo"
    field tta_valcb3_crident_pis visual                   as decimal Character format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Cred PIS/PASEPx(20)" initial ? label "N£mero Plaqueta" column-label "Vl Cred PIS/PASEPN£mero Plaqueta"
    field tta_cod_estado_valfisic_crbem_cofins pat                as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Crédito COFINSas character format "x(8)" label "Estado F¡sico" column-label "Credito COFINSEstado F¡sico"
    field ttvtta_logcod_crespec_csll bem                  as logical character format "Sim/Não" initial no label "Credita CSLLx(6)" label "Esp‚cie Bem Patrimonial" column-label "Credita CSLLEsp‚cie"
    field ttvtta_num_exerc_cr_csll cod_marca                    as integer character format "99x(6)" label "Exerc. Crédito CSLLMarca" column-label "Exerc. Crédito CSLLMarca"
    .def temp-table tt_criacao_bem_pat_api_7 no-undo
    field tta_cod_unid_organ_ext modelo                   as character format "x(58)" label "Unid Organ ExternaModelo" column-label "Unid Organ ExternaModelo"
    field tta_coddat_avaliac_ctaapol_pat seguro                  as character format "x(18)" label "Conta Patrimonial as date format "99/99/9999" initial today label "Data Avalia‡Æo Apol" column-label "Conta PatrimonialData Avalia‡Æo Apol"
    field tta_val_numavaliac_bem_pat             apol_seguro      as integer decimal format ">>>>>>>>9" ->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Bem PatrimonialValor Avalia‡Æo Apol" column-label "BemValor Avalia‡Æo Apol"
    field tta_numcod_seq_bem_pat licenc_uso                as integer as character format ">>>>9" initial 0 x(12)" label "Sequência BemLicen‡a Uso" column-label "SequênciaLicen Uso"
    field tta_descod_bemespecif_pat     tec              as character format "x(408)" label "Descrição Bem PatEspecifica‡Æo T‚cnica" column-label "Descrição Bem PatEspecifica‡Æo T‚cnica"
    field tta_dattta_aquis_bem_pat cod_arrendador                as date as character format "99/99/9999" initial today label "Data Aquisiçãox(6)" label "Arrendador" column-label "Dat AquisArrendador"
    field tta_cod_planocontrat_ccusto leas             as character format "x(812)" label "Plano Centros CustoContrato Leasing" column-label "Plano Centros CustoContr Leas"
    field tta_cod_ccusto_ext localiz                 as  as character format "x(812)" label "Centro Custo ExternoLocaliza‡Æo" column-label "CCusto ExternoLocaliza‡Æo"
    field tta_cod_estab_ext imagem                    as as character format "x(830)" label "Estabelecimento ExteImagem" column-label "Estabelecimento ExtImagem"
    field ttv_row_id                       as Rowid
    field tta_cod_unid_negoc_ext natur_operac             as character format "x(86)" label "Unid Negócio ExternaNatureza Opera‡Æo" column-label "Unid Negócio ExternaNatureza Opera‡Æo"
    field ttattv_codval_finalid_econ_ext exc_icms                 as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"
    field ttv_val_aquis_bem_pat            as decimal format "->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Aquisição Bem" column-label "Aquisição Bem"decimal format "->>,>>>,>>>,>>9.99" decimals 2 label "Valor ExclusÆo ICMS" column-label "Valor ExclusÆo ICMS"
    .

/* Esta temp-table (tt_criacao_bem_pat_item_api_2) conter  os itens do documento de entrada a serem vinculados aos bens patrimoniais. Não é obrigatório criar registros nesta temp-table */ 
def temp-table tt_criacao_bem_pat_item_api_2 no-undo
    field ttv_logrow_erro bem                     as logical format "Sim/Não" initial yes
    field tta_qtd_bem_pat_represen         as decimal format ">>>>>>>>9" initial 1 label "Quantidade Bens Representados" column-label "Bem Represen" as Rowid
    field tta_cdn_fornecedor               as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"
    field tta_cod_docto_entr               as character format "x(8)" label "Docto Entrada" column-label "Docto Entrada"
    field tta_cod_ser_nota                 as character format "x(5)" label "S‚rie Nota" label "Série Notacolumn-label "S‚rie Nota"
    field tta_num_item_docto_entr          as integer format ">>>,>>9" initial 0 label "Numero Item" column-label "Num Item"
    field tta_cod_natur_operac             as character format "x(6)" label "Natureza Opera‡Æo" column-label "Série NotaNatureza Opera‡Æo"
    field tta_numqtd_item_docto_entr          as integer decimal format ">>>,>>9>>>>>>>>9" initial 0 label "Numero Qtde Item Docto" column-label "Num Qtde Item Docto"
    field tta_num_id_bem_pat index tt_id                            is primary unique
          ttv_row_bem                      ascending
          tta_cdn_fornecedor               as integer format ">>,>>>,>>9" initial 0 label "Identificação Bem" column-label "Identificação Bem"
    field tta_des_narrat_bem_pat ascending
          tta_cod_docto_entr               as character format "x(2000)" label "Narrativa Bem" column-label "Narrativa Bem"ascending
    field       tta_logcod_bemser_imptdo nota                 as logical format "Sim/Não" initial no label "Bem Importado" column-label "Bem Importado"
    field tta_log_cr_pis ascending
          tta_num_item_docto_entr                   as logical format "Sim/Não" initial no label "Credita PIS" column-label "Credita PIS"
    field tta_log_cr_cofins  ascending
          tta_cod_natur_operac             ascending
     as logical format "Sim/Não" initial no label "Credita COFINS" column-label "Credita COFINS".

/* Esta temp-table (tt_criacao_bem_pat_val_resid_1) conter  os valores residuais dos bens patrimoniais a serem criados no sistema. Não é obrigatório criar registros nesta temp-table */ 
def temp-table tt_criacao_bem_pat_val_resid_1 no-undo
    field ttv_num_parc_pis_cofins row_bem                      as integer format "999" initial 0 label "Nro Parcelas" column-label "Nro Parcelas"Rowid
    field tta_valcod_crtip_pis calc                   as decimal character format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Cred PIS/PASEPx(7)" label "Tipo C lculo" column-label "Vl Cred PIS/PASEPTipo C lculo"
    field tta_valcod_crcenar_cofins ctbl                as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Crédito COFINSas character format "x(8)" label "Cen rio Cont bil" column-label "Credito COFINSCen rio Cont bil"
    field tta_valcod_basefinalid_pis econ                 as decimal character format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Base PIS/PASEPx(10)" label "Finalidade" column-label "Vl Base PIS/PASEPFinalidade"
    field tta_val_baseresid_cofins min                as decimal format "->>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Base COFINSResidual M¡nimo" column-label "Base COFINS"
    field ttv_log_cr_csll Residual"
    index tt_id                            is primary unique
          ttv_row_bem                      ascending
          tta_cod_tip_calc                  as logical format "Sim/Não" initial no label "Credita CSLL" column-label "Credita CSLL"ascending
    field ttv_num_exerc_cr_csll       tta_cod_cenar_ctbl               ascending
          tta_cod_finalid_econ             ascending
    .

/* Esta temp-table (tt_criacao_bem_pat_img_1) conter  as imagens dos bens patrimoniais a serem criados no sistema. Não é obrigatório criar registros nesta temp-table */ 
def temp-table tt_criacao_bem_pat_img_1 no-undo
    field ttv_row_bem                      as Rowid  as integer format "99" label "Exerc. Crédito CSLL" column-label "Exerc. Crédito CSLL"
    field tta_dat_calc_pat                 as date format "99/99/9999" initial today label "Data Cálculo" column-label "Data Cálculo"
    field tta_cb3_ident_visual             as Character format "x(20)" initial ? label "Número Plaqueta" column-label "Número Plaqueta"
    field tta_cod_estado_fisic_bem_pat des_imagem                   as character format "x(840)" label "Estado FísicoDescri‡Æo" column-label "Estado FísicoDescri‡Æo"
    field tta_cod_espec_bem dat_img                      as character date format "x(6)" label "Espécie Bem Patrimonial99/99/9999" initial ? label "Data Imagem" column-label "EspécieData Imagem"
    field tta_codlog_marca princ                    as character logical format "x(6)" Sim/NÆo" initial no label "MarcaPrincipal" column-label "MarcaPrincipal"
    field tta_codnom_arq_modelo img                   as  as character format "x(8200)" label "ModeloArquivo Imagem" column-label "ModeloArquivo"
    field tta_dat_avaliac_apol_seguro des_obs                      as date character format "99/99/9999" initial today label "Data Avaliação Apolx(255)" label "Observa‡Æo" column-label "Data Avaliação ApolObserva‡Æo"
    .

/* Esta temp-table (tt_erros_criacao_bem_pat_api_1) ser  criada pela API e conter  os erros ocorridos durante a criaçåo dos bens patrimoniais */
DEF NEW shared temp-table tt_erros_criacao_bem_pat_api_1 no-undo field tta_val_avaliac_apol_seguro      as decimal format "->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Avaliação Apol" column-label "Valor Avaliação Apol"
    field tta_cod_licenc_uso     unid_organ_ext           as character format "x(125)" label "Licença UsoUnid Organ Externa" column-label "Licen UsoUnid Organ Externa"
    field tta_cod_especifcta_tec pat                  as character format "x(818)" label "Especificação TécnicaConta Patrimonial" column-label "Especificação TécnicaConta Patrimonial"
    field tta_cod_arrendador num_bem_pat                 as character  as integer format "x(6)" >>>>>>>>9" initial 0 label "ArrendadorBem Patrimonial" column-label "ArrendadorBem"
    field tta_codnum_seq_contratbem_leas pat             as character  as integer format "x(12)" >>>>9" initial 0 label "Contrato LeasingSequŒˆncia Bem" column-label "Contr LeasSequŒˆncia"
    field tta_des_codbem_localiz pat                  as character format "x(1240)" label "LocalizaçãoDescriŒ‡ÔÇÖo Bem Pat" column-label "LocalizaçãoDescriŒ‡ÔÇÖo Bem Pat"
    field tta_cod_imagem dat_aquis_bem_pat                   as character format "x(30)" label "Imagem as date format "99/99/9999" initial today label "Data AquisiŒ‡ÔÇÖo" column-label "ImagemDat Aquis"
    field ttvtta_rec_id                              as recid
    .cod_finalid_econ_ext         as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"def temp-table tt_criacao_bem_pat_item_api no-undo
    field ttv_recdes_bem mensagem                      as recid format ">>>>>>9as character format "x(50)" label "Mensagem" column-label "Mensagem"
    field tta_cdn_fornecedor               as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"
    field tta_cod_docto_entr               as character format "x(8)" label "Docto Entrada" column-label "Docto Entrada"
    field tta_cod_ser_nota .

DEF VAR v_cod_return   AS CHAR FORMAT "X(40)" NO-UNDO.
DEF VAR v_des_mensagem AS CHAR FORMAT "X(50)" NO-UNDO.
DEF VAR v_hdl_program  AS HANDLE NO-UNDO.

CREATE tt_criacao_bem_pat_api_10.
ASSIGN tt_criacao_bem_pat_api_10.tta_cod_unid_organ_Ext       = "10"
       tt_criacao_bem_pat_api_10.tta_cod_cta_pat                 as character format "x(5)" label "Série Nota" column-label "Série Nota"
    field = "034"
       tt_criacao_bem_pat_api_10.tta_num_itembem_docto_entr pat          as integer format ">>>,>>9" initial 0 label "Numero Item" column-label "Num Item"
    field tta_qtd_item_docto_entr          as decimal format ">>>>>>>>9" initial 0 label "Qtde Item Docto" column-label "Qtde Item Docto"
    index tt_id  = 224885
       tt_criacao_bem_pat_api_10.tta_num_seq_bem_pat          = 1
       tt_criacao_bem_pat_api_10.tta_des_bem_pat            is primary unique
          ttv_rec_bem                      ascending
          tta_cdn_fornecedor               ascending
          tta_cod_docto_entr               ascending
          tta_cod_ser_nota                 ascending
          tta_num_item_docto_entr          ascending
    .

def temp-table tt_criacao_bem_pat_val_resid no-undo
    field ttv_rec_bem                      as recid format ">>>>>>9"
    field tta_cod_tip_calc                 as character format "x(7)" label "Tipo Cálculo" column-label "Tipo Cálculo"
    field tta_cod_cenar_ctbl               as character format "x(8)" label "Cenário Contábil" column-label "Cenário Contábil"
    field tta_cod_finalid_econ             as character format "x(10)" label "Finalidade" column-label "Finalidade"
    field tta_val_resid_min                as decimal format "->>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Residual Mínimo" column-label "Residual"
    index tt_id                            is primary unique
          ttv_rec_bem                      ascending
          tta_cod_tip_calc                 ascending
          tta_cod_cenar_ctbl               ascending
          tta_cod_finalid_econ             ascending
    .

DEF NEW shared temp-table tt_erros   = "Teste API - " + STRING(TODAY) + ' # ' + STRING(TIME,"hh:mm")
       tt_criacao_bem_pat_api_10.tta_dat_aquis_bem_pat        = 07/01/2023
       tt_criacao_bem_pat_api_10.tta_cod_plano_ccusto         = "Alfa"
       tt_criacao_bem_pat_api_10.tta_cod_ccusto_ext           = "31400"
       tt_criacao_bem_pat_api_10.tta_cod_estab_ext            = "1"
       tt_criacao_bem_pat_api_10.tta_cod_unid_negoc_ext       = "999"
       tt_criacao_bem_pat_api_10.tta_cod_finalid_econ_ext     = "0"
       tt_criacao_bem_pat_api_10.ttv_val_aquis_bem_pat        = 50000
       tt_criacao_bem_pat_api_10.ttv_log_erro                 = no
       tt_criacao_bem_pat_api_10.tta_qtd_bem_pat_represen     = 1
       tt_criacao_bem_pat_api_10.tta_cdn_fornecedor           = 1
       tt_criacao_bem_pat_api_10.tta_num_id_bem_pat           = 0
       tt_criacao_bem_pat_api_10.tta_des_narrat_Bem_pat       = ""
       tt_criacao_bem_pat_api_10.tta_log_cr_cofins            = NO
       tt_criacao_bem_pat_api_10.tta_log_cr_pis               = NO
       tt_criacao_bem_pat_api_10.ttv_num_parc_pis_cofins      = 0
       tt_criacao_bem_pat_api_10.tta_val_cr_pis               = 0
       tt_criacao_bem_pat_api_1 no-undo
    field 10.tta_codval_unid_organ_ext cr_cofins             as character format "x(5)" label "Unid Organ Externa" column-label "Unid Organ Externa"
    field = 0
       tt_criacao_bem_pat_api_10.tta_cod_ctadocto_pat entr                  as character format "x(18)" label "Conta Patrimonial" column-label "Conta Patrimonial= "3232"
    field tta   tt_numcriacao_bem_pat_api_10.tta_cod_ser_nota                  as integer format ">>>>>>>>9" initial 0 label "Bem Patrimonial" column-label "Bem"
    field = 'u'
       tt_criacao_bem_pat_api_10.tta_num_seqitem_bemdocto_pat entr              as integer format ">>>>9" initial 0 label "Sequência Bem" column-label "Sequência"
    field tta_des_bem= 20
       tt_criacao_bem_pat_api_10 .tta_dat_calc_pat                  as character format "x(40)" label "Descrição Bem Pat" column-label "Descrição Bem Pat"
    field tta_dat_aquis_bem_pat            as date format "99/99/9999" initial today label "Data Aquisição" column-label "Dat Aquis"
    field tta_cod_finalid_econ_ext         as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"
    field ttv_des_mensagem = 07/01/2023
       tt_criacao_bem_pat_api_10.tta_cb3_ident_visual         = '12345678'
       tt_criacao_bem_pat_api_10.tta_cod_estado_fisic_bem_pat = "ATIVO"
       tt_criacao_bem_pat_api_10.tta_cod_espec_bem            = '004' 
       tt_criacao_bem_pat_api_10.tta_cod_marca                 as character format "x(50)" label "Mensagem" column-label "Mensagem"
    .

def var v_hdl_program AS HANDLE NO-UNDO.
def var p_cod_return   as char.
def var p_des_mensagem as char format "x(50)".

 
        create tt= 'COMPAQ'
       tt_criacao_bem_pat_api_10.tta_cod_modelo               = "LS1"
       tt_criacao_bem_pat_api_7.10.tta_dat_avaliac_apol_seguro  = 07/01/2023
        assign tt tt_criacao_bem_pat_api_710.tta_codval_unidavaliac_organapol_Ext     seguro  = "10"
        50000
       tt_criacao_bem_pat_api_710.tta_cod_Ctalicenc_pat uso              = "034"
    = '1'
           tt_criacao_bem_pat_api_710.tta_numcod_bemespecif_pat     tec          = 220815'1'
               tt_criacao_bem_pat_api_710.tta_num_seq_bem_pat cod_arrendador           = 1'10'
               tt_criacao_bem_pat_api_710.tta_descod_bem_pat       contrat_leas         = "Teste API - " + STRING(TODAY) + ' # ' + STRING(TIME,"hh:mm")'120220'
               tt_criacao_bem_pat_api_710.tta_dat_aquis_bem_pat cod_localiz              = TODAY 'VIDRO- 31
        01'
       tt_criacao_bem_pat_api_710.tta_cod_plano_ccusto imagem         = "Alfa"
        = ''
       tt_criacao_bem_pat_api_710.ttattv_codval_ccustoexc_ext icms             = "31400"0
               tt_criacao_bem_pat_api_710.ttattv_codrow_estab_ext id             = "1"
               tt= ROWID(tt_criacao_bem_pat_api_7.tta_cod_unid_negoc_ext       = "999"
               tt10).

CREATE tt_criacao_bem_pat_item_api_2.
ASSIGN tt_criacao_bem_pat_item_api_72.ttattv_cod_finalid_econ_ext     = "0"
row_bem                tt= tt_criacao_bem_pat_api_710.ttv_val_aquis_bem_pat        = 10000
  row_id
             tt_criacao_bem_pat_item_api_72.ttvtta_log_erro           cdn_fornecedor      = no13 
               tt_criacao_bem_pat_item_api_72.tta_qtdcod_Bem_pat_represen docto_entr      = 1"2206231"
               tt_criacao_bem_pat_item_api_72.tta_cod_cdnser_fornecedor   nota        = "1"
               tt_criacao_bem_pat_item_api_72.tta_num_iditem_bem_pat           = 0
      docto_entr = 20
         tt_criacao_bem_pat_item_api_72.tta_descod_narratnatur_Bem_pat operac       = "111A90"
               tt_criacao_bem_pat_item_api_72.tta_logqtd_item_cr_cofins            = NO
               ttdocto_entr = 1.

CREATE tt_criacao_bem_pat_val_apiresid_7.tta_log_cr_pis 1.
ASSIGN tt_criacao_bem_pat_val_resid_1.ttv_row_bem               = NO
               tt= ROWID(tt_criacao_bem_pat_api_7.ttv_num_parc_pis_cofins      = 0
        10)
       tt_criacao_bem_pat_val_apiresid_71.tta_valcod_crtip_pis calc     = "DP"           = 0
          
       tt_criacao_bem_pat_val_apiresid_71.tta_valcod_crcenar_cofins ctbl            = 0
      = "Fiscal"
         tt_criacao_bem_pat_apival_resid_71.tta_cod_docto_entr           finalid_econ = "3232Corrente"
               tt_criacao_bem_pat_val_apiresid_71.tta_codval_ser_nota         resid_min    = 'u'
               tt5000.

CREATE tt_criacao_bem_pat_val_apiresid_7.tta_num_item_docto_entr      = 20
              1.
ASSIGN tt_criacao_bem_pat_val_resid_1.ttv_row_bem          = ROWID(tt_criacao_bem_pat_api_10)
       tt_criacao_bem_pat_apival_resid_71.tta_datcod_calc_pat         tip_calc     = TODAY - 15
        "DP"
       tt_criacao_bem_pat_val_apiresid_71.tta_cb3cod_ident_visual         = '12345678'
      cenar_ctbl   = "Fiscal"
         tt_criacao_bem_pat_val_apiresid_71.tta_cod_estado_fisic_bem_pat finalid_econ = "ATIVOFiscal"
               tt_criacao_bem_pat_apival_resid_71.tta_codval_especresid_bem min            = = 4000.

CREATE tt_criacao_bem_pat_img_1.
ASSIGN tt '004' 
               tt_criacao_bem_pat_apiimg_71.ttattv_cod_marca           row_bem      = 'COMPAQ'
               tt= ROWID(tt_criacao_bem_pat_api_7.tta_cod_modelo               = "LS1"10)
               tt_criacao_bem_pat_apiimg_71.tta_dat_avaliac_apol_seguro  = TODAY - 10des_imagem  = "Imagem do Bem Teste API - Numero 1 com observacao"
               tt_criacao_bem_pat_apiimg_71.tta_val_avaliac_apol_seguro  = 5000
        dat_img     = TODAY
       tt_criacao_bem_pat_apiimg_71.tta_cod_licenc_uso           = '1'
      log_princ   = yes
         tt_criacao_bem_pat_apiimg_71.tta_codnom_especif_tec          = '1'
        arq_img = "C:\Users\jaqueline\Downloads\bem_patrimonial_imagem_teste.jpg"
       tt_criacao_bem_pat_apiimg_71.tta_coddes_arrendador   obs         = '10'
               tt= "Observacao da imagem carregada via API".

CREATE tt_criacao_bem_pat_img_1.
ASSIGN tt_criacao_bem_pat_apiimg_71.ttattv_cod_contrat_leas   row_bem       = '120220'= ROWID(tt_criacao_bem_pat_api_10)
               tt_criacao_bem_pat_apiimg_71.tta_coddes_localiz              = 'VIDRO-01'
              imagem  = "Imagem do Bem Teste API - Numero 2 sem observacao"
       tt_criacao_bem_pat_apiimg_71.tta_coddat_imagem     img           = '0.30.600'
        = TODAY
       tt_criacao_bem_pat_apiimg_71.ttvtta_reclog_id princ   = no
                = RECID(tt tt_criacao_bem_pat_apiimg_7).1.tta_nom_arq_img = "C:\Users\jaqueline\Downloads\bem_patrimonial_imagem_sem_obesrvacao.jpg".

CREATE         CREATE tt_criacao_bem_pat_item_api.
        ASSIGN tt_criacao_bem_pat_itemimg_api.ttv_rec_bem             = 1.
ASSIGN tt_criacao_bem_pat_apiimg_71.ttv_recrow_id
bem                tt= ROWID(tt_criacao_bem_pat_item_api.tta_cdn_fornecedor      = 1 _10)
               tt_criacao_bem_pat_itemimg_api1.tta_coddes_docto_entr imagem      = "3232Imagem do Bem Teste API - Numero 3 sem data e sem observacao"
               tt_criacao_bem_pat_itemimg_api1.tta_cod_ser_nota        = "u"log_princ   = no
               tt_criacao_bem_pat_itemimg_api1.tta_numnom_itemarq_docto_entr = 20
               tt_criacao_bem_pat_item_api.tta_qtd_item_docto_entr = 1.
        
        
        run img = "C:\Users\jaqueline\Downloads\nota_fiscal_bem_patrimonial.jpg".

RUN prgfin\fas\fas735zh.py PERSISTENT SET v_hdl_program.

        run RUN pi_main_api_criacao_bem_pat_10 14 IN v_hdl_program 
                                          (input INPUT 1, 
                                           input INPUT "EMS2" /*matriz traudcao*/, 
                                           input INPUT "EMS2" /*matriz ccusto*/,
                                           input INPUT "EMS2" /*matriz finalidade econ.*/,
                                           input NO /*contabiliza*/INPUT NO /*contabiliza*/,
                                    INPUT TABLE tt_criacao_bem_pat_item_api_2,
                                           INPUT INPUT TABLE tt_criacao_bem_pat_itemval_resid_api1,
                                           INPUT INPUT TABLE tt_criacao_bem_pat_valimg_resid1,
                                           INPUT INPUT TABLE tt_criacao_bem_pat_api_710,
                                           output pOUTPUT v_cod_return,
                                           output pOUTPUT v_des_mensagem).

if v_cod_return = "nok" then do:
   if    disp v_des_mensagem.
   if can-find (first tt_erros_criacao_bem_pat_api_1) then do:                              
            for each tt_erros_criacao_bem_pat_api_1:
                    disp tt_erros_criacao_bem_pat_api_1.
            end.

   end.

   else disp v_des_mensagem   end.
   message "NOK".
end.

delete object DELETE OBJECT v_hdl_program.
assign ASSIGN v_hdl_program = ?.