Árvore de páginas

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_lote_fatura_3 : se refere ao recebimento de todas as informações necessárias para criação da fatura.

tt_integr_apb_item_lote_fatura : se refere ao recebimento de todas as informações necessárias para a implantação da duplicata.

tt_integr_apb_relacto_fatura : se refere ao recebimento de todas as informações necessárias para a substituição das notas pela duplicata.

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

tt_log_erros_atualiz : se refere aos erros criticados e retornados pela API de Substituição das Notas Fiscais por Duplicatas.

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 prgfin/apb/apb925za.py persistent set v_hdl_apb925za.

run pi_main_code_apb925za_05 in v_hdl_apb925za (Input 5,

                                                                                        Input table tt_integr_apb_lote_fatura_3,

                                                                                        Input table tt_integr_apb_item_lote_fatura,

                                                                                        Input table tt_integr_apb_relacto_fatura,

                                                                                        Input table tt_integr_apb_impto_impl_pend5,

                                                                                        input-output table tt_log_erros_atualiz,

                                                                                        input-output table tt_params_generic_api).

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

    field tta_cod_estab                    as character format "x(3)" label "Estabelecimento" column-label "Estab"

    field tta_cod_refer                    as character format "x(10)" label "Referência" column-label "Referência"

    field tta_cod_espec_docto              as character format "x(3)" label "Espécie Documento" column-label "Espécie"

    field tta_dat_transacao                as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"

    field tta_ind_origin_tit_ap            as character format "X(03)" initial "APB" label "Origem" column-label "Origem"

    field tta_cod_estab_ext                as character format "x(8)" label "Estabelecimento Exte" column-label "Estabelecimento Ext"

    field tta_val_tot_lote_impl_tit_ap     as decimal format ">>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Total  Movimento" column-label "Total Movto"

    field tta_cod_empresa                  as character format "x(3)" label "Empresa" column-label "Empresa"

    field ttv_cod_empresa_ext              as character format "x(3)" label "Código Empresa Ext" column-label "Cód Emp Ext"

    field tta_cod_finalid_econ_ext         as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"

    field tta_cod_indic_econ               as character format "x(8)" label "Moeda" column-label "Moeda"

    field ttv_log_atualiza_refer_apb       as logical format "Sim/Não" initial yes label "Atualiza Referência" column-label "Atualiza Referência"

    field ttv_log_elimina_lote             as logical format "Sim/Não" initial no

    field tta_cdn_fornecedor               as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"

    field tta_num_fatur_ap                 as integer format ">>>>,>>>,>>9" initial 0 label "Número  Fatura" column-label "Num Fatura"

    field tta_qtd_parcela                  as decimal format "->9" decimals 0 initial 0 label "Qtd Parcelas" column-label "Qtd Parc"

    field tta_cod_histor_padr              as character format "x(8)" label "Histórico Padrão" column-label "Histórico Padrão"

    field tta_cod_histor_padr_dupl         as character format "x(8)" label "Histórico Padrão" column-label "Histórico Padrão"

    field ttv_ind_matriz_fornec            as character format "X(08)"

    field ttv_rec_integr_apb_lote_impl     as recid format ">>>>>>9"

    field ttv_log_vinc_impto_auto          as logical format "Sim/Não" initial no label "PIS/COFINS/CSLL Auto"

    field ttv_log_fatur_emis_darf          as logical format "Sim/Não" initial NO label "Fatur Emis DARF" column-label "Fatur Emis DARF"

    field ttv_log_fornec_dif               as logical format "Sim/Não" initial no 

    index tt_lote_impl_tit_ap_integr_id    is primary unique

          tta_cod_estab                    ascending

          tta_cod_refer                    ascending

          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_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_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

    field ttv_rec_integr_apb_lote_impl     as recid format ">>>>>>9"

    field tta_num_seq_refer                as integer format ">>>9" initial 0 label "Sequência" column-label "Seq"

    field tta_cdn_fornecedor               as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"

    field tta_cod_ser_docto                as character format "x(3)" label "Série Documento" column-label "Série"

    field tta_cod_tit_ap                   as character format "x(10)" label "Título" column-label "Título"

    field tta_cod_parcela                  as character format "x(02)" label "Parcela" column-label "Parc"

    field tta_dat_emis_docto               as date format "99/99/9999" initial today label "Data  Emissão" column-label "Dt Emissão"

    field tta_dat_vencto_tit_ap            as date format "99/99/9999" initial today label "Data Vencimento" column-label "Dt Vencto"

    field tta_dat_prev_pagto               as date format "99/99/9999" initial today label "Data Prevista Pgto" column-label "Dt Prev Pagto"

    field tta_dat_desconto                 as date format "99/99/9999" initial ? label "Data Desconto" column-label "Dt Descto"

    field tta_cod_indic_econ               as character format "x(8)" label "Moeda" column-label "Moeda"

    field tta_val_tit_ap                   as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Título" column-label "Valor Título"

    field tta_val_desconto                 as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Desconto" column-label "Valor Desconto"

    field tta_val_perc_desc                as decimal format ">9.9999" decimals 4 initial 0 label "Percentual Desconto" column-label "Perc Descto"

    field tta_num_dias_atraso              as integer format ">9" initial 0 label "Dias Atraso" column-label "Dias Atr"

    field tta_val_juros_dia_atraso         as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Juro" column-label "Vl Juro"

    field tta_val_perc_juros_dia_atraso    as decimal format ">9.999999" decimals 6 initial 00.00 label "Perc Jur Dia Atraso" column-label "Perc Dia"

    field tta_val_perc_multa_atraso        as decimal format ">9.99" decimals 2 initial 00.00 label "Perc Multa Atraso" column-label "Multa Atr"

    field tta_cod_portador                 as character format "x(5)" label "Portador" column-label "Portador"

    field tta_cod_apol_seguro              as character format "x(12)" label "Apólice Seguro" column-label "Apolice Seguro"

    field tta_cod_seguradora               as character format "x(8)" label "Seguradora" column-label "Seguradora"

    field tta_cod_arrendador               as character format "x(6)" label "Arrendador" column-label "Arrendador"

    field tta_cod_contrat_leas             as character format "x(12)" label "Contrato Leasing" column-label "Contr Leas"

    field tta_des_text_histor              as character format "x(2000)" label "Histórico" column-label "Histórico"

    field tta_num_id_tit_ap                as integer format "9999999999" initial 0 label "Token Tit AP" column-label "Token Tit AP"

    field tta_num_id_movto_tit_ap          as integer format "9999999999" initial 0 label "Token Movto Tit AP" column-label "Id Tit AP"

    field tta_num_id_movto_cta_corren      as integer format "9999999999" initial 0 label "ID Movto Conta" column-label "ID Movto Conta"

    field ttv_qtd_parc_tit_ap              as decimal format ">>9" initial 1 label "Quantidade Parcelas" column-label "Quantidade Parcelas"

    field ttv_num_dias                     as integer format ">>>>,>>9" label "Número de Dias" column-label "Número de Dias"

    field ttv_ind_vencto_previs            as character format "X(4)" initial "Mês" label "Cálculo Vencimento" column-label "Cálculo Vencimento"

    field ttv_log_gerad                    as logical format "Sim/Não" initial no

    field tta_cod_finalid_econ_ext         as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"

    field tta_cod_portad_ext               as character format "x(8)" label "Portador Externo" column-label "Portador Externo"

    field tta_cod_modalid_ext              as character format "x(8)" label "Modalidade Externa" column-label "Modalidade Externa"

    field tta_cod_cart_bcia                as character format "x(3)" label "Carteira" column-label "Carteira"

    field tta_cod_forma_pagto              as character format "x(3)" label "Forma Pagamento" column-label "F Pagto"

    field tta_val_cotac_indic_econ         as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"

    field ttv_num_ord_invest               as integer format ">>>>>,>>9" initial 0 label "Ordem Investimento" column-label "Ordem Invest"

    field tta_cod_livre_1                  as character format "x(100)" label "Livre 1" column-label "Livre 1"

    field tta_cod_livre_2                  as character format "x(100)" label "Livre 2" column-label "Livre 2"

    field tta_dat_livre_1                  as date format "99/99/9999" initial ? label "Livre 1" column-label "Livre 1"

    field tta_dat_livre_2                  as date format "99/99/9999" initial ? label "Livre 2" column-label "Livre 2"

    field tta_log_livre_1                  as logical format "Sim/Não" initial no label "Livre 1" column-label "Livre 1"

    field tta_log_livre_2                  as logical format "Sim/Não" initial no label "Livre 2" column-label "Livre 2"

    field tta_num_livre_1                  as integer format ">>>>>9" initial 0 label "Livre 1" column-label "Livre 1"

    field tta_num_livre_2                  as integer format ">>>>>9" initial 0 label "Livre 2" column-label "Livre 2"

    field tta_val_livre_1                  as decimal format ">>>,>>>,>>9.9999" decimals 4 initial 0 label "Livre 1" column-label "Livre 1"

    field tta_val_livre_2                  as decimal format ">>>,>>>,>>9.9999" decimals 4 initial 0 label "Livre 2" column-label "Livre 2"

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

    field ttv_val_1099                     as decimal format "->>,>>>,>>>,>>9.99" decimals 2

    field tta_cod_tax_ident_number         as character format "x(15)" label "Tax Id Number" column-label "Tax Id Number"

    field tta_ind_tip_trans_1099           as character format "X(50)" initial "Rents" label "Tipo Transacao 1099" column-label "Tipo Transacao 1099"

    index tt_integr_apb_fatura_nf          is unique

          ttv_rec_integr_apb_lote_impl     ascending

          tta_cdn_fornecedor               ascending

          tta_cod_ser_docto                ascending

          tta_cod_tit_ap                   ascending

          tta_cod_parcela                  ascending

    index tt_item_lote_impl_ap_integr_id   is primary unique

          ttv_rec_integr_apb_lote_impl     ascending

          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

    field ttv_rec_integr_apb_lote_impl     as recid format ">>>>>>9"

    field tta_cod_estab_tit_ap_pai         as character format "x(3)" label "Estab Tit Pai" column-label "Estab Tit Pai"

    field tta_cdn_fornec_pai               as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor Pai" column-label "Fornecedor Pai"

    field tta_cod_espec_docto_nf           as character format "x(8)" label "Especie Nota Fiscal" column-label "Especie Nota Fiscal"

    field tta_cod_ser_docto_nf             as character format "x(8)" label "Serie Nota Fiscal" column-label "Serie Nota Fiscal"

    field tta_cod_tit_ap                   as character format "x(10)" label "Título" column-label "Título"

    field tta_cod_parc_nf                  as character format "x(8)" label "Parcela Nota fiscal" column-label "Parcela Nota fiscal"

    field tta_ind_motiv_acerto_val         as character format "X(12)" initial "Alteração" label "Motivo Acerto Valor" column-label "Motivo Acerto Valor"

    field ttv_log_bxo_estab_tit            as logical format "Sim/Não" initial no

    index tt_integr_apb_relacto_fatura       is primary unique

          ttv_rec_integr_apb_lote_impl     ascending

          tta_cod_estab_tit_ap_pai         ascending

          tta_cdn_fornec_pai               ascending

          tta_cod_espec_docto_nf           ascending

          tta_cod_ser_docto_nf             ascending

          tta_cod_tit_ap                   ascending

          tta_cod_parc_nf                  ascending

    .



Tabela Temporária

Descrição

Entrada/Saída

tt_integr_apb_impto_impl_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 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_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.



tta_val_alimen_deduc_inssdecimal->>>,>>>,>>9.99Valor Alimentação Dedução INSS

tta_val_eqpto_deduc_inssdecimal"->>>,>>>,>>9.99"Valor Equipamento Dedução INSS

tta_val_transp_deduc_inssdecimal->>>,>>>,>>9.99Valor Transporte Dedução INSS

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_pend5 no-undo
    field ttv_rec_integr_apb_item_lote    as recid format ">>>>>>9"
    field ttv_rec_antecip_pef_pend        as recid format ">>>>>>9"
    field tta_cod_pais                    as character format "x(3)" label "País" column-label "País"
    field tta_cod_unid_federac            as character format "x(3)" label "Estado" column-label "UF"
    field tta_cod_imposto                  as character format "x(5)" label "Imposto" column-label "Imp"
    field tta_cod_classif_impto            as character format "x(05)" initial "00000" label "Classificação Imposto" column-label "Classif Imposto"
    field tta_ind_clas_impto              as character format "X(14)" initial "Retido" label "Classe Imposto" column-label "Classe Imposto"
    field tta_cod_plano_cta_ctbl          as character format "x(8)" label "Plano Contas" column-label "Plano Contas"
    field tta_cod_cta_ctbl                as character format "x(20)" label "Conta Contábil" column-label "Conta Contábil"
    field tta_cod_espec_docto              as character format "x(3)" label "Espécie Documento" column-label "Espécie"
    field tta_cod_ser_docto                as character format "x(3)" label "Série Documento" column-label "Série"
    field tta_cod_tit_ap                  as character format "x(10)" label "Título" column-label "Título"
    field tta_cod_parcela                  as character format "x(02)" label "Parcela" column-label "Parcela"
    field tta_val_rendto_tribut            as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Rendto Tributável" column-label "Vl Rendto Tribut"
    field tta_val_deduc_inss              as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Dedução Inss" column-label "Dedução Inss"
    field tta_val_deduc_depend            as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Dedução Dependentes" column-label "Dedução Dependentes"
    field tta_val_deduc_pensao            as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Dedução Pensão" column-label "Dedução Pensão"
    field tta_val_outras_deduc_impto      as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Outras Deduções" column-label "Outras Deduções"
    field tta_val_base_liq_impto          as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Base Líquida Imposto" column-label "Base Líquida Imposto"
    field tta_val_aliq_impto              as decimal format ">9.9999" decimals 4 initial 0.00 label "Alíquota" column-label "Aliq"
    field tta_val_impto_ja_recolhid        as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Imposto Já Recolhido" column-label "Imposto Já Recolhido"
    field tta_val_imposto                  as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Imposto" column-label "Vl Imposto"
    field tta_dat_vencto_tit_ap            as date format "99/99/9999" initial today label "Data Vencimento" column-label "Dt Vencto"
    field tta_cod_indic_econ              as character format "x(8)" label "Moeda" column-label "Moeda"
    field tta_val_impto_indic_econ_impto  as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Val Finalid Impto" column-label "Val Finalid Impto"
    field tta_des_text_histor              as character format "x(2000)" label "Histórico" column-label "Histórico"
    field tta_cdn_fornec_favorec          as Integer format ">>>,>>>,>>9" initial 0 label "Fornec Favorecido" column-label "Fornec Favorecido"
    field tta_val_deduc_faixa_impto        as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Deducao" column-label "Valor Dedução"
    field tta_num_id_tit_ap                as integer format "999999999" initial 0 label "Token Tít AP" column-label "Token Tít AP"
    field tta_num_id_movto_tit_ap          as integer format "9999999999" initial 0 label "Token Movto Tít AP" column-label "Id Tít AP"
    field tta_num_id_movto_cta_corren      as integer format "999999999" initial 0 label "ID Movto Conta" column-label "ID Movto Conta"
    field tta_cod_pais_ext                as character format "x(20)" label "País Externo" column-label "País Externo"
    field tta_cod_cta_ctbl_ext            as character format "x(20)" label "Conta Contab Extern" column-label "Conta Contab Extern"
    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    as character format "x(12)" label "Tipo Fluxo Financ" column-label "Tipo Fluxo Financ"
    field tta_val_alimen_deduc_inss        as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Val Aliment Ded INSS" column-label "Vl Alim INSS"
    field tta_val_eqpto_deduc_inss        as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Val Equipto Ded INSS" column-label "Vl Eqto INSS"
    field tta_val_transp_deduc_inss        as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Val Transp Ded INSS" column-label "Vl Trsp INSS"
    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(21)" label "Nr Processo Judicial" column-label "Nr Proc Judic"
    field ttv_rec_integr_apb_impto_pend    as recid format ">>>>>>9"
    index tt_impto_impl_pend_ap_integr    is primary unique
          ttv_rec_integr_apb_item_lote    ascending
          tta_cod_pais                    ascending
          tta_cod_unid_federac            ascending
          tta_cod_imposto                  ascending
          tta_cod_classif_impto            ascending
    index tt_impto_impl_pend_ap_integr_ant is unique
          ttv_rec_antecip_pef_pend        ascending
          tta_cod_pais                    ascending
          tta_cod_unid_federac            ascending
          tta_cod_imposto                  ascending
          tta_cod_classif_impto            ascending
    .



REINF:

Somente será permitido agrupar títulos que possuem os mesmos dados de REINF (tipo de serviço e obra ). Caso informado títulos com dados de REINF divergentes será emitida uma mensagem de erro e não será permitido efetivar a substituição.

   

Processo Jurídico (REINF):

Para os títulos que estão marcados como Mão-de-Obra ou Empreitada, é possível informar um processo jurídico e valor não retido que será deduzido no valor retido do INSS.

Informações necessárias:

- Número do Processo Jurídico (cod_process_judic): Esse campo é opcional. Porém, caso informado deverá existir no Cadastro de Processos (cd2021). 
- Valor não retido (val_nao_retid): Este campo é opcional, quando informado utiliza o valor informado no cálculo de imposto e será necessário informar o número do processo jurídico. Quando ele não for informado será calculado o valor não retido com base no percentual de dedução informado no processo jurídico.

Abaixo, exemplo dos registros relacionados:

  - tt_integr_apb_impto_impl_pend5. tta_val_nao_retid 
  - tt_integr_apb_impto_impl_pend5 tta_cod_process_judic 

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.

Caso na validação não seja verificado nenhum erro, num segundo passo, a operação realmente será efetivada, conforme as parametrizações recebidas, chegando então à sua conclusão. Caso contrário, na tabela temporária tt_log_erros_atualiz será gerado todos os erros encontrados ou mensagens de alerta gerados durante o processo de validação dos títulos e visualizados na tela, impressora ou arquivo.

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 tta_cod_estab                    as character format "x(3)" label "Estabelecimento" column-label "Estab"

    field tta_cod_refer                    as character format "x(10)" label "Referência" column-label "Referência"

    field tta_num_seq_refer                as integer format ">>>9" initial 0 label "Sequência" column-label "Seq"

    field ttv_num_mensagem                 as integer format ">>>>,>>9" label "Número" column-label "Número Mensagem"

    field ttv_des_msg_erro                 as character format "x(60)" label "Mensagem Erro" column-label "Inconsistência"

    field ttv_des_msg_ajuda                as character format "x(40)" label "Mensagem Ajuda" column-label "Mensagem Ajuda"

    field ttv_ind_tip_relacto              as character format "X(15)" label "Tipo Relacionamento" column-label "Tipo Relac"

    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

    field ttv_rec_id                       as recid format ">>>>>>9"

    field ttv_cod_tabela                   as character format "x(28)" label "Tabela" column-label "Tabela"

    field ttv_cod_campo                    as character format "x(25)" label "Campo" column-label "Campo"

    field ttv_cod_valor                    as character format "x(8)" label "Valor" column-label "Valor"

    index tt_idx_param_generic             is primary unique

          ttv_cod_tabela                   ascending

          ttv_rec_id                       ascending

          ttv_cod_campo                    ascending


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

create tt_params_generic_api.

assign tt_params_generic_api.ttv_rec_id          = (Campo Recid da temp-table) tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote

            tt_params_generic_api.ttv_cod_campo = 'Safra':U

            tt_params_generic_api.ttv_cod_tabela  = 'tt_integr_apb_item_lote_fatura':U

            tt_params_generic_api.ttv_cod_valor    = (Valor Da Safra).

Exemplo Criação temp-table tt_params_generic_api para campo NÚMERO DO CONTRATO:

create tt_params_generic_api.

assign tt_params_generic_api.ttv_rec_id          = (Campo Recid da temp-table) tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote

            tt_params_generic_api.ttv_cod_campo = 'cod_contrato':U

            tt_params_generic_api.ttv_cod_tabela  = 'tt_integr_apb_item_lote_fatura':U

            tt_params_generic_api.ttv_cod_valor    = (Valor Do Contrato).


A partir da release 12.1.28, para informar o código de barras e o número bancário das duplicatas que serão criadas na implantação de fatura, implementar criação da temp-table tt_params_generic para cada fatura conforme exemplo abaixo:

CREATE tt_params_generic_api.
ASSIGN tt_params_generic_api.ttv_cod_tabela = 'tt_integr_apb_item_lote_fatura':U
              tt_params_generic_api.ttv_rec_id = tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
              tt_params_generic_api.ttv_cod_campo = 'Cod Barras':U
              tt_params_generic_api.ttv_cod_valor = '836600000068415601620008001010202057667503152098'. /* Exemplo de código de barras de conta de consumo ou tributo */

CREATE tt_params_generic_api.
ASSIGN tt_params_generic_api.ttv_cod_tabela = 'tt_integr_apb_item_lote_fatura':U
              tt_params_generic_api.ttv_rec_id = tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
              tt_params_generic_api.ttv_cod_campo = 'Número Bancário':U
              tt_params_generic_api.ttv_cod_valor = '12345678901234567890'. /* Exemplo de número bancário */

Importante: Serão aceitos linhas digitáveis do código de barras de boletos (47 algarismos) e contas de consumo ou tributos (48 posições). Sempre deverão ser informados o Cod Barras e Número Bancária simultaneamente para a mesma duplicata.


PIX Datasul

O PIX é um novo modo de Pagamento disponibilizado pelo Banco Central que poderá ser utilizado no pagamento de títulos através de Transferências bancária ou liquidação de Boletos. 

Para o pagamentos de Boletos poderão ser utilizado o QR-Code, dessa forma serão disponibilizados dois campos para guardar os dados do QR-Code e o TXID.

Esses campos serão necessários em pagamentos cuja a forma de pagamento forem:

  • PIX Qr-code mesmo banco
  • PIX QrCode outro banco

QR CODE: Chave/URL endereçamento capturada a partir da leitura do QR CODE. 

TXID:  Código de identificação da transação é opcional e poderá ser informada no pagamento escritural conforme o leitaute CNAB 240 de cada banco. 

create tt_params_generic_api.
assign tt_params_generic_api.ttv_cod_tabela = "tt_integr_apb_item_lote_fatura"
            tt_params_generic_api.ttv_rec_id = tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
            tt_params_generic_api.ttv_cod_campo = "cod_txid"
            tt_params_generic_api.ttv_cod_valor = "12544".

create tt_params_generic_api.
assign tt_params_generic_api.ttv_cod_tabela = "tt_integr_apb_item_lote_fatura"
            tt_params_generic_api.ttv_rec_id = tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
            tt_params_generic_api.ttv_cod_campo = "dsl_qrcode"
            tt_params_generic_api.ttv_cod_valor = "00020126580014br.gov.bcb.pix0136123e4567-e12b-12d1-a456-426655440000 5204000053039865802BR5913Fulano de Tal6008BRASILIA62070503***63041D3D " .