Search Results get_next
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
-
PACKAGE BODY: APPS.FND_RANDOM_PKG
12.1.1
-
PACKAGE: APPS.FND_RANDOM_PKG
12.1.1
-
PACKAGE: APPS.FND_RANDOM_PKG
12.2.2
-
PACKAGE BODY: APPS.PER_ADDRESSES_PKG
12.2.2
-
PACKAGE BODY: APPS.PER_ADDRESSES_PKG
12.1.1
-
PACKAGE: APPS.HR_NONRUN_ASACT
12.1.1
-
PACKAGE: APPS.HR_NONRUN_ASACT
12.2.2
-
PACKAGE BODY: APPS.CSF_UTIL_PVT
12.1.1
-
PACKAGE BODY: APPS.CSF_UTIL_PVT
12.2.2
-
PACKAGE: APPS.CSF_UTIL_PVT
12.1.1
-
PACKAGE: APPS.CSF_UTIL_PVT
12.2.2
-
APPS.FND_RANDOM_PKG dependencies on FND_CRYPTO
12.2.2
-
APPS.FND_RANDOM_PKG dependencies on FND_CRYPTO
12.1.1
-
APPS.PER_ADDRESSES_PKG dependencies on HR_UTILITY
12.2.2
-
APPS.PER_ADDRESSES_PKG dependencies on HR_UTILITY
12.1.1
-
APPS.CSF_UTIL_PVT dependencies on FND_MSG_PUB
12.1.1
-
APPS.CSF_UTIL_PVT dependencies on FND_MSG_PUB
12.2.2
-
PACKAGE BODY: APPS.PSP_ER_WORKFLOW
12.1.1
-
APPS.PER_ADDRESSES_PKG dependencies on PER_ADDRESSES
12.1.1
-
PACKAGE BODY: APPS.PSP_ER_WORKFLOW
12.2.2
-
APPS.PSP_ER_WORKFLOW dependencies on PSP_XMLGEN
12.2.2
-
APPS.PSP_ER_WORKFLOW dependencies on PSP_XMLGEN
12.1.1
-
PACKAGE BODY: APPS.OKL_CONTRACT_INFO
12.1.1
-
PACKAGE BODY: APPS.OKL_CONTRACT_INFO
12.2.2
-
APPS.PER_ADDRESSES_PKG dependencies on PER_ADDRESSES
12.2.2
-
APPS.PSP_ER_WORKFLOW dependencies on HR_UTILITY
12.2.2
-
APPS.PSP_ER_WORKFLOW dependencies on HR_UTILITY
12.1.1
-
APPS.IEM_CLIENT_PUB dependencies on IEM_RT_INTERACTIONS
12.2.2
-
APPS.IEM_CLIENT_PUB dependencies on IEM_RT_INTERACTIONS
12.1.1
-
PACKAGE BODY: APPS.IEM_CLIENT_PUB
12.2.2
-
PACKAGE BODY: APPS.IEM_CLIENT_PUB
12.1.1
-
PACKAGE BODY: APPS.BIS_PMV_PARAMETERS_PVT
12.1.1
-
APPS.PSP_ER_WORKFLOW dependencies on WF_ENGINE
12.2.2
-
APPS.PSP_ER_WORKFLOW dependencies on WF_ENGINE
12.1.1