Search Results get_active_product




Overview

APPS.OE_INSTALL is a utility PL/SQL package used in Oracle E-Business Suite to determine which Order Entry product is installed and active within a given environment. Its central purpose is to insulate dependent code from the fact that, beginning with the 11.i release, two distinct OE products — OE (the older Order Entry module) and ONT (Order Management) — could be installed, shared, or coexisting in the same environment. Other product teams that needed to branch their logic based on which OE flavor was present and enabled could call this package rather than hard-coding product checks.

The package was compiled AUTHID CURRENT_USER and declared with package-level constants and variables, including G_PKG_NAME, G_ACTIVE_PRODUCT, and G_PRODUCT_STATUS, the latter two initialized to FND_API.G_MISS_CHAR. The original source header dates to 1999 (115.2), reflecting its heritage in the 11.i transition period, though the package remains cataloged in ETRM for 12.1.1 and 12.2.2 documentation purposes. The API classification is OTHER, and it is referenced by approximately 30 other packages, indicating it is a foundational dependency for much of the Order Management and interoperability stack.

Key Procedures and Functions

  • GET_ACTIVE_PRODUCT — Returns the identifier of the OE product that is both installed and active in the current environment. This is the object most commonly searched for, since callers use its return value to choose the correct code path when both OE and ONT could theoretically be present. It is a function returning VARCHAR2 and is pragma restrict_references-qualified as WNDS and WNPS (write-no-database-state, write-no-package-state), meaning it performs no DML and mutates no package state.
  • GET_STATUS — Reports whether ONT is installed. It returns I when ONT is fully installed; otherwise it queries the legacy OE product status and returns I (Installed), S (Shared), or N (Not installed). Unlike GET_ACTIVE_PRODUCT, install status does not imply the product is active. It is likewise restricted to WNDS/WNPS.
  • CREATE_INTEROP_SYNONYM — A procedure that creates the odd interoperability synonyms on interoperable objects, based on whichever Order Entry product is currently active. It accepts a schema name, a synonym name, and an object name as inputs (parameter list per source: p_schema_name, p_synonym_name, p_object_name). This allows downstream code to reference a stable synonym regardless of whether OE or ONT is the underlying provider.

Tables Accessed

The ETRM metadata for OE_INSTALL documents no explicitly referenced application tables via APPS synonyms. The package determines product installation and activation status through FND product-installation facilities (the FND_PRODUCT_INSTALLATIONS/FND_PRODUCT_GROUPS family) rather than through OE transaction tables. The restriction pragmas (WNDS/WNPS) on the two functions confirm that neither performs inserts, updates, or deletes, and no package state is modified during their execution. The synonym-creation procedure issues DDL rather than DML.

Usage Notes

OE_INSTALL is a plumbing package invoked by other PL/SQL packages rather than directly by end users. With 30 dependent packages, it is called during runtime branching whenever Order Management code must adapt to the installed OE variant, and during installation or patching to lay down interoperability synonyms through CREATE_INTEROP_SYNONYM. Typical invocation contexts include seeded Order Management APIs, concurrent-program logic, and custom extensions that query GET_ACTIVE_PRODUCT or GET_STATUS to select the correct objects and code paths. Because the functions carry restrictive pragmas and read only installation metadata, they are inexpensive and safe to call repeatedly. Developers writing custom Order Management code in 12.1.1 or 12.2.2 should treat this package as the supported mechanism for detecting the active OE product rather than querying FND tables directly.