CREATE OR REPLACE function IsLegibleString ( ASTRING varchar2) return number deterministic is --=========================================================================== -- Copywright 2007, chet west --============================================================================= -- DESCRIPTION -- Determine if a string is HUMAN legible --============================================================================= -- MODIFICATION HISTORY -- Person Date Comments -- --------- ---------- -------------------------------------------- -- Chet 2007 Initial Creation --============================================================================= -- RETURN_VALUE number := 0; LENGTH_ASTRING number := 0; ASCII_VALUE number := 0; begin LENGTH_ASTRING := length(ltrim(rtrim(ASTRING))); if (LENGTH_ASTRING != 0) then for CHRPSTN in 1..length(ASTRING) loop ASCII_VALUE := ascii(substr(ASTRING, CHRPSTN,(length(ASTRING)-CHRPSTN+1))); if (ASCII_VALUE >= 32 and ASCII_VALUE <= 126 ) then RETURN_VALUE := 1; else RETURN_VALUE := 888; return RETURN_VALUE; end if; end loop; else RETURN_VALUE := 0; end if; return RETURN_VALUE; exception when VALUE_ERROR then return 999; end; /