Árvore de páginas

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicoprgfin/acr/acr545za

 

Objetivo

Receber informações da distribuição e determinar o portador e a carteira bancária dos documentos (notas fiscais) de acordo com regras cadastradas nos Parâmetros de Destinação de Cobrança.

 

Parâmetros da API:

  • pi_param_port_distrib_v1:

 

Input p_num_vers_integr_api: será utilizado para determinar se está utilizando a última versão do método, deve ser do tipo integer;

Input p_cod_estab_ext: será usado para buscar os parâmetros empresa ACR do estabelecimento no financeiro. Terá conteúdo opcional. Se ele não for informado, considerar a empresa corrente do usuário para a pesquisa, deve ser do tipo character;

output p_log_portad_distrib: deverá retornar se o estabelecimento Determina Portador Distribiuição ou não, deve ser do tipo logical;

output table tt_erro_integr_portad_distrib: temp-table de erros.

 

  • pi_determ_port_distrib_v1:

Input p_num_vers_integr_api: será utilizado para determinar se está utilizando a ultima versão do método, deve ser do tipo integer;

Input p_cod_estab_ext: será usado para buscar a destinação de cobrança padrão do estabelecimento, deve ser do tipo character;

Input p_cod_finalid_econ_ext: será usado para buscar a destinação de cobrança padrão do estabelecimento, deve ser do tipo character;

Input p_dat_transacao: será usado para buscar a destinação de cobrança padrão do estabelecimento, deve ser do tipo date;

Input table tt_parc_docto_distrib: contém as parcelas dos documentos (notas fiscais);

Input table  tt_sdo_distrib: contém o valor das notas fiscais não integradas com o Financeiro;

input-output table tt_docto_distrib: receberá as notas fiscais enviadas que deverão ter o portador e a carteira bancária determinados de acordo com os critérios do financeiro;

output table tt_erro_integr_portad_distrib: temp-table de erros.

Funcionamento

O programa API contém dois métodos principais: 

  • pi_param_port_distrib_v1: utilizado para saber se o o parâmetro Determina Portador Distribuição está ativo.
  • pi_determ_port_distrib_v1: utilizado para determinar Portador e Carteira do Documento da Distribuição.

 

Em ambos os casos, executar o programa API(utilizar o nome externo), da seguinte forma:

def var v_hdl_program as Handle no-undo.

run prgfin/acr/acr545za.py persistent set v_hdl_program .

 

Então deve ser rodado o método desejado, sendo:

  • pi_param_port_distrib_v1:

run pi_param_port_distrib_v1 in v_hdl_program (input 1, 

                                                                                 input v_cod_estab_ext, 

                                                                                output v_log_portad_distrib, 

                                                                                output table tt_erro_integr_portad_distrib). 

  • pi_determ_port_distrib_v1:

run pi_determ_port_distrib_v1 in v_hdl_program (input 1,

                                                                                  input v_cod_estab_ext,

                                                                                  input v_cod_finalid_econ_ext,

                                                                                  input v_dat_transacao,

                                                                                  input-output table tt_docto_distrib,

                                                                                  input table tt_parc_docto_distrib,

                                                                                  input table tt_sdo_distrib,

                                                                                  output table tt_erro_integr_portad_distrib). 

e no final, eliminar handle:

Delete procedure v_hdl_program.

 

Tabelas Temporárias

Nos atributos das tabelas temporárias de entrada e saída:

Tabela Temporária

Descrição

Entrada/Saída

tt_sdo_distrib

(Metódo pi_determ_port_distrib_v1) Conterá o valor das notas fiscais não integradas com o Financeiro. Pode ser deixada em branco;

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

tta_cod_portad_ext

character

x(8)

Portador Externo

sim

 

tta_cod_modalid_ext

character

x(8)

Modalidade Externa

sim

 

tta_cod_portador

character

x(5)

Portador

sim

 

tta_cod_cart_bcia

character

x(3)

Carteira

sim

 

ttv_val_nao_integr

decimal

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

Valor Não Integrado

sim

 


def temp-table tt_sdo_distrib no-undo
    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_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_nao_integr as decimal format "->>,>>>,>>>,>>9.99" decimals 2 label "Valor Não Integrado" column-label "Valor Não Integrado"
  index tt_id is primary unique
    tta_cod_portad_ext ascending
    tta_cod_modalid_ext ascending.

 

Tabela Temporária

Descrição

Entrada/Saída

tt_docto_distrib

(Metódo pi_determ_port_distrib_v1Receberá as notas fiscais que deverão ter o portador e a carteira bancária determinados de acordo com os critérios do financeiro;

Entrada-Saída

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_cod_integr_portad_distrib

character

x(80)

Identificador Documento

sim

 

tta_cdn_cliente

Integer

>>>,>>>,>>9

Cliente

sim

 

tta_dat_transacao 

date

99/99/9999

Data Transação

sim

 

ttv_val_docto

decimal

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

Valor Documento

sim

 

ttv_cod_portad_dest(*)character x(5) Portador Destinado  
ttv_cod_cart_bcia_dest(*)characterx(3) Carteira Bancária Destino  
ttv_cod_portad_ext_dest(*)character x(5)Portador Externo Destino   
ttv_cod_modalid_ext_dest(*)character x(3)Modalidade Externa Destino  
ttv_ind_retorno(*)characterx(3)Retorno  

* campos devem ser deixados em branco, caso algum valor seja informado, será desconsiderado

 

def temp-table tt_docto_distrib no-undo

    field ttv_cod_integr_portad_distrib as character format "x(80)" label "Doc Integ Portad Dis" column-label "Doc Integ Portad Dis"
    field tta_cdn_cliente as Integer format ">>>,>>>,>>9" initial 0 label "Cliente" column-label "Cliente"
    field tta_dat_transacao as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"
    field ttv_val_docto as decimal format "->>,>>>,>>>,>>9.99" decimals 2 label "Valor Documento" column-label "Valor Documento"
    field ttv_cod_portad_dest as character format "x(5)" label "Portador Destinado" column-label "Portador Destinado"
    field ttv_cod_cart_bcia_dest as character format "x(3)" label "Carteira Bcia Dest" column-label "Carteira Bcia Dest"
    field ttv_cod_portad_ext_dest as character format "x(5)" label "Portad Ext Dest" column-label "Portad Ext Dest"
    field ttv_cod_modalid_ext_dest as character format "x(3)" label "Modalid Ext Dest" column-label "Modalid Ext Dest"
    field ttv_ind_retorno as character format "X(03)" label "Retorno" column-label "Retorno"
  index tt_dat_transacao
    tta_dat_transacao ascending
  index tt_id is primary unique
    ttv_cod_integr_portad_distrib ascending.

 

 

Tabela Temporária

Descrição

Entrada/Saída

tt_parc_docto_distrib

(Metódo pi_determ_port_distrib_v1Contém as parcelas dos documentos (notas fiscais);

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_cod_integr_portad_distrib 

character 

x(80)

Doc Integ Portad Dis

sim

 

tta_dat_vencto 

date 

99/99/9999

Vencimento

sim

 

tta_val_parcela 

decimal 

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

Parcela

sim

 

def temp-table tt_parc_docto_distrib no-undo
     field ttv_cod_integr_portad_distrib as character format "x(80)" label "Doc Integ Portad Dis" column-label "Doc Integ Portad Dis"
    field tta_dat_vencto as date format "99/99/9999" initial ? label "Vencimento" column-label "Vencimento"
    field tta_val_parcela as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Parcela" column-label "Parcela"
  index tt_id is primary unique
    ttv_cod_integr_portad_distrib ascending
    tta_dat_vencto ascending.

.

Tabela Temporária

Descrição

Entrada/Saída

tt_erro_integr_portad_distrib

(Metódo pi_determ_port_distrib_v1 e pi_param_port_distrib_v1Tabela de possíveis erros

Saída

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

ttv_num_seq_erro 

integer

>>>>,>>9

Código Sequencial

 

 

ttv_cod_integr_portad_distrib 

character

x(80)

Código Documento

 

 

ttv_num_erro 

integer

>>>>,>>9

Número Erro

 

 

ttv_des_erro 

character

x(50)

Descrição Erro

 

 

ttv_des_help

character

x(40)

Help Erro

 

 

ttv_des_paramcharacterx(50)Parâmetros  
ttv_des_informacharacterx(40)Informações Complementares  
ttv_des_typecharacterx(10)Tipo Erro  


def temp-table tt_erro_integr_portad_distrib no-undo
    field ttv_num_seq_erro as integer format ">>>>,>>9" initial 0
    field ttv_cod_integr_portad_distrib as character format "x(80)" label "Doc Integ Portad Dis" column-label "Doc Integ Portad Dis"
    field ttv_num_erro as integer format ">>>>,>>9"
    field ttv_des_erro as character format "x(50)" label "Inconsistência" column-label "Inconsistência"
    field ttv_des_help as character format "x(40)" label "Ajuda" column-label "Ajuda"
    field ttv_des_param as character format "x(50)" label "Param" column-label "Param"
    field ttv_des_informa as character format "x(40)" label "Observações" column-label "Observações"
    field ttv_des_type as character format "x(10)"
  index tt_chave_document 
    ttv_cod_integr_portad_distrib ascending
  index tt_id is primary unique
    ttv_num_seq_erro ascending.