Search Results cast_to_raw
Overview
SYS.UTL_RAW is a core Oracle-supplied PL/SQL package that provides SQL and PL/SQL level functions for manipulating RAW datatypes. In the Oracle E-Business Suite 12.1.1 and 12.2.2 environments, this package serves as the low-level binary manipulation utility layer used throughout the technology stack. Its principal business function is to allow RAW values to be concatenated, copied, sliced, compared, translated, and converted without triggering character set conversion, thereby preserving the original binary representation of data as it moves between EBS application tiers, concurrent managers, and database sessions.
Within the ETRM repository, SYS.UTL_RAW is classified under API classification "OTHER" and is owned by the SYS schema. The metadata records 26 documented procedures and functions and indicates that the package is referenced by 203 other packages across the EBS codebase, underscoring its role as a foundational dependency rather than an application-specific API.
Key Procedures and Functions
The documented routines cover four broad areas of RAW handling:
- Composition and extraction: CONCAT, LENGTH, SUBSTR, COPIES, and OVERLAY allow RAW values to be assembled from multiple fragments, measured, split, duplicated, and overwritten at specific offsets.
- Conversion: CAST_TO_RAW, CAST_TO_VARCHAR2, CAST_TO_NVARCHAR2, CAST_TO_NUMBER, and CAST_FROM_NUMBER provide explicit translation between RAW and scalar datatypes, including numeric values rendered in canonical binary form.
- Comparison and transformation: COMPARE, REVERSE, TRANSLATE, TRANSLITERATE, XRANGE, and CONVERT support byte-wise evaluation and code-page aware transformation of RAW content.
- Bitwise operations: BIT_AND, BIT_OR, BIT_XOR, and BIT_COMPLEMENT perform bit-level logic across RAW operands, which is the exact area queried under the term bit_complement. BIT_COMPLEMENT inverts every bit of the supplied RAW value, producing the one's complement of the input.
Tables Accessed
The ETRM metadata records no tables referenced through APPS synonyms for SYS.UTL_RAW. This is consistent with the package's design intent: it is a stateless computational utility that operates solely on its input parameters and returns derived RAW or scalar values. It does not read or write application tables, which is why it is documented without table dependencies despite its extensive internal reuse.
Usage Notes
SYS.UTL_RAW is typically invoked through PL/SQL blocks in EBS Forms personalizations, concurrent program logic, database triggers, and custom extensions rather than being exposed directly to end users. Because 203 packages depend on it, changes to its behavior can propagate unintended effects; Oracle therefore treats it as a stable, database-level utility.
In EBS 12.1.1 and 12.2.2, developers commonly call UTL_RAW.CONCAT, LENGTH, SUBSTR, and the CAST functions when handling binary keys, checksums, or encoded payloads that must survive RPC transport unchanged. The bitwise routines, including BIT_COMPLEMENT, are used where flag masks or protocol headers require bit-level manipulation that standard SQL operators cannot perform on RAW columns. The package also defines the constants big_endian, little_endian, and machine_endian to govern endianness behavior for the binary integer cast routines.
Because UTL_RAW executes as the invoking user unless explicitly granted through a definer's rights wrapper, administrators should confirm that custom code running under restricted EBS schemas has appropriate EXECUTE privileges on SYS.UTL_RAW before deployment.
-
PACKAGE: SYS.UTL_RAW
12.1.1
-
PACKAGE: SYS.UTL_RAW
12.2.2
-
APPS.ICX_CALL dependencies on UTL_RAW
12.1.1
-
APPS.ICX_CALL dependencies on DUAL
12.1.1
-
APPS.ICX_CALL dependencies on ICX_SEC
12.1.1
-
APPS.ICX_CALL dependencies on ICX_SESSIONS
12.1.1
-
APPS.ICX_CALL dependencies on DBMS_OBFUSCATION_TOOLKIT
12.1.1
-
APPS.ICX_CALL dependencies on FND_SESSION_UTILITIES
12.1.1
-
APPS.ICX_CALL dependencies on OWA_COOKIE
12.1.1
-
APPS.ICX_CALL dependencies on ICX_TEXT_S
12.1.1
-
APPS.ICX_CALL dependencies on ICX_TEXT
12.1.1
-
APPS.ICX_CALL dependencies on ICX_TRANSACTIONS
12.1.1
-
APPS.ICX_CALL dependencies on ICX_CALL
12.1.1
-
PACKAGE BODY: APPS.ICX_CALL
12.1.1