Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicoprgfin/acr/acr575za

Objetivo

Extrair os registros de liquidação e antecipação dos Pagamentos Eletrônicos para enviar no SPED 1601

Vamos considerar todos os Movimentos de Liquidações com Portador diferente de Caixa e as Implantações de Antecipação que tem Portador informado e que este Portador seja diferente de Caixa.

Esta API será executada por um programa da Equipe Fiscal e retornará duas tabelas temporárias, sendo uma com os Movimentos extraídos e a outra com as informações dos Participantes , depois o mesmo programa do Fiscal irá chamar o Faturamento para identificar na Nota qual valor é ISS ou ICMS.

Funcionamento

1. No programa chamador da API  devem ser declaradas as temp-tables tt_dwf_pagto_eletr_particip, tt_dwf_pagto_eletr_movto e tt_log_erros_extracao. Informar nos parâmetros de entrada os campos código do estabelecimento do EMS2, a data inicial e a data final para extrair os dados. Informar nos parâmetros de saída a tabela temporárias tt_dwf_pagto_eletr_particip, tt_dwf_pagto_eletr_movto e tt_log_erros_extracao.

2. Executar o programa API conforme exemplo de código a seguir:

def var v_hdl_programa as handle no-undo.

run prgfin/acr/acr575za.py persistent set v_hdl_programa.

run pi_extrair_pagto_eletronico in v_hdl_programa (input v_cod_estab_ems2, input v_dat_inicial, input param v_dat_final, output table tt_dwf_pagto_eletr_particip, output table tt_dwf_pagto_eletr_movto, output table tt_log_erros_extracao).

delete procedure v_hdl_programa.

3. Após a execução do programa, pode ser verificada se retornou algum erro durante o processo de importação através da temp-table tt_log_erros_extracao.

Parâmetros de entrada

v_cod_estab_ems2: Determina para qual Estabelecimento EMS2 será extraído os dados.

v_dat_inicial: Determina a data inicial que irá extrair os dados.

v_dat_final: Determina a data final que irá extrair os dados.

Tabelas Temporárias

Tabela Temporária

Descrição

Entrada/Saída

tt_dwf_pagto_eletr_particip

Conterá as informações do participante do pagamento eletrônico que será gerada, podendo ser da Instituição Financeira ou do Marketplace

Entrada/Saída

AtributoDescriçãoFormatoDescriçãoMandatórioObservação
ttv_cod_particip_instit_financcharacterx(30)Cód. ParticipanteSim
tta_nom_pessoacharacterx(40)NomeNão
tta_cod_paischaracterx(3)PaísNão
tta_nom_enderecocharacterx(40)EndereçoNão


def temp-table tt_dwf_pagto_eletr_particip no-undo
    field ttv_cod_particip_instit_financ   as character format "x(30)" label "Cód. Participante"
    field tta_nom_pessoa                   as character format "x(40)" label "Nome" column-label "Nome"
    field tta_cod_pais                     as character format "x(3)" label "País" column-label "País"
    field tta_nom_endereco                 as character format "x(40)" label "Endereço" column-label "Endereço"
    index tt_dwf_pagto_partic              is primary unique
          ttv_cod_particip_instit_financ   ascending
    .


Tabela Temporária

Descrição

Entrada/Saída

tt_dwf_pagto_eletr_movto

Conterá as informações dos movimentos de liquidação e antecipação extraídos.

Saída

Atributo

Tipo

Formato

Descrição

tta_cod_empresa

character

x(3)

Empresa

tta_num_id_tit_acr

integer

999999999

Token Cta Receber

tta_num_id_movto_tit_acr

integer

999999999

Token Movto Tit  ACR

ttv_cod_estab_ems2characterx(5)Estabelecimento EMS2
ttv_cod_ser_docto_fatcharacterx(5)Série Faturamento
tta_cod_nota_fisc_faturamcharacterx(16)Nota Fiscal
tta_cod_parcela_faturamcharacterx(2)Parcela Nota
tta_cod_proces_exportcharacterx(12)Processo Exportação
ttv_cod_estab_ems5characterx(5)Estabelecimento
tta_cod_espec_doctocharacterx(3)Espécie Documento
tta_cod_ser_doctocharacterx(5)

Série Documento

tta_cod_tit_acrcharacterx(16)Título
tta_cod_parcelacharacterx(02)Parcela
tta_cdn_clienteInteger>>>,>>>,>>9Cliente
tta_ind_trans_acr_abrevcharacter"x(04)Trans Abrev
ttv_dat_pagto_eletron_movtodate99/99/9999Data Pagto
tta_val_movto_tit_acrdecimal->>>,>>>,>>9.99Vl Movimento
tta_val_descontodecimal->>>,>>>,>>>,>>9.99Valor Desconto
tta_val_abat_tit_acrdecimal>>>>,>>>,>>9.99Vl Abatimento
tta_val_jurosdecimal>>>>,>>>,>>9.99Valor Juros
tta_val_multa_tit_acrdecimal>>>>,>>>,>>9.99Vl Multa
tta_val_despes_bciadecimal->>>,>>>,>>9.99Vl Desp Banc
tta_cod_portadorcharacterx(5)Portador
tta_cod_cart_bciacharacterx(3)Carteira
ttv_val_brut_icmsdecimal->>,>>>,>>>,>>9.99Valor ICMS
ttv_val_brut_issdecimal->>,>>>,>>>,>>9.99Vl Bruto ISS
ttv_val_brut_outrosdecimal->>,>>>,>>>,>>9.99Valor Bruto Outros
ttv_cod_particip_instit_financcharacterX(30)Céd. Particip Instit
ttv_cod_particip_intermcharacterX(20)Cód. Particip Interm
tta_ind_orig_tit_acrcharacterX(8)Origem Tit Cta Rec
ttv_log_autom_acrlogicalSim/NãoGerado Autom ACR
ttv_num_id_movto_tit_acr_reninteger999999999Token Movto Tit  ACR


 def temp-table tt_dwf_pagto_eletr_movto no-undo
    field tta_cod_empresa                  as character format "x(3)" label "Empresa" column-label "Empresa"
    field tta_num_id_tit_acr               as integer format "999999999" initial 0 label "Token Cta Receber" column-label "Token Cta Receber"
    field tta_num_id_movto_tit_acr         as integer format "999999999" initial 0 label "Token Movto Tit  ACR" column-label "Token Movto Tit  ACR"
    field ttv_cod_estab_ems2               as character format "x(5)"
    field ttv_cod_ser_docto_fat            as character format "x(5)" label "Série Faturamento" column-label "Série"
    field tta_cod_nota_fisc_faturam        as character format "x(16)" label "Nota Fiscal" column-label "Nota Fiscal"
    field tta_cod_parcela_faturam          as character format "x(2)" label "Parcela Nota" column-label "Parcela"
    field tta_cod_proces_export            as character format "x(12)" label "Processo Exportação" column-label "Processo Exportação"
    field ttv_cod_estab_ems5               as character format "x(5)" label "Estabelecimento" column-label "Estabelecimento"
    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_acr                  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_cdn_cliente                  as Integer format ">>>,>>>,>>9" initial 0 label "Cliente" column-label "Cliente"
    field tta_ind_trans_acr_abrev          as character format "X(04)" label "Trans Abrev" column-label "Trans Abrev"
    field ttv_dat_pagto_eletron_movto      as date format "99/99/9999"
    field tta_val_movto_tit_acr            as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Vl Movimento" column-label "Vl Movimento"
    field tta_val_desconto                 as decimal format "->>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Desconto" column-label "Valor Desconto"
    field tta_val_abat_tit_acr             as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Vl Abatimento" column-label "Vl Abatimento"
    field tta_val_juros                    as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Juros" column-label "Valor Juros"
    field tta_val_multa_tit_acr            as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Vl Multa" column-label "Vl Multa"
    field tta_val_despes_bcia              as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Vl Desp Banc" column-label "Vl Desp Banc"
    field tta_cod_portador                 as character format "x(5)" label "Portador" column-label "Portador"
    field tta_cod_cart_bcia                as character format "x(3)" label "Carteira" column-label "Carteira"
    field ttv_val_brut_icms                as decimal format "->>,>>>,>>>,>>9.99" decimals 2 label "Valor ICMS"
    field ttv_val_brut_iss                 as decimal format "->>,>>>,>>>,>>9.99" decimals 2 label "Bruto ISS"
    field ttv_val_brut_outros              as decimal format "->>,>>>,>>>,>>9.99" decimals 2 label "Valor Bruto Outros"
    field ttv_cod_particip_instit_financ   as character format "x(30)" label "C¢d. Participante"
    field ttv_cod_particip_interm          as character format "x(20)"
    field tta_ind_orig_tit_acr             as character format "X(8)" initial "ACREMS50" label "Origem Tit Cta Rec" column-label "Origem Tit Cta Rec"
    field ttv_log_autom_acr                as logical format "Sim/NÆo" initial yes
    field ttv_num_id_movto_tit_acr_ren     as integer format "999999999" initial 0 label "Token Movto Tit  ACR" column-label "Token Movto Tit  ACR"
    index tt_dwf_pagto_eletr               is primary unique
          ttv_cod_estab_ems2               ascending
          ttv_cod_ser_docto_fat            ascending
          tta_cod_nota_fisc_faturam        ascending
          tta_cod_parcela_faturam          ascending
          tta_cod_proces_export            ascending
          ttv_dat_pagto_eletron_movto      ascending
          ttv_cod_particip_instit_financ   ascending
          ttv_cod_particip_interm          ascending
          ttv_cod_estab_ems5               ascending
          tta_cod_portador                 ascending
          tta_cod_cart_bcia                ascending
          tta_num_id_tit_acr               ascending
          tta_num_id_movto_tit_acr         ascending
          ttv_num_id_movto_tit_acr_ren     ascending
    index tt_dwf_particip                 
          ttv_cod_particip_instit_financ   ascending
          ttv_dat_pagto_eletron_movto      ascending
    index tt_dwf_titulo                   
          ttv_cod_estab_ems5               ascending
          tta_cod_espec_docto              ascending
          tta_cod_ser_docto                ascending
          tta_cod_tit_acr                  ascending
          tta_cod_parcela                  ascending
    .


Tabela Temporária

Descrição

Entrada/Saída

tt_log_erros_extracao

Conterá as informações de erros na extração dos dados.

Saída

Atributo

Tipo

Formato

Descrição

ttv_num_mensagem

integer

>>>>,>>9

Número

ttv_des_msg_erro

character

x(60)

Mensagem Erro

ttv_des_msg_ajuda 

character

x(40)

Mensagem Ajuda


def temp-table tt_log_erros_extracao no-undo
    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"
    .