Árvore de páginas

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicoprgfin/acr/acr777zd

 

Objetivo

Retornar o valor do saldo em aberto do ACR e do APB do cliente (emitente), bem como verificar o número máximo de cheques devolvidos e o valor total máximo de cheques devolvidos. A API de Integração, que retorna os valores dos títulos disponíveis no EMS5 retorna especificamente, o Saldoem Aberto ACR(Saldo Total – Antecipações), o Saldoem Aberto APB(Saldo Total – Antecipações), Total de Aviso de Débito ACR em Atraso ,  o Total de Antecipaçõesem Aberto ACR, o Total de Antecipaçõesem Aberto APBe o Saldoem Aberto Vencido ACR.

Funcionamento

Na forma padrão, realiza-se a chamada através de um comando RUN normal, passando-se as temp-tables carregadas com as informações necessárias.

A sintaxe para a chamada da API é:

RUN prgfin/acr/acr777zd.py (input v_num_vers_integr_api,

                            INPUT v_cod_empresa,

                            INPUT v_cod_empresa_ext,

                            INPUT v_cod_estab,

                            INPUT v_cod_estab_ext,

                            INPUT v_num_dias_max_atr,

                            INPUT v_num_dias_max_atr_ad,

                            INPUT yes, /* v_log_valid_cheq */

                            INPUT no,  /* v_log_retorna_dados */

                            INPUT-OUTPUT TABLE tt_tit_acr_analise_credito,

                            INPUT-OUTPUT TABLE tt_tit_aP_analise_credito,

                            INPUT-OUTPUT TABLE tt-emitente,

                            INPUT-OUTPUT TABLE tt-emitente-safra,

                            INPUT-OUTPUT TABLE tt-erros-analise-credito).

 

 

Parâmetros API Integração Análise de Crédito:

Os Parâmetros utilizados pelo programa  estão listados abaixo, na ordem que se segue:

  • v_num_vers_integr_api: Versão de Integração da API
  • v_cod_empresa: Empresa a ser feita a Análise de Crédito (pode ser igual a ?, o que pode indicar que será analisada em todas as Empresas)
  • v_cod_empresa_ext: Empresa Externa (verificada através da Matriz de Tradução) a ser feita a Análise de Crédito
  • v_cod_estab: Estabelecimento a ser feita a Análise de Crédito (pode ser igual a ?, o que pode indicar que será analisada em todos os Estabelecimentos)
  • v_cod_estab_ext: Estabelecimento Externo (verificada através da Matriz de Tradução) a ser feita a Análise de Crédito
  • v_num_dias_maximo_atraso: utilizado para cálculo do Total de Títulos em Aberto com Vencimento em Atraso
  • tt-emitente: tabela temporária que contém todos os emitentes (clientes) a serem analisados
  • tt-emitente-safra: tabela temporária que contém todos os emitentes da safra
  • tt-erros-analise-credito: retorna os erros que aconteceram ao verificar a Análise de Crédito dos Emitentes (Clientes)
  • v_num_dias_max_atr_ad: utilizado para cálculo do Total de Títulos de Aviso de Débito em Aberto com Vencimento em Atraso
  • v_log_valid_cheq: Esta informação irá determinar se a API irá fazer o tratamento de cheques do Contas a Receber.
  • v_log_retorna_dados: Esta informação irá determinar se a API irá retornar os dados dos títulos do APB e ACR que foram levadosem consideração. Os dados serão retornados através das temp-table´s tt_tit_acr_analise_credito e tt_tit_ap_analise_credito.
  • tt_tit_acr_analise_credito: Irá retornar todos os títulos do Contas a Receber que fizeram parte da análise do crédito do cliente.
  • tt_tit_ap_analise_credito: Irá retornar todos os títulos do Contas a Pagar que fizeram parte da análise de crédito.

 

Definição dos Parâmetros Recebidos:

 

def var v_num_vers_integr_api as integer   format ">>>>,>>9" no-undo.

def var v_cod_empresa         as character format "x(03)"    no-undo.

def var v_cod_empresa_ext     as character format "x(03)"    no-undo.

def var v_cod_estab           as character format "x(03)"    no-undo.

def var v_cod_estab_ext       as character format "x(08)"    no-undo.

def var v_num_dias_max_atr    as integer   format ">>>9"     no-undo.

def var v_num_dias_max_atr_ad as integer   format ">>>9"     no-undo.

 

Tabelas Temporárias

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

 

Tabela Temporária

Descrição

Entrada/Saída

tt-emitente

Conterá as informações dos emitentes

Entrada e Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

cod-emitente

integer

>>>>>>9

Atributo Chave no qual será feita a pesquisa dos Saldos no EMS5. Poderá ser feita em todas as Empresas/Estabelecimentos conforme parametrização especificada. O Código do Emitente (utilizado no EMS2) deve ser compatível com o Código do Cliente (utilizado no EMS5), ou seja, deve existir a Integração Cliente/Fornecedor EMS2 x EMS5.

Sim

 

nome-abrev

character

x(12)

Esse Atributo não é utilizado na API, usado apenas no programa CDAPI013 do EMS2 (caso a API seja chamada por outro programa, não existe a necessidade deste atributo ser preenchido.

Não

 

nr-mesina

integer

>9

Mesmo caso que o citado acima.

Não

 

cod-gr-cli

integer

>9

Mesmo caso que o citado acima.

Não

 

nr-peratr

integer

>9

Mesmo caso que o citado acima.

Não

 

nr-cheque-devol

integer

>>9

Atributo utilizado para comparar o número máximo de cheques devolvidos (caso o número real de cheques devolvidos no período compreendido por qtd-dias seja maior ou igual ao nr-cheque-devol, a API retornará ERRO!

(conforme EMS2, se emitente.nr-cheque-devol = 0

então nr-cheque-devol = param-ped.nr-cheque-devol

senão nr-cheque-devol = emitente.nr-cheque-devol)

Sim

 

qtd-dias

integer

>>9

Atributo utilizado para indicar o número de dias à considerar na Análise de Número/Valor Total de Cheques Devolvidos (conforme EMS2,

se emitente.periodo-devol = 0

então qtd-dias = param-ped.periodo-devol

senão qtd-dias = emitente.periodo-devol)

Sim

 

vl-max-devol

decimal

>>>,>>>,>>9.99

Atributo utilizado para comparar o valor total em moeda de cheques devolvidos (caso o número valor total de cheques devolvidos no período compreendido por qtd-dias seja maior ou igual ao vl-max-devol, a API retornará ERRO! (conforme EMS2, se emitente.vl-max-devol = 0

Então vl-max-devol = param-ped. vl-max-devol

senão vl-max-devol = emitente. vl-max-devol)

Sim

 

moeda-credito

integer

>9

Atributo que contém a moeda externa na qual devem ser retornados os valores da Análise de Crédito para determinado emitente.

Sim

 

de-saldo-cr

decimal

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

Retorna o Saldo em Aberto (Saldo Total - Antecipação) ACR

Não

 

de-saldo-ap

decimal

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

Retorna o Saldo em Aberto (Saldo Total - Antecipação) APB

Não

 

de-tot-tit-atr-cr

decimal

>>>,>>>,>>>,>>9.99

Retorna o Saldo em Aberto Atrasado

Não

 

de-tot-ad-cr

decimal

>>>,>>>,>>>,>>9.99

Retorna o Total de Aviso de Débito ACR em Atraso

Não

 

de-cr-ant-aberto

decimal

>>>,>>>,>>>,>>9.99

Retorna o Total de Antecipações em Aberto ACR

Não

 

de-ap-ant-aberto

decimal

>>>,>>>,>>>,>>9.99

Retorna o Total de Antecipações em Aberto APB

Não

 

de-tot-tit-atr-ap

decimal

>>>,>>>,>>>,>>9.99

Retorna o Saldo de títulos a pagar em atraso

Não

 

de-ap-ant-sem-safra

decimal

>>>,>>>,>>>,>>9.99

Retorna o Saldo de antecipações que não possuem código de safra

Não

 

 

define temp-table tt-emitente no-undo

    field cod-emitente      as integer   format ">>>>>>9"

    field nome-abrev        as character format "x(12)"

    field nr-mesina         as integer   format ">9"

    field cod-gr-cli        as integer   format ">9"

    field nr-peratr         as integer   format ">9"

    /* ****    Atributos utilizados na integração com o EMS 5.0     *****/

    field nr-cheque-devol   as integer   format ">>9"                 /* Número de Cheques Devolvidos */

    field qtd-dias          as integer   format ">>9"

    field vl-max-devol      as decimal   format ">>>,>>>,>>9.99"      /* Valor Máximo do Total de Cheques Devolvidos */

    field identific         as integer   format ">9"

    field moeda-credito     as integer   format ">9"

    field de-saldo-cr       as decimal   format "->>>,>>>,>>>,>>9.99" /* Saldo em Aberto (Saldo Total - Antecipação) ACR */

    field de-saldo-ap       as decimal   format "->>>,>>>,>>>,>>9.99" /* Saldo em Aberto (Saldo Total - Antecipação) APB */

    field de-tot-tit-atr-cr as decimal   format ">>>,>>>,>>>,>>9.99"

    field de-tot-ad-cr      as decimal   format ">>>,>>>,>>>,>>9.99"  /* Total de Aviso de Débito ACR */

    field de-cr-ant-aberto  as decimal   format ">>>,>>>,>>>,>>9.99"  /* Total de Antecipações em Aberto ACR */

    field de-ap-ant-aberto  as decimal   format ">>>,>>>,>>>,>>9.99"  /* Total de Antecipações em Aberto APB */

    field de-tot-tit-atr-ap as decimal   format ">>>,>>>,>>>,>>9.99"  /* Saldo de títulos a pagar em atraso */

    field de-ap-ant-sem-safra as decimal format ">>>,>>>,>>>,>>9.99"  /* Saldo de antecipações que não possuem código de safra */

    index cod-emitente is primary cod-emitente.

 

Tabela Temporária

Descrição

Entrada/Saída

tt-emitente-safra

Conterá as informações dos emitentes da safra

Entrada e Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

cod-emitente

integer

>>>>>>9

Código do emitente

 

 

cod-safra

character

9999/9999

Código da safra

 

 

de-tit-abe-nao-venc-safra-cr

Decimal

>>>,>>>,>>>,>>9.99

Saldo de títulos a receber não vencidos

 

 

de-tit-abe-nao-venc-safra-ap

Decimal

>>>,>>>,>>>,>>9.99

Saldo de títulos a pagar não vencidos

 

 

de-ap-ant-safra             

Decimal

>>>,>>>,>>>,>>9.99

Saldo das antecipações

 

 

 

def temp-table tt-emitente-safra no-undo

    field cod-emitente                 as integer   format ">>>>>>>>9"          /* Código do emitente */

    field cod-safra                    as character format "9999/9999"          /* Código da safra */

    field de-tit-abe-nao-venc-safra-cr as decimal   format ">>>,>>>,>>>,>>9.99" /* Saldo de títulos a receber não vencidos */

    field de-tit-abe-nao-venc-safra-ap as decimal   format ">>>,>>>,>>>,>>9.99" /* Saldo de títulos a pagar não vencidos */

    field de-ap-ant-safra              as decimal   format ">>>,>>>,>>>,>>9.99" /* Saldo das antecipações */

    index cod-emitente-safra is primary cod-emitente

                                        cod-safra.

 

Tabela Temporária

Descrição

Entrada/Saída

tt-erros-analise-credito

Conterá as informações dos erros gerados na Análise de Crédito.

Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

cod-emitente

integer

>>>>>>9

Retorna o Código do Emitente em que ocorreu o erro. (Caso retorne “”, significa que o erro não é referente ao Emitente.

 

 

cod-mensagem

integer

>>>>,>>9

Retorna o Código da Mensagem.

 

 

des-msg

character

x(50)

Retorna a Descrição da Mensagem.

 

 

help-msg

character

x(50)

Retorna a Ajuda da Mensagem.

 

 

 

def temp-table tt-erros-analise-credito no-undo

    field cod-emitente      as integer   format ">>>>>>9"

    field cod-mensagem      as integer   format ">>>>,>>9"

    field des-msg           as character format "x(50)"  

    field help-msg          as character format "x(50)".

 

 

Tabela Temporária

Descrição

Entrada/Saída

tt_tit_acr_analise_credito

Conterá as informações dos títulos do Contas a Receber.

Entrada e Saída

def temp-table tt_tit_acr_analise_credito no-undo

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

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

    field tta_cdn_cliente                  as Integer format ">>>,>>>,>>9" initial 0 label "Cliente" column-label "Cliente"

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

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

    field tta_cod_tit_acr                  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_vencto_tit_acr           as date format "99/99/9999" initial ? label "Vencimento" column-label "Vencimento"

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

    field tta_ind_tip_espec_docto          as character format "X(17)" initial "Normal" label "Tipo Espécie" column-label "Tipo Espécie"

    field tta_ind_sit_tit_acr              as character format "X(13)" initial "Normal" label "Situação Título" column-label "Situação Título"

    field tta_log_tit_acr_estordo          as logical format "Sim/Não" initial no label "Estornado" column-label "Estornado"

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

    field tta_val_origin_tit_acr           as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Vl Original Título" column-label "Vl Original Título"

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

    field ttv_rec_tit_acr                  as recid format ">>>>>>9"

    field ttv_cod_indic_movto              as character format "x(1)" label "Indic Movto" column-label "Indic Movto"

    field ttv_val_sdo_tit_analis_cr        as decimal format "->>,>>>,>>>,>>9.99" decimals 2 label "Vl Análise Crédito" column-label "Vl Análise Crédito"

    index tt_chave                       

          tta_cod_empresa                  ascending

          tta_cod_estab                    ascending

          tta_cod_espec_docto              ascending

          tta_cod_ser_docto                ascending

          tta_cod_tit_acr                  ascending

          tta_cod_parcela                  ascending

    index tt_tipo_espec                  

          tta_ind_tip_espec_docto          ascending.

 

Tabela Temporária

Descrição

Entrada/Saída

tt_tit_ap_analise_credito

Conterá as informações dos títulos do Contas a Pagar.

Entrada e Saída

def temp-table tt_tit_ap_analise_credito no-undo

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

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

    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_espec_docto       as character format "x(3)" label "Espécie Documento" column-label "Espécie"

    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_vencto_tit_ap     as date format "99/99/9999" initial today label "Data Vencimento" column-label "Dt Vencto"

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

    field tta_ind_tip_espec_docto   as character format "X(17)" initial "Normal" label "Tipo Espécie" column-label "Tipo Espécie"

    field tta_ind_sit_tit_ap        as character format "X(13)" label "Situação" column-label "Situação"

    field tta_log_tit_ap_estordo    as logical format "Sim/Não" initial no label "Estornado" column-label "Estornado"

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

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

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

    field ttv_rec_tit_ap            as recid format ">>>>>>9" initial ?

    field ttv_cod_indic_movto       as character format "x(1)" label "Indic Movto" column-label "Indic Movto"

    field ttv_val_sdo_tit_analis_cr as decimal format "->>,>>>,>>>,>>9.99" decimals 2 label "Vl Análise Crédito" column-label "Vl Análise Crédito"

    index tt_chave                 

          tta_cod_empresa           ascending

          tta_cod_estab             ascending

          tta_cdn_fornecedor        ascending

          tta_cod_ser_docto         ascending

          tta_cod_espec_docto       ascending

          tta_cod_tit_ap            ascending

          tta_cod_parcela           ascending

    index tt_tipo_espec            

          tta_ind_tip_espec_docto   ascending.

 

Possíveis erros que podem retornar da API de Análise de Crédito

MENSAGENS DE ERRO

 360

Tradução da Empresa &1 não encontrada na Matriz &2 !

 735

Tipo de Unidade Organizacional Estabelecimento Desconhecido!

1733

Empresa Externa informada não possui Tradução!

4315

Estabelecimento informado não foi encontrado!

4672

Estabelecimento Externo não possui Tradução!

6783

Empresa informada não foi encontrada!

8239

Versão da API de Integração é inválida!

8877

A Matriz de Tradução informada nos parâmetros gerais de integração (Análise Crédito 2.00) é inválido!

8878

Não existe Integração de Análise Crédito 2.00! É necessário criar a integração através dos Parâmetros Gerais de Integração.

8882

Número/Valor Total de Cheques Devolvidos ultrapassou o limite!

8884

Emitente não foi informado! Pelo menos um Emitente é necessário para fazer a Análise de Crédito

 

Observações

  • Caso não seja informado a Empresa, Empresa Externa, Estabelecimento e Estabelecimento Externo, será feita a Análise de Crédito em todas as Empresas/Estabelecimentos existentes no EMS5.
  • Caso seja informado o Estabelecimento, serão desconsiderados os valores informados para Empresa, Empresa Externa e Estabelecimento Externo, ou seja, a Análise de Crédito será verificada apenas para o Estabelecimento informado, na sua respectiva Empresa.
  • Caso seja informado o Estabelecimento Externo (e não seja informado o Estabelecimento), serão desconsiderados os valores informados para Empresa e Empresa Externa. Através da Matriz de Tradução informada na integração de Análise Crédito 2.00 (integração criada através dos Parâmetros de Integração do EMS), será feita a Análise de Crédito apenas para o Estabelecimento correspondente, na sua respectiva Empresa.
  • Caso seja informado a Empresa (e não seja informado o Estabelecimento e Estabelecimento Externo) será desconsiderado o valor informado para Empresa Externa, ou seja, será feita a Análise de Crédito com base em todos os Estabelecimentos  da Empresa informada.
  • Caso seja informado a Empresa Externa (e não seja informado a Empresa, o Estabelecimento e o Estabelecimento Externo), através da Matriz de Tradução informada na integração de Análise Crédito 2.00 (criada através dos Parâmetros de Integração do EMS), será feita a Análise de Crédito com base em todos os Estabelecimentos da Empresa correspondente.
  • O cliente teve ter cadastrado o parâmetro de integração 'Análise de Crédito'.