Search Results fnd_random_pkg
Overview
APPS.FND_RANDOM_PKG is a legacy Oracle E-Business Suite PL/SQL package that historically provided pseudorandom number generation services to other EBS components. Its original purpose was to supply a deterministic, seedable random number stream that applications could use for generating identifiers, test data, and other values requiring randomization. In Oracle EBS releases 12.1.1 and 12.2.2, this package is documented in ETRM with the API classification OTHER and is owned by the APPS schema. The package source header identifies its file as AFCPRNDB.pls, with the last recorded revision dated 2006/05/18.
Crucially, the package body is explicitly deprecated. The embedded comments state that callers should instead use the random number packages provided in FND_CRYPTO. The functional body of FND_RANDOM_PKG now serves purely as a compatibility shim: initialization routines are no-ops because FND_CRYPTO is self-seeding, and the random value generator simply delegates to FND_CRYPTO while preserving the numeric range that the original implementation returned.
Key Procedures and Functions
ETRM documents four callable units within this package body:
- INIT — Historically responsible for initializing the package's random generator state. In the current deprecated implementation it performs no work, as FND_CRYPTO manages its own initialization. Retained only to preserve source compatibility for existing callers.
- SEED — Formerly allowed callers to supply a seed value, cycle count, and a forced flag to control the random sequence. The current body is a no-op; seeding is handled internally by FND_CRYPTO.
- INIT_ARRAYS — A pre-initialization routine for internal array structures used by the older generator. It is now an empty procedure retained for backward compatibility.
- GET_NEXT — The primary function and the object most commonly referenced by the search term "get_next." It returns the next pseudorandom number. Its implementation loops, invoking FND_CRYPTO.RandomBytes to build a raw value, converting it to a number through a hex conversion, and accepting the result only when it falls within the original package's numeric range. Because GET_NEXT does not accept an explicit seed, callers receive values drawn from FND_CRYPTO's self-managed state.
Tables Accessed
The ETRM metadata documents no table references for FND_RANDOM_PKG through APPS synonyms. The package operates entirely in memory, relying on FND_CRYPTO's internal random byte generation rather than persisting seed values or sequence state in database tables. This stateless design reflects the deprecation strategy: no schema objects must be maintained to support legacy callers.
Usage Notes
FND_RANDOM_PKG is referenced by three other packages according to ETRM, indicating that legacy dependencies remain even though the package is deprecated. Typical invocation patterns include:
- Custom PL/SQL code that historically called FND_RANDOM_PKG.GET_NEXT and has not been migrated to FND_CRYPTO.
- Oracle Forms or concurrent program logic that relies on the inherited numeric range produced by GET_NEXT.
- Third-party or bolt-on code that was written against the pre-deprecation API contract.
Because the initialization and seeding procedures are inert, developers should not depend on reproducibility or on the outcome of SEED and INIT calls. For new development in 12.1.1 or 12.2.2, Oracle's documented guidance is to use FND_CRYPTO directly. Existing integrations should be assessed for migration, since the compatibility surface depends on FND_CRYPTO continuing to expose RandomBytes and on the loop logic in GET_NEXT remaining unchanged. The package should be treated as read-only legacy infrastructure: invoke it only when maintaining existing behavior, and plan replacement whenever the consuming code is next revised.
-
PACKAGE BODY: APPS.FND_RANDOM_PKG
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:FND_RANDOM_PKG, status:VALID,
-
PACKAGE: APPS.FND_RANDOM_PKG
12.1.1
owner:APPS, object_type:PACKAGE, object_name:FND_RANDOM_PKG, status:VALID,
-
PACKAGE BODY: APPS.FND_RANDOM_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:FND_RANDOM_PKG, status:VALID,
-
PACKAGE: APPS.FND_RANDOM_PKG
12.2.2
owner:APPS, object_type:PACKAGE, object_name:FND_RANDOM_PKG, status:VALID,
-
PACKAGE BODY: APPS.FND_APP_SERVER_PKG
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:FND_APP_SERVER_PKG, status:VALID,
-
PACKAGE BODY: APPS.FND_CONCURRENT_FILE
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:FND_CONCURRENT_FILE, status:VALID,
-
PACKAGE: APPS.FND_RANDOM_PKG
12.1.1
-
PACKAGE: APPS.FND_RANDOM_PKG
12.2.2
-
PACKAGE BODY: APPS.FND_WEBATTCH
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:FND_WEBATTCH, status:VALID,
-
PACKAGE BODY: APPS.FND_APP_SERVER_PKG
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:FND_APP_SERVER_PKG, status:VALID,
-
PACKAGE BODY: APPS.FND_CONCURRENT_FILE
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:FND_CONCURRENT_FILE, status:VALID,
-
PACKAGE: APPS.FND_CRYPTO
12.2.2
owner:APPS, object_type:PACKAGE, object_name:FND_CRYPTO, status:VALID,
-
PACKAGE BODY: APPS.FND_WEBATTCH
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:FND_WEBATTCH, status:VALID,
-
PACKAGE BODY: APPS.FND_RANDOM_PKG
12.1.1
-
PACKAGE: APPS.FND_CRYPTO
12.1.1
owner:APPS, object_type:PACKAGE, object_name:FND_CRYPTO, status:VALID,
-
PACKAGE BODY: APPS.FND_RANDOM_PKG
12.2.2
-
12.1.1 DBA Data
12.1.1
-
12.2.2 DBA Data
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
APPS.FND_CONCURRENT_FILE dependencies on FND_RANDOM_PKG
12.1.1
-
APPS.FND_WEBATTCH dependencies on FND_RANDOM_PKG
12.1.1
-
APPS.FND_RANDOM_PKG dependencies on FND_RANDOM_PKG
12.1.1
-
APPS.FND_APP_SERVER_PKG dependencies on FND_RANDOM_PKG
12.1.1
-
APPS.FND_APP_SERVER_PKG dependencies on FND_RANDOM_PKG
12.2.2
-
APPS.FND_RANDOM_PKG dependencies on FND_RANDOM_PKG
12.2.2
-
APPS.FND_WEBATTCH dependencies on FND_RANDOM_PKG
12.2.2
-
APPS.FND_CONCURRENT_FILE dependencies on FND_RANDOM_PKG
12.2.2
-
APPS.FND_RANDOM_PKG dependencies on FND_CRYPTO
12.1.1
-
APPS.FND_RANDOM_PKG dependencies on FND_CRYPTO
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1
-
PACKAGE: SYS.STANDARD
12.1.1
owner:SYS, object_type:PACKAGE, object_name:STANDARD, status:VALID,