CDAPI013 - Avaliação de Crédito
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico: | cdp/cdapi013.p |
Objetivo:
Retornar os eventuais problemas de crédito do cliente/pedido, assim como atualizar o pedido de venda de acordo com a situação do cliente (aprovar, reprovar, avaliar).
Considerações Gerais:
A seguinte temp-table deve ser atualizada para a execução:
TT-PARAM-AVAL
Campo | Tipo | Descrição |
---|---|---|
nr-pedido | integer | Código do pedido em questão |
param-aval | integer | Parâmetro de avaliação (1 - Atraso, 2 - Limite, 3 - Ambos) |
cod-sit-aval | integer | Situação do pedido avaliado |
embarque | logical | Avaliação sendo feita no Embarque (Faturamento) ou Implantação do Pedido |
efetiva | logical | Efetiva a avaliação de credito ou apenas faz simulação |
retorna | logical | Retorna logo após a primeira ocorrência encontrada ou não |
reavalia-forc | logical | Avalia Pedidos aprovados de maneira forçada |
vl-a-avaliar | decimal | Valor a ser abatido do crédito do cliente |
saldo-lim | decimal | Armazena o saldo do limite de crédito sem o pedido em questão |
usuario | character | Usuário corrente |
programa | character | Programa que chamou a API |
Parâmetros de Entrada/Saída
- temp-table TT-PARAM-AVAL (definição acima)
- temp-table TT-ERROS-AVAL - retorno dos eventuais problemas de crédito, conforme abaixo:
TT-ERROS-AVAL
Campo | Tipo | Descrição |
---|---|---|
emitente | integer | Código do Emitente |
cd-erro | integer | Motivo para não aprovação do crédito do cliente |
Hoje existem 14 testes listados abaixo (com numero da MSG EMS):
01. 4084: Nr meses inativo
02. 4085: Nr meses inativo (MP)
03. 4086: Atraso de pagamento nos últimos "x" meses
04. 4087: Atraso de pagamento nos últimos "x" meses (MP)
05. 4088: Valor excedido para títulos de Aviso de Débito
06. 4089: Valor excedido para títulos de Aviso de Débito (MP)
07. 4090: Valor excedido para duplicatas normais
08. 4091: Valor excedido para duplicatas normais (MP)
09. 8464: Cliente possui cheque devolvido
10. 4092: Data do limite de crédito vencida
11. 4097: Valor do limite de crédito não pode ser 0 (Zero)
12. 4093: Cliente excedeu seu LC sem considerar o pedido em questão
13. 4094: Cliente excedeu seu LC sem considerar o pedido em questão (MP)
14. 4095: Cliente excedeu seu LC com o pedido em questão
Execução
A API irá verificar o crédito do cliente do pedido de venda passado como parâmetro através da temp-table tt-param-aval. Conforme a avaliação, irá retornar o(s) erro(s) na temp-table tt-erros-aval ou a atual situação do pedido na tt-param-aval e no próprio pedido de venda (se parametrizado).
Exemplo de Utilização
Antes de tudo, deve ser declarado a include cdapi013.i que possui as definições da tt-param-aval e tt-erros-aval.
Antes de rodar a cdapi013.p (Api de Avaliação de Crédito), é necessária a criação da tt-param-aval carregando os campos conforme descrito na documentação.
Após a criação e os dados carregados, rodar a cdapi013.p
Caso necessário efetuar algum tratamento de validação, poderá ser feito conforme exemplo abaixo.
{cdp/cdapi013.i}
...
create tt-param-aval.
assign tt-param-aval.nr-pedido = ...
....
run cdp/cdapi013.p (input-output table tt-param-aval, input-output table tt-erros-aval).
…
find first tt-erros-aval where tt-erros-aval.cod-emitente = emitente.cod-emitente no-lock no-error.
if avail tt-erros-aval then do on endkey undo, retry:
run utp/ut-msgs.p (input "show",
input 8259, /* Número da mensagem de Erro */
input ped-venda.nr-pedcli + "~~" +
ped-venda.nome-abrev + "~~" +
ped-venda.desc-bloq).
delete tt-erros-aval.
end.