Hola. Tengo un problema con una función:
   
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION UF_ANHO_BISIESTO (
anho IN varchar2 ) RETURN varchar2
IS
BEGIN
DECLARE
anho1        NUMBER(4);
ln_valor     NUMBER(1);
retorna      varchar2(1);
BEGIN
    anho1 := to_number(anho);
    BEGIN
    SELECT CASE WHEN ((MOD(anho1,4) = 0) AND (MOD(anho1,100) <> 0) OR (MOD(anho1,400) = 0)) THEN 1 --Si es bisiesto retorna 1
                       ELSE 0 --Si no es bisiesto retorna 0
                  END
    INTO ln_valor
    FROM dual;
   
   END;
   retorna := to_char(ln_valor);
   RETURN TRIM(retorna);
END;
END;
  
El error exacto es: ORA-00904: "anho1": invalid identifier.
Esta función antes recibía un numero por parámetro pero, me daba el mismo error. Alguna idea para solucionarlo??