CREATE OR REPLACE FUNCTION GETSLA
  (P_NRORG IN NUMBER, P_NRPARCNEGOCIO IN NUMBER, P_CDPRODUTO IN NUMBER)
RETURN NUMBER
 
IS
   V_BUCARSLACLIENTE VARCHAR2(01);
   V_BUCARSLAPADARAO VARCHAR2(01);
   V_NAOEXITESLA VARCHAR2(01);
   V_NRSEQSLA NUMBER;
   
BEGIN  
   /* Busca o SLA utilizado pelo Produto/Cliente do Ticket */
   V_BUCARSLACLIENTE := 'N';
   BEGIN
      SELECT NRSEQSLA
        INTO V_NRSEQSLA
        FROM CRM_SLAPRODPARCNEG
       WHERE NRPARCNEGOCIO    = P_NRPARCNEGOCIO
         AND CDPRODUTO        = P_CDPRODUTO
         AND NRORG            = P_NRORG
         AND IDATIVO          = 'S'
         AND ROWNUM           = 1;
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         V_BUCARSLACLIENTE := 'S';
   END;
   /* Busca o SLA utilizado pelo Cliente do Ticket */
   V_BUCARSLAPADARAO := 'N';
   IF V_BUCARSLACLIENTE = 'S' THEN
      BEGIN
         SELECT NRSEQSLA
           INTO V_NRSEQSLA
           FROM CRM_SLAPARCNEGOCIO
          WHERE NRORG         = P_NRORG
            AND NRPARCNEGOCIO = P_NRPARCNEGOCIO
            AND IDATIVO       = 'S'
            AND ROWNUM           = 1;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_BUCARSLAPADARAO := 'S';
      END;
   END IF;
   IF V_BUCARSLAPADARAO = 'S' THEN
      BEGIN
         SELECT NRSEQSLA
           INTO V_NRSEQSLA
           FROM CRM_SLA
          WHERE NRORG       = P_NRORG
            AND IDSLAPADRAO = 'S'
            AND IDATIVO     = 'S'
            AND ROWNUM           = 1;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_NAOEXITESLA := 'S';
      END;
   END IF;
   RETURN (V_NRSEQSLA);
END;
/

-- VERSAO --
BEGIN ATUVEROBJ('GETSLA','0.00.000'); END;
/
