Search Results encode_url
Overview
APPS.ICX_CALL is a shared Oracle E-Business Suite utility package that centralizes cryptographic hashing, reversible encryption/decryption, and URL encoding/decoding services used throughout the Oracle iProcurement, iSupplier, and Internet Computing Architecture (ICX) stack. It is declared with AUTHID CURRENT_USER, meaning its routines execute with the privileges of the calling schema rather than the definer, which is consistent with its role as a low-level, broadly reusable service layer. The package is referenced by 61 other packages, indicating that it functions as a foundational dependency for session token handling, obscured identifier passing, and secure parameter transport in web-facing EBS pages. The $Header line (ICXSECAS.pls 120.0.12020000.2 2013/03/21) confirms it is a long-lived security-related source file carried forward across the 12.1.1 and 12.2.2 code lines.
Key Procedures and Functions
The package exposes eleven documented routines, grouped by purpose:
- ENCRYPT / DECRYPT — Baseline symmetric encryption and its inverse, converting a clear string to ciphertext and back.
- ENCRYPT2 / DECRYPT2 — Session-aware variants that bind the operation to a session identifier; DECRYPT2 accepts a numeric text identifier, implying retrieval from the ICX_TEXT store.
- ENCRYPT3 / DECRYPT3 — Digit-oriented pair used to obscure numeric values (ENCRYPT3 takes a number and a digit count; DECRYPT3 returns a number from a hexadecimal representation).
- ENCRYPT4 / DECRYPT4 — Alternative implementation accepting a string plus an optional session identifier.
- CRCHASH — Produces a numeric cyclic-redundancy hash from a key string and data string, used for integrity checks and non-reversible token generation.
- ENCODE_URL / DECODE_URL — Added under Bug 5350739 to supply URL encoding and decoding APIs from AOL to the IPG team. ENCODE_URL converts a string to a target character set (defaulting to the ICX_CLIENT_IANA_ENCODING profile value) and then applies form-urlencoded escaping per RFC-1738. DECODE_URL reverses the transformation. The documentation explicitly warns that ENCODE_URL must be applied to individual parameter names and values, never to an entire URL such as
http://aaa.yyy.com/abc.html?param=xxx; the complete URL is assembled after the parts are encoded.
Tables Accessed
The package is documented against the ICX synonyms ICX_SESSIONS, ICX_TEXT, ICX_TEXT_S, and ICX_TRANSACTIONS, together with the DBMS_OBFUSCATION_TOOLKIT, OWA_COOKIE, UTL_RAW, and UTL_URL built-ins. ICX_SESSIONS supplies the session context used by the session-bound encrypt/decrypt variants. ICX_TEXT and ICX_TEXT_S store and retrieve the encrypted text payloads referenced by DECRYPT2's numeric text identifier. ICX_TRANSACTIONS supports transactional linkage of tokens and session state. DBMS_OBFUSCATION_TOOLKIT underpins the cryptographic primitives, while UTL_RAW handles raw byte conversion and UTL_URL supplies character-set and URL-encoding mechanics. OWA_COOKIE supports session cookie processing in the web tier.
Usage Notes
ICX_CALL is invoked indirectly rather than by end users. Typical call paths include:
- EBS web pages and JSP/HTML flows that must embed session-safe, non-guessable parameters in hyperlinks and form actions.
- Packages that persist encrypted state in ICX_TEXT or ICX_TEXT_S and later rehydrate it via DECRYPT2.
- Custom code requiring RFC-1738 compliant encoding of query-string components; developers should encode parameter names and values separately and then compose the URL, and should pass
p_charsetonly when a character set other than ICX_CLIENT_IANA_ENCODING is required.
Because the package is AUTHID CURRENT_USER and is a dependency of 61 other packages, changes to its signatures must be assessed for wide downstream impact. Existing KEY-based cryptic tokens should continue to be generated with the session-bound variants to preserve compatibility with stored ICX_TEXT data.
-
PACKAGE: APPS.ICX_CALL
12.2.2
-
PACKAGE BODY: APPS.FND_CRYPTO
12.2.2
-
PACKAGE BODY: APPS.FND_CRYPTO
12.1.1
-
PACKAGE: APPS.WFA_HTML
12.1.1
-
PACKAGE: APPS.WFA_HTML
12.2.2
-
PACKAGE: APPS.FND_CRYPTO
12.2.2
-
PACKAGE: APPS.FND_CRYPTO
12.1.1
-
PACKAGE BODY: APPS.WFA_HTML
12.2.2
-
APPS.WFA_HTML dependencies on WFA_HTML
12.2.2
-
PACKAGE BODY: APPS.WFA_HTML
12.1.1
-
APPS.WFA_HTML dependencies on WF_CORE
12.2.2
-
APPS.WFA_HTML dependencies on WFA_HTML
12.1.1
-
APPS.FND_DOCUMENT_MANAGEMENT dependencies on WFA_HTML
12.2.2
-
APPS.FND_DOCUMENT_MANAGEMENT dependencies on WFA_HTML
12.1.1
-
APPS.WFA_HTML dependencies on WF_CORE
12.1.1
-
PACKAGE BODY: APPS.FND_DOCUMENT_MANAGEMENT
12.2.2
-
PACKAGE BODY: APPS.FND_DOCUMENT_MANAGEMENT
12.1.1
-
APPS.FND_DOCUMENT_MANAGEMENT dependencies on HTP
12.2.2
-
APPS.FND_DOCUMENT_MANAGEMENT dependencies on HTP
12.1.1