/*
 @C:\Web_649\Sql\End_Conv\Oracle\3984_PEDFUNO_BUSCA_NIVEL_PRODUTO.SQL

 Descrição:
 Função para retornar a família do produto

 Parâmetros

 P_CDARVPROD    - Código do Produto
 P_CDNVPRODUTO  - Totalizador 

 raise_application_error(-20501, '' , True);
*/

create or replace FUNCTION BUSCA_NIVEL_PRODUTO(
   P_CDARVPROD    IN PRODUTO.CDARVPROD %TYPE,
   P_CDNVPRODUTO  IN PRODUTO.CDNVPRODUTO%TYPE) RETURN VARCHAR2 IS

   V_TAMNIVEL    INTEGER;
   V_CDARVNIVEL  PRODUTO.CDARVPROD%TYPE;
   V_RESULT VARCHAR2(255);
BEGIN
   V_RESULT := '';
   SELECT LENGTH(MAX(P.CDARVPROD))
     INTO V_TAMNIVEL
     FROM PRODUTO P
    WHERE  P.CDNVPRODUTO = P_CDNVPRODUTO;
    
   SELECT SUBSTR(MAX(P.CDARVPROD),1,V_TAMNIVEL)
     INTO V_CDARVNIVEL
     FROM PRODUTO P
    WHERE P.CDARVPROD = P_CDARVPROD;
    
   SELECT MAX(P.NMPRODUTO)
     INTO V_RESULT
     FROM PRODUTO P
     WHERE P.CDARVPROD = V_CDARVNIVEL;
        
   RETURN(V_RESULT);
END;
/
-- VERSAO --
BEGIN ATUVEROBJ('BUSCA_NIVEL_PRODUTO','6.49.xxx'); END;
/