1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

API - Aprovação de crédito - CDAPI013

Discussão em 'EMS , HCM e Totvs 11' iniciado por CLEITON SOUZA, Setembro 14, 2020.

  1. CLEITON SOUZA

    CLEITON SOUZA Sem Pontuação

    Boa tarde Pessoal.

    Estou tentando rodar aqui a API de aprovação de crédito (CDAPI013). Porém, ela não faz nada.
    Consigo ter os retornos de erro, mas quando não há erro nenhum, a API não faz nada.

    O que estou fazendo errado?

    --------------------------------
    //API DESENVOLVIDA SEGUINDO A DOCUMENTAۂO https://tdn.totvs.com/pages/releaseview.action?pageId=212896869 INFORMADA POR ANALISTA TOTVS VIA TICKET: 9764569
    //POR: CLEITON/MARCOS - B.I
    {especificos/qg/credito/api/cdapi013.i}
    PROCEDURE pi-AVACLI:
    //INPUT DE PARAMETROS-----------------------------------------------------------------------------------------------------------
    DEF VAR nr-pedido AS INTEGER NO-UNDO. //C¢digo do pedido em questÆo
    DEF VAR param-aval AS INTEGER NO-UNDO. //Parƒmetro de avalia‡Æo (1 - Atraso, 2 - Limite, 3 - Ambos)
    DEF VAR cod-sit-aval AS INTEGER NO-UNDO. //Situa‡Æo do pedido avaliado
    DEF VAR embarque AS LOGICAL NO-UNDO. //Avalia‡Æo sendo feita no Embarque (Faturamento) ou Implanta‡Æo do Pedido
    DEF VAR efetiva AS LOGICAL NO-UNDO. //Efetiva a avalia‡Æo de credito ou apenas faz simula‡Æo
    DEF VAR retorna AS LOGICAL NO-UNDO. //Retorna logo ap¢s a primeira ocorrˆncia encontrada ou nÆo
    DEF VAR reavalia-forc AS LOGICAL NO-UNDO. //Avalia Pedidos aprovados de maneira for‡ada
    DEF VAR vl-a-avaliar AS DECIMAL NO-UNDO. //Valor a ser abatido do cr‚dito do cliente
    DEF VAR saldo-lim AS DECIMAL NO-UNDO. //Armazena o saldo do limite de cr‚dito sem o pedido em questÆo
    DEF VAR usuario AS CHARACTER NO-UNDO. //Usu rio corrente
    DEF VAR programa AS CHARACTER NO-UNDO. //Programa que chamou a API
    //OUTPUTS DE ERRO-----------------------------------------------------------------------------------------------------------------
    DEF VAR erro-emitente AS INTEGER NO-UNDO.
    DEF VAR cd-erro AS INTEGER NO-UNDO.
    //-------------------------------------------------------------------------------------------------------------------------------------
    //INSERINDO OS REGISTROS DE EMITENTES NA TEMP TABLE---------------------------------------------------------------------------------
    CREATE tt-param-aval.
    ASSIGN
    tt-param-aval.nr-pedido = 80144
    tt-param-aval.param-aval = 3
    tt-param-aval.cod-sit-aval = 3
    tt-param-aval.embarque = NO
    tt-param-aval.efetiva = NO
    tt-param-aval.retorna = NO
    tt-param-aval.reavalia-forc = NO
    tt-param-aval.vl-a-avaliar = 5000
    tt-param-aval.saldo-lim = 5000
    tt-param-aval.usuario = 'cleiton'
    tt-param-aval.programa = 'PORTAL-BI'
    .
    FIND FIRST tt-param-aval WHERE tt-param-aval.nr-pedido = 80144.
    //INSERINDO OS REGISTROS DE ERRO NA TEMPTABLE DA INCLUDE------------------------------------------------------------------------------
    CREATE tt-erros-aval.
    ASSIGN
    tt-erros-aval.cod-emitente = erro-emitente
    tt-erros-aval.cd-erro = cd-erro
    .
    //RODANDO A API INFORMANDO AS TEMP TABLES QUE TRABALHAMOS------------------------------------------------------------------------------------
    RUN especificos/qg/credito/api/cdapi013.r (INPUT-OUTPUT TABLE tt-param-aval, INPUT-OUTPUT TABLE tt-erros-aval).
    FIND FIRST tt-erros-aval WHERE tt-erros-aval.cod-emitente <> 0 NO-LOCK NO-ERROR.
    IF AVAIL tt-erros-aval THEN
    ASSIGN cd-erro = tt-erros-aval.cd-erro
    erro-emitente = tt-erros-aval.cod-emitente
    .
    IF tt-erros-aval.cd-erro = 4084 THEN
    MESSAGE "4084: Nr meses inativo" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4085 THEN
    MESSAGE "4085: Nr meses inativo (MP)" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4086 THEN
    MESSAGE "4086: Atraso de pagamento nos últimos X meses" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4087 THEN
    MESSAGE "4087: Atraso de pagamento nos últimos X meses (MP)" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4088 THEN
    MESSAGE "4088: Valor excedido para títulos de Aviso de Débito" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4089 THEN
    MESSAGE "4089: Valor excedido para títulos de Aviso de Débito (MP)" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4090 THEN
    MESSAGE "4090: Valor excedido para duplicatas normais" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4091 THEN
    MESSAGE "4091: Valor excedido para duplicatas normais (MP)" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 8464 THEN
    MESSAGE "8464 - Cliente possui cheque devolvido" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4092 THEN
    MESSAGE "4092: Data do limite de crédito vencida" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4097 THEN
    MESSAGE "4097: Valor do limite de crédito não pode ser 0 (Zero)" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4093 THEN
    MESSAGE "4093: Cliente excedeu seu LC sem considerar o pedido em questão" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4094 THEN
    MESSAGE "4094: Cliente excedeu seu LC sem considerar o pedido em questão (MP)" VIEW-AS ALERT-BOX
    .
    IF tt-erros-aval.cd-erro = 4095 THEN
    MESSAGE "4095: Cliente excedeu seu LC com o pedido em questão" VIEW-AS ALERT-BOX
    .
    IF AVAIL tt-erros-aval THEN DO ON ENDKEY UNDO, RETRY:
    FIND FIRST ped-venda NO-LOCK WHERE ped-venda.nr-pedido = 80144 no-error.

    RUN utp/ut-msgs.p (INPUT "show","show",
    INPUT tt-erros-aval.cd-erro, /* Número da mensagem de Erro */
    INPUT ped-venda.nr-pedcli + "~~" +
    ped-venda.nome-abrev + "~~" +
    ped-venda.desc-bloq ).
    DELETE tt-erros-aval.

    END.
    END PROCEDURE.

    RUN pi-AVACLI.

Compartilhe esta Página