Á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/apb/apb925za.py

 


Objetivo

API para automatizar a substituição de notas por duplicatas, permitindo que sejam realizadas várias substituições ao mesmo tempo com as mesmas validações executadas pelo processo manual (on-line). Ou seja, efetuar a substituição de várias notas por uma única duplicata ou, substituir uma única nota em várias duplicatas em diferentes vencimentos de um mesmo fornecedor. 


Parâmetros de Entrada

p_num_vers_integr_api : será utilizado para determinar se o programa que está chamando está íntegro com as definições correntes da API;

...

tt_integr_apb_impto_impl_pend1 pend5: se refere ao recebimento de todas as informações necessárias para a vinculação de impostos à duplicata.

...

tt_params_generic_api: Conterá campos novos das temp-tables passadas como parâmetro.

 


Funcionamento

A sintaxe para executar a API/BO em modo persistente é:

...

run pi_main_code_apb925za_04 in 05in v_hdl_apb925za (Input 4,

                                                                                        Input table tt_integr_apb_lote_fatura_3,

...

                                                                                        Input table tt_integr_apb_impto_impl_pend1pend5,

                                                                                        input-output table tt_log_erros_atualiz,

...

A variável denominada v_hdl_apb925za irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.

Tabela Temporária


tt_integr_apb_lote_fatura_3

Conterá as informações referentes aos lotes de Substituição da Nota Fiscal por Duplicata.

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

tta_cod_estab

character

“x(3)”

Estabelecimento.

 

 



tta_cod_refer

character

“x(10)”

Referência.

 

 



tta_cod_espec_docto

character

“x(3)”

Espécie Documento.

 

 



tta_dat_transacao

date

99/99/9999

Data de Transação.

 

 



tta_ind_origin_tit_ap

character

“x(3)”

Indica Origem. Exemplo: “APB”.

 

 



tta_cod_estab_ext

character

“x(8)”

Estabelecimento Externo. Não possui tratamento.

 

 



tta_val_tot_lote_impl_tit_ap

decimal

">>,>>>,>>>,>>9.99"

Valor Total do Movimento.

 

 



tta_cod_empresa

character

“x(3)”

Empresa.

 

 



ttv_cod_empresa_ext

character

“x(3)”

Empresa Externa. Não possui tratamento.

 

 



tta_cod_finalid_econ_ext

character

“x(8)”

Finalidade Econômica Externa. Não possui tratamento.

 

 



tta_cod_indic_econ

character

“x(8)”

Moeda.

 

 



ttv_log_atualiza_refer_apb

logical

"Sim/Não"

Atualiza Referência. Se a Substituição deverá ser atualizada ou não.

 

 



ttv_log_elimina_lote

logical

"Sim/Não"

Elimina Lote. Em caso de ser apresentado alguma validação, o lote será eliminado e não ficará pendente.

 

 



tta_cdn_fornecedor

integer

">>>,>>>,>>9"

Número Fornecedor.

 

 



tta_num_fatur_ap

integer

">>>>,>>>,>>9"

Número da Fatura.

 

 



tta_qtd_parcela

decimal

"->9"

Quantidade de Parcelas.

 

 



tta_cod_histor_padr

character

“x(8)”

Histórico Padrão.

 

 



tta_cod_histor_padr_dupl

character

“x(8)”

Histórico Padrão da Duplicata.

 

 



ttv_ind_matriz_fornec

character

“x(8)”

Permitirá ou não a seleção de títulos por Matriz. Exemplo: ‘Fornecedor’.

 

 



ttv_rec_integr_apb_lote_impl

recid

">>>>>>9"

Recid. Deverá ser informado: RECID(tt_integr_apb_lote_fatura_3).

 

 



ttv_log_vinc_impto_auto

logical

"Sim/Não"

Vincula PIS/COFINS/CSLL automaticamente.

 

   



ttv_log_fatur_emis_darf

logical

"Sim/Não"

Indica se a Fatura é de DARF DARF.

 


  

ttv_log_fornec_diflogical"Sim/Não"Indica se irá utilizar fornecedor diferente para as novas duplicatas
  


Definição:

def temp-table tt_integr_apb_lote_fatura_3 no-undo

...

          tta_cod_estab_ext                ascending

    .

 


Tabela Temporária

Descrição

Entrada/Saída

tt_integr_apb_item_lote_fatura

Conterá as informações referentes as Duplicatas geradas pela Substituição.

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_rec_integr_apb_lote_impl

recid

">>>>>>9"

Identificador do lote. Receberá: tt_integr_apb_lote_fatura_3.ttv_rec_integr_apb_lote_impl.

 

 



tta_num_seq_refer

integer

">>>9"

Sequência.

 

 



tta_cdn_fornecedor

Integer

“>>>,>>>,>>9”

Código do Fornecedor. Não receberá valor se for PEF ou Antecipação.

 

 



tta_cod_ser_docto

character

“x(3”)/”x(5)”**

Código da Série Documento. Não receberá valor se for PEF ou Antecipação.

 

 



tta_cod_tit_ap

character

“x(10)”/“x(16)”**

Código do Título. Não receberá valor se for PEF ou Antecipação.

 

 



tta_cod_parcela

character

“x(02)”

Parcela.

 

 



tta_dat_emis_docto

date

"99/99/9999"

Data de Emissão.

 

 



tta_dat_vencto_tit_ap

date

"99/99/9999"

Data de Vencimento.

 

 



tta_dat_prev_pagto

date

"99/99/9999"

Data Prevista de Pagamento.

 

 



tta_dat_desconto

date

"99/99/9999"

Data de Desconto.

 

 



tta_cod_indic_econ

character

"x(8)"

Moeda.

 

 



tta_val_tit_ap

decimal

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

Valor do Título.

 

 



tta_val_desconto

decimal

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

Valor de Desconto.

 

 



tta_val_perc_desc

decimal

">9.999999"

Percentual de Desconto.

 

 



tta_num_dias_atraso

integer

">9"

Dias de Atraso.

 

 



tta_val_juros_dia_atraso

decimal

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

Valor de Juros.

 

 



tta_val_perc_juros_dia_atraso

decimal

">9.999999"

Percentual de Juros por Dia de Atraso.

 

 



tta_val_perc_multa_atraso

decimal

">9.99"

Percentual de Multa por Atraso.

 

 



tta_cod_portador

character

"x(5)"

Portador.

 

 



tta_cod_apol_seguro

character

"x(12)"

Apólice de Seguro.

 

 



tta_cod_seguradora

character

"x(8)"

Seguradora.

 

 



tta_cod_arrendador

character

"x(6)"

Arrendador.

 

 tta



tta_cod_contrat_leas

character

"x(12)"

Contrato de Leasing.

 

 



tta_des_text_histor

character

"x(2000)"

Histórico.

 

 



tta_num_id_tit_ap

integer

"9999999999"

Identificador do Título.

 

 



tta_num_id_movto_tit_ap

integer

"9999999999"

Identificador do Movimento do Título.

 

 



tta_num_id_movto_cta_corren

integer

"9999999999"

Identificador do Movimento da Conta Corrente.

 

 



ttv_qtd_parc_tit_ap

decimal

">>9"

Quantidade de Parcelas.

 

 



ttv_num_dias

integer

">>>>,>>9"

Número de Dias.

 

 



ttv_ind_vencto_previs

character

"x(4)"

Cálculo Vencimento.

 

 



ttv_log_gerad

logical

"Sim/Não"

Gerado.

 

 



tta_cod_finalid_econ_ext

character

"x(8)"

Finalidade Externa.

 

 



tta_cod_portad_ext

character

"x(8)"

Portador Externo.

 

 



tta_cod_modalid_ext

character

"x(8)"

Modalidade Externa.

 

 



tta_cod_cart_bcia

character

"x(3)"

Carteira.

 

 



tta_cod_forma_pagto

character

"x(3)"

Forma de Pagamento.

 

 



tta_val_cotac_indic_econ

decimal

">>>>,>>9.9999999999"

Cotação.

 

 



ttv_num_ord_invest

integer

">>>>>,>>9"

Ordem de Investimento.

 

 



tta_cod_livre_1

character

"x(100)"

Campo Livre.

 

 



tta_cod_livre_2

character

"x(100)"

Campo Livre.

 

 



tta_dat_livre_1

date

"99/99/9999"

Campo Livre.

 

 



tta_dat_livre_2

date

"99/99/9999"

Campo Livre.

 

 



tta_log_livre_1

logical

"Sim/Não"

Campo Livre.

 

 



tta_log_livre_2

logical

"Sim/Não"

Campo Livre.

 

 



tta_num_livre_1

integer

">>>>>9"

Campo Livre.

 

 



tta_num_livre_2

integer

">>>>>9"

Campo Livre.

 

 tta_



tta_val_livre_1

decimal

">>>,>>>,>>9.9999"

Campo Livre.

 

 



tta_val_livre_2

decimal

">>>,>>>,>>9.9999"

Campo Livre.

 

 



ttv_rec_integr_apb_item_lote

recid

">>>>>>9"

Identificador do item.

 

 



ttv_val_1099

decimal

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

Valor Imposto 1099 relacionado a localização EUA.

 

 



tta_cod_tax_ident_number

character

"x(15)"

Tax Id Number.

 

 



tta_ind_tip_trans_1099

character

"x(50)"

Tipo Transação 1099.

 

 



Definição:

def temp-table tt_integr_apb_item_lote_fatura no-undo

...

          tta_num_seq_refer                ascending

    . 


Tabela Temporária

Descrição

Entrada/Saída

tt_integr_apb_relacto_fatura

Conterá as informações referentes aos documentos Substituídos. Deverá ser informada a chave de identificação do título, que poderá ser de espécie “Nota Fiscal”, “Imposto Retido” ou “Normal”.

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_rec_integr_apb_lote_impl

recid

">>>>>>9"

Identificador do lote. Receberá: tt_integr_apb_lote_fatura_3.ttv_rec_integr_apb_lote_impl.

 

 



tta_cod_estab_tit_ap_pai

character

"x(3)"

Estabelecimento do Título Pai.

 

 



tta_cdn_fornec_pai

Integer

“>>>,>>>,>>9”

Código do Fornecedor do Título Pai.

 

 



tta_cod_espec_docto_nf

character

"x(8)"

Espécie da Nota Fiscal.

 

 



tta_cod_ser_docto_nf

character

"x(8)"

Série da Nota Fiscal.

 

 



tta_cod_tit_ap

character

“x(10)”

Código do Título.

 

 



tta_cod_parc_nf

character

“x(8)”

Parcela da Nota Fiscal.

 

 



tta_ind_motiv_acerto_val

character

"x(12)"

Motivo do Acerto de Valor.

 

 



ttv_log_bxo_estab_tit

logical

“Sim/Não”

Baixa no Estabelecimento do Título.

 



 

 

Definição:

def temp-table tt_integr_apb_relacto_fatura no-undo

...

          tta_cod_parc_nf                  ascending

    .

 

 



Tabela Temporária

Descrição

Entrada/Saída

tt_integr_apb_impto_impl_

pend1

pend5

Conterá as informações dos impostos relacionados as duplicatas geradas. Sendo que o valor destes impostos  irão abater o saldo dos títulos relacionados; implantando no sistema um título normal contendo o saldo e outro título de imposto com o valor abatido.

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_rec_integr_apb_item_lote

recid

“>>>>>>9”

Identificador do Item. Deverá receber:  tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote.

 

 



ttv_rec_antecip_pef_pend

recid

“>>>>>>9”

 Identificador da

Entecipação

Antecipação. Deverá receber: ?

 

 



tta_cod_pais

character

“x(3)”

Código País.

 

 



tta_cod_unid_federac

character

“x(3)”

Unidade Federação.

 

 



tta_cod_imposto

character

“x(5)”

Código Imposto.

 

 



tta_cod_classif_impto

character

“x(5)”

Código da Classificação do Imposto.

 

 



tta_ind_clas_impto

character

“x(14)”

Indicador da Classe do Imposto.

 

 



tta_cod_plano_cta_ctbl

character

“x(8)”

Código do Plano de Contas.

 

 



tta_cod_cta_ctbl

character

“x(20)”

Código da Conta Contábil.

 

 



tta_cod_espec_docto

character

“x(3)”

Código da Espécie do Documento.

 

 



tta_cod_ser_docto

character

“x(3)”

Código da Série do Documento.

 

 



tta_cod_tit_ap

character

“x(10)”

Código do Título.

 

 



tta_cod_parcela

character

“x(2)”

Parcela.

 

 



tta_val_rendto_tribut

decimal

“>,>>>,>>>,>>9.99”

Valor do Rendimento Tributável.

 

 



tta_val_deduc_inss

decimal

“>,>>>,>>>,>>9.99”

Valor da Dedução INSS.

 

 



tta_val_deduc_depend

decimal

“>,>>>,>>>,>>9.99”

Valor da Dedução de Dependentes.

 

 



tta_val_deduc_pensao

decimal

“>,>>>,>>>,>>9.99”

Valor Dedução Pensão.

 

 



tta_val_outras_deduc_impto

decimal

“>,>>>,>>>,>>9.99”

Valor de Outras Deduções.

 

 



tta_val_base_liq_impto

decimal

“>,>>>,>>>,>>9.99”

Valor da Base Líquida Imposto.

 

 



tta_val_aliq_impto

decimal

“>9.99”

Valor da Alíquota.

 

 



tta_val_impto_ja_recolhid

decimal

“>,>>>,>>>,>>9.99”

Valor do Imposto Já Recolhido.

 

 



tta_val_imposto

decimal

“>,>>>,>>>,>>9.99”

Valor Imposto.

 

 



tta_dat_vencto_tit_ap

date

“99/99/9999”

Data Vencimento.

 

 



tta_cod_indic_econ

character

“x(8)”

Código do Indicador Econômico (Moeda).

 

 



tta_val_impto_indic_econ_impto

decimal

“->>>,>>>,>>9.99”

Valor do Imposto no Indicador Econômico do Imposto.

 

 



tta_des_text_histor

character

“x(2000)”

Texto do Histórico (Padrão ou Informado).

 

 



tta_cdn_fornec_favorec

Integer

“>>>,>>>,>>9”

Código do Fornecedor Favorecido.

 

 



tta_val_deduc_faixa_impto

decimal

“>,>>>,>>>,>>9.99”

Valor Dedução na Faixa do Imposto.

 

 



tta_num_id_tit_ap

integer

"9999999999"

Número de Identificação do Título a Pagar implantado.

 

 



tta_num_id_movto_tit_ap

integer

"9999999999"

Número de Identificação do Movimento gerado pela implantação do Título a Pagar.

 

 



tta_num_id_movto_cta_corren

integer

"9999999999"

Número de Identificação do Movimento da Conta Corrente gerado no Caixa e Bancos pelo movimento de implantação do Título a Pagar.

 

 tta_



tta_cod_pais_ext

character

“x(20)”

Código do país Externo.

 

 



tta_cod_cta_ctbl_ext

character

“x(20)”

Código da Conta Contábil Externa.

 

 



tta_cod_sub_cta_ctbl_ext

character

“x(15)”

Código da Subconta Externa. Este campo deverá ser obrigatoriamente preenchido caso o campo tta_cod_cta_ctbl_ext estiver preenchido.

 

 



ttv_cod_tip_fluxo_financ_ext

character

“x(

12)”

Código do Tipo Fluxo Financeiro Externo.

 

 

12)”

Código do Tipo Fluxo Financeiro Externo.



tta_val_nao_retid

decimal">>>,>>>,>>>,>>9.99"Valor Não Retido. Este campo deverá ser preenchido exclusivamente para geração de dados para a legislação REINF. Caso o título seja de Mão de Obra Empreitada.



tta_cod_process_judiccharacter"x(20)"Número Pocesso Judicial. Este campo deverá ser preenchido exclusivamente para geração de dados para a legislação REINF. Caso o título seja de Mão de Obra Empreitada.

ttv_rec_integr_apb_impto_pendrecid“>>>>>>9”Identificador do imposto pendente.

Observação: Caso o imposto seja retido e a forma de retenção seja tabela progressiva, o imposto será calculado da seguinte maneira:

- Apenas será considerado o valor do rendimento tributável, desconsiderando a alíquota e o valor do imposto informado na temp-table. Para o cálculo do valor do imposto, será considerada a alíquota da tabela progressiva do imposto, e o valor do imposto será calculado com base no acumulado da pessoa, caso o mesmo exista, mais o valor informado no rendimento tributável. 


Definição:

def temp-table tt_integr_apb_impto_impl_pend1 pend5 no-undo

    field ttv_rec_integr_apb_item_lote     as recid format ">>>>>>9"

...

    field tta_cod_sub_cta_ctbl_ext         as character format "x(15)" label "Sub Conta Externa" column-label "Sub Conta Externa"

    field ttv_cod_tip_fluxo_financ_ext     _fluxo_financ_ext     as character format "x(12)" label "Tipo Fluxo Financ" column-label "Tipo Fluxo Financ"

    field tta_val_nao_retid as decimal format ">>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Não Retido" column-label "Vl Não Retid"
    field tta_cod_process_judic as character format "x(1220)" label "Tipo Fluxo FinancNr Processo Judicial" column-label "Tipo Fluxo Financ"Nr Proc Judic"
    field ttv_rec_integr_apb_impto_pend as recid format ">>>>>>9"

    index tt_impto_impl_pend_ap_integr     is primary unique

...

          tta_cod_classif_impto            ascending

    .

 Legislação REINF


Tabela Temporária

Descrição

Entrada/Saída

tt_log_erros_atualiz

 

Conterá as informações referentes aos erros encontrados durante as validações para a substituição dos títulos.

Entrada / Saída

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

tta_cod_estab

character

“x(3)”

Estabelecimento

 

 



tta_cod_refer

character

“x(10)”

Referência

 

 



tta_num_seq_refer

integer

“>>>9”

Sequência

 

 



ttv_num_mensagem

integer

“>>>>,>>9”

Número do erro

 

 



ttv_des_msg_erro

character

“x(60)”

Mensagem Erro

 

 



ttv_des_msg_ajuda

character

“x(40)”

Mensagem Ajuda

 

 



ttv_ind_tip_relacto

character

“x(15)”

Tipo Relacionamento

 

 



ttv_num_relacto

integer

“>>>>,>>9”

Relacionamento

 

 



Observação: Num primeiro passo, os títulos são validados, conforme as parametrizações recebidas. Ao encontrar algum erro, um registro correspondente ao erro é gravado na tabela temporária tt_log_erros_atualiz e é dado continuidade ao processo de validação visando encontrar o maior número de erros possíveis; então o processo é interrompido quando não se é mais possível continuar as validações.

...

Quando a API for executada 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.

 


Definição:

def temp-table tt_log_erros_atualiz no-undo

...

    field ttv_num_relacto                  as integer format ">>>>,>>9" label "Relacionamento" column-label "Relacionamento"

    . 


Tabela Temporária

Descrição

Entrada/Saída

tt_params_generic_api

Conterá campos novos das temp-tables passadas como parâmetro.

Entrada / Saída

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_rec_id

recid

>>>>>>9

 

 

 




ttv_cod_tabela

character

X(28)

Tabela

 

 



ttv_cod_campo

character

X(25)

Campo

 

 



ttv_cod_valor

character

X(8)

Valor

 

 



Definição:

def temp-table tt_params_generic_api no-undo

...

          ttv_cod_campo                    ascending 


Exemplo Criação temp-table tt_params_generic_api para campo SAFRA:

...