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

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

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

tt_integr_apb_impto_impl_pend1 pend6: 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_api_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 06 in v_hdl_apb925za (Input 46,

                                                                                        Input table tt_integr_apb_lote_fatura_34,

                                                                                        Input table tt_integr_apb_item_lote_faturafat_2,

                                                                                        Input table tt_integr_apb_relacto_fatura_2,

                                                                                        Input table tt_integr_apb_impto_impl_pend1pend6,

                                                                                        input-output table tt_log_erros_atualiz,

                                                                                        input-output table tt_api_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

4

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



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

cod_id_integr_apb_lote_impl

recid

">>>>>>9"

character

“x(80)”

Sugestão de valor para

Recid. Deverá

ser informado:

RECID

STRING(ROWID(tt_integr_apb_lote_fatura_

3

4)).

 

 



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 4 no-undo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        field ttv_ind_matriz_fornec            as fornec            as character format "X(08)"

        field ttv_reccod_id_integr_apb_lote_impl     as recid impl  as character format ">>>>>>9x(80)"

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

        field ttv_log_fatur_emis_darf          as 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 no

        index tt_lote_impl_tit_ap_integr_id    is id    is primary unique

                    tta_cod_estab                    ascending          estab                    ascending

          tta_cod_refer                    ascending

          refer                    ascending          tta_cod_estab_ext                ascending

    .

 

ext                ascending
    .


Tabela Temporária

Descrição

Entrada/Saída

tt_integr_apb_item_lote_

fatura

fat_2

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

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_

rec

cod_id_integr_apb_lote_impl

recid

">>>>>>9"

character

“x(80)”

Identificador do lote. Receberá: tt_integr_apb_lote_fatura_

3

4.ttv_

rec

cod_id_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

cod_id_integr_apb_item_lote

recid

character

"

>>>>>>9

x(80)"

Identificador do item.

 

 

Sugestão: String(rowid(tt_integr_apb_item_lote_fat_2))



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  def temp-table tt_integr_apb_item_lote_fat_fatura 2 no-undo

        field ttv_reccod_id_integr_apb_lote_impl     as recid impl  as character format ">>>>>>9x(80)"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        field tta_val_perc_juros_dia_atraso    as 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 atraso        as decimal format ">9.99" decimals 2 initial 00.00 label "Perc Multa Atraso" column-label "Multa Atr"

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

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

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

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

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

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

        field tta_num_id_tit_ap                as ap                as integer format "9999999999999999999" initial 0 label "Token Tit Tít AP" column-label "Token Tit Tít AP"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        field ttv_cod_recid_integr_apb_item_lote     as recid lote  as character format ">>>>>>9x(80)"

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

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

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

        index tt_integr_apb_fatura_nf          is nf          is unique

          ttv_rec          ttv_cod_id_integr_apb_lote_impl     ascendingimpl  ascending

                    tta_cdn_fornecedor               fornecedor               ascending

                    tta_cod_ser_docto                ascendingdocto                ascending

                    tta_cod_tit_ap                   ascending          ap                   ascending

          tta_cod_parcela                  ascendingparcela                  ascending

        index tt_item_lote_impl_ap_integr_id   id   is primary unique

          ttv_rec          ttv_cod_id_integr_apb_lote_impl     ascendingimpl  ascending

                    tta_num_seq_refer                ascending

    .

 refer                ascending
    .


Tabela Temporária

Descrição

Entrada/Saída

tt_integr_apb_relacto_fatura_2

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_cod_

rec

id_integr_apb_lote_impl

recid

character

"

>>>>>>9

x(80)"

Identificador do lote. Receberá: tt_integr_apb_lote_fatura_

3

4.ttv_cod_

rec

id_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_2 no-undo

        field ttv_reccod_id_integr_apb_lote_impl     as recid impl  as character format ">>>>>>9x(80)"

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

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

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

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

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

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

        field tta_ind_motiv_acerto_val         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 tit            as logical format "Sim/Não" initial no

        index tt_integr_apb_relacto_fatura       pend       is primary unique

                    ttv_reccod_id_integr_apb_lote_impl     ascendingimpl  ascending

                    tta_cod_estab_tit_ap_pai         pai         ascending

                    tta_cdn_fornec_pai               pai               ascending

                    tta_cod_espec_docto_nf           nf           ascending

                    tta_cod_ser_docto_nf             nf             ascending

                    tta_cod_tit_ap                   ascending          ap                   ascending

          tta_cod_parc_nf                  ascending    .nf                  ascending
    .


Tabela Temporária

Descrição

Entrada/Saída

tt_integr_apb_impto_impl_

pend1

pend6

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_cod_

rec

id_integr_apb_item_lote

recid

“>>>>>>9”

character

“x(80)”

Identificador do Item. Deverá receber:

  tt

 tt_integr_apb_item_lote_

fatura

fat_2.ttv_cod_

rec

id_integr_apb_item_lote.

 

 



ttv_

rec

cod_id_antecip_pef_pend

recid

character

“x(80)”

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



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



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.

 

 

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 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 "Unidade Federação" column-label "UF"

    field tta_cod_imposto                  as character format "x(5)" label "Imposto" column-label "Imposto"

    field tta_cod_classif_impto            as character format "x(05)" initial "00000" label "Class Imposto" column-label "Class 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 "Parc"

    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 "Deducao Pensão" column-label "Deducao 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.99" decimals 2 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 "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 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"

    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

    .

 

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

...



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_cod_id_integr_apb_impto_pendcharacter"x(80)"Identificador do imposto pendente. Sugestão string(rowid(tt_integr_apb_impto_impl_pend6)).

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_pend6 no-undo

    field ttv_cod_id_integr_apb_item_lote  as character format "x(80)"

    field ttv_cod_id_antecip_pef_pend      as character format "x(80)"

    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(5)" label "Série Documento" column-label "Série"

    field tta_cod_tit_ap                   as character format "x(16)" 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_cod_id_integr_apb_impto_pend as character format "x(80)"

    index tt_impto_impl_pend_ap_integr     is primary unique

          ttv_cod_id_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

          ttv_cod_id_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_pend6. tta_val_nao_retid 
  - tt_integr_apb_impto_impl_pend6 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_api_params_generic

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

Entrada / Saída

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_cod_row_id

character

X(80)




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_api_params_generic no-undo

    field ttv_cod_row_id                       as character format "x(80)"

    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_cod_row_id_id                       ascending

          ttv_cod_campo                    ascending


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

create tt_api_params_generic.

assign tt_api_params_generic.ttv_cod_row_id_id   = tt_integr_apb_item_lote_fat_2.ttv_cod_id_integr_apb_item_lote

            tt_api_params_generic.ttv_cod_campo = 'Safra':U

            tt_api_params_generic.ttv_cod_tabela  = 'tt_integr_apb_item_lote_fatura':U

            tt_api_params_generic.ttv_cod_valor    = (Valor Da Safra).

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

create tt_api_params_generic.

assign tt_api_params_generic.ttv_cod_row_id_id  = tt_integr_apb_item_lote_fat_2.ttv_cod_id_integr_apb_item_lote

            tt_api_params_generic.ttv_cod_campo = 'cod_contrato':U

            tt_api_params_generic.ttv_cod_tabela  = 'tt_integr_apb_item_lote_fatura':U

            tt_api_params_generic.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_api_params_generic para cada fatura conforme exemplo abaixo:

CREATE tt_api_params_generic.
ASSIGN tt_api_params_generic.ttv_cod_tabela = 'tt_integr_apb_item_lote_fatura':U
              tt_api_params_generic.ttv_cod_row_id_id = tt_integr_apb_item_lote_fat_2.ttv_cod_id_integr_apb_item_lote
              tt_api_params_generic.ttv_cod_campo = 'Cod Barras':U
              tt_api_params_generic.ttv_cod_valor = '836600000068415601620008001010202057667503152098'. /* Exemplo de código de barras de conta de consumo ou tributo */

CREATE tt_api_params_generic.
ASSIGN tt_api_params_generic.ttv_cod_tabela = 'tt_integr_apb_item_lote_fatura':U
              tt_api_params_generic.ttv_cod_row_id_id = tt_integr_apb_item_lote_fat_2.ttv_cod_id_integr_apb_item_lote
              tt_api_params_generic.ttv_cod_campo = 'Número Bancário':U
              tt_api_params_generic.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_api_params_generic.
assign tt_api_params_generic.ttv_cod_tabela = "tt_integr_apb_item_lote_fatura"
            tt_api_params_generic.ttv_cod_row_id_id = tt_integr_apb_item_lote_fat_2.ttv_cod_id_integr_apb_item_lote
            tt_api_params_generic.ttv_cod_campo = "cod_txid"
            tt_api_params_generic.ttv_cod_valor = "12544".

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

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