Produto: | Datasul |
Ocorrência: | Documentação de API |
| Nome Físico | prgfin/acr/acr575za |
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.
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.
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.
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 |
| Atributo | Descrição | Formato | Descrição | Mandatório | Observação |
| ttv_cod_particip_instit_financ | character | x(30) | Cód. Participante | Sim | |
| tta_nom_pessoa | character | x(40) | Nome | Não | |
| tta_cod_pais | character | x(3) | País | Não | |
| tta_nom_endereco | character | x(40) | Endereço | Nã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_ems2 | character | x(5) | Estabelecimento EMS2 |
| ttv_cod_ser_docto_fat | character | x(5) | Série Faturamento |
| tta_cod_nota_fisc_faturam | character | x(16) | Nota Fiscal |
| tta_cod_parcela_faturam | character | x(2) | Parcela Nota |
| tta_cod_proces_export | character | x(12) | Processo Exportação |
| ttv_cod_estab_ems5 | character | x(5) | Estabelecimento |
| tta_cod_espec_docto | character | x(3) | Espécie Documento |
| tta_cod_ser_docto | character | x(5) | Série Documento |
| tta_cod_tit_acr | character | x(16) | Título |
| tta_cod_parcela | character | x(02) | Parcela |
| tta_cdn_cliente | Integer | >>>,>>>,>>9 | Cliente |
| tta_ind_trans_acr_abrev | character | "x(04) | Trans Abrev |
| ttv_dat_pagto_eletron_movto | date | 99/99/9999 | Data Pagto |
| tta_val_movto_tit_acr | decimal | ->>>,>>>,>>9.99 | Vl Movimento |
| tta_val_desconto | decimal | ->>>,>>>,>>>,>>9.99 | Valor Desconto |
| tta_val_abat_tit_acr | decimal | >>>>,>>>,>>9.99 | Vl Abatimento |
| tta_val_juros | decimal | >>>>,>>>,>>9.99 | Valor Juros |
| tta_val_multa_tit_acr | decimal | >>>>,>>>,>>9.99 | Vl Multa |
| tta_val_despes_bcia | decimal | ->>>,>>>,>>9.99 | Vl Desp Banc |
| tta_cod_portador | character | x(5) | Portador |
| tta_cod_cart_bcia | character | x(3) | Carteira |
| ttv_val_brut_icms | decimal | ->>,>>>,>>>,>>9.99 | Valor ICMS |
| ttv_val_brut_iss | decimal | ->>,>>>,>>>,>>9.99 | Vl Bruto ISS |
| ttv_val_brut_outros | decimal | ->>,>>>,>>>,>>9.99 | Valor Bruto Outros |
| ttv_cod_particip_instit_financ | character | X(30) | Céd. Particip Instit |
| ttv_cod_particip_interm | character | X(20) | Cód. Particip Interm |
| tta_ind_orig_tit_acr | character | X(8) | Origem Tit Cta Rec |
| ttv_log_autom_acr | logical | Sim/Não | Gerado Autom ACR |
| ttv_num_id_movto_tit_acr_ren | integer | 999999999 | Token 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"
.