CREATE OR REPLACE FUNCTION MENOR_DATA_CLIENTE(
   P_CNPJ    IN CLIENTE.CDCLIENTE%TYPE,
   P_DATA_CORTE IN NOTAFISCAL.DTEMISSAO%TYPE) RETURN VARCHAR  
AS
   V_RETORNO  VARCHAR2(30);
BEGIN
  SELECT MIN(TO_CHAR(NVL(DTCADACLIE,P_DATA_CORTE), 'YYYYMMDD'))
    INTO V_RETORNO
    FROM CLIENTE
   WHERE DECODE(IDTPIJURCLIE, 'J', SUBSTR(NRINSJURCLIE,1,8), DECODE(IDTPIJURCLIE, 'F',NRINSJURCLIE,'')) = P_CNPJ;

  RETURN (V_RETORNO);
END;
/