Here is code that makes compile errors:

CREATE OR REPLACE FUNCTION isnumber(strn_len IS VARCHAR2)
REPLACE retvar AS
retvar INTEGER;
BEGIN
IF (select decode(translate(strn_len,'1234567890','N'),'N',1,0) from dual) THEN
retval := 1;
ELSE
retval := 0;
END IF;
RETRUN retval;
END;
/

The select works fine, as I testd with strings and numbeers only and got either ones or zeros.

Rich