Search Results cs_csi_utility_grp
Overview
PA_NL_INSTALLED is a small utility package in the Oracle Projects (PA) module whose name reflects its original purpose: determining whether the Enterprise Install Base (formerly Oracle Install Base / "NL" for the "Network Logistics"-era naming) integration is installed and active in the current EBS instance. Over time the package was repurposed to expose a runtime check against Oracle Service's Enterprise Install Base (EIB) feature and to provide a helper procedure for reversing expenditure items that originate from EIB integration transactions. Its documented API classification is "OTHER," meaning it is not a public, supported interface but an internal helper consumed by other Projects packages.
The package is owned by APPS and, per ETRM, is referenced by eight other packages, indicating it is called programmatically rather than from a user-facing form directly. The $Header comment (PAXNLINB.pls 120.2, dated 2006) confirms this is a legacy code unit that has been patched via bug fixes (notably Bugs 3441696 and 4924721) rather than rewritten.
Key Procedures and Functions
- IS_NL_INSTALLED — A function returning VARCHAR2. It reports whether the Enterprise Install Base integration is currently active. Historically it read
FND_PRODUCT_INSTALLATIONS(application_id 8727) and cached the result in a global variable. Per Bug 3441696 the global-variable/query approach was commented out and replaced by a call toCSE_UTILITY_GRP.IS_EIB_ACTIVE, returning 'Y' when EIB is active and 'N' otherwise. Bug 4924721 notes the utility package was renamed fromCS_CSI_UTILITY_GRPtoCSE_UTILITY_GRP. The function therefore defers the installation/activation determination to the Service (CSE) team's utility rather than owning that logic itself. - REVERSE_EIB_EI — A procedure that reverses an Enterprise Install Base expenditure item. It calls
PA_ADJUSTMENTS.BACKOUTITEMto create a backout (reversal) adjustment for the expenditure item, then locates the newly created backout item inPA_EXPENDITURE_ITEMS_ALLand invokesPA_COSTING.CREATEREVERSECDLto generate the corresponding reversing cost distribution line. It signals error viaFND_API.G_EXC_ERRORwhen a step returns a non-zero status, and it performs a subsequent update on the cost distribution line (created with a value of 'P') so the reversal can be transferred to Fixed Assets. It usesFND_GLOBAL.USER_IDandFND_GLOBAL.LOGIN_IDfor the audit columns.
Parameter lists are not reproduced here; the procedure accepts expenditure item and expenditure identifiers, a transfer status code, and returns an OUT status.
Tables Accessed
- PA_EXPENDITURE_ITEMS_ALL — Queried by REVERSE_EIB_EI to retrieve the
EXPENDITURE_ITEM_IDof the backout item just created by PA_ADJUSTMENTS.BACKOUTITEM (matched by expenditure_id and adjusted_expenditure_item_id). This backout id is required input to PA_COSTING.CREATEREVERSECDL. - PA_COST_DISTRIBUTION_LINES_ALL — Updated by REVERSE_EIB_EI after the reversing CDL is created, to correct the line so that it is eligible for transfer to Fixed Assets.
- FND_PRODUCT_INSTALLATIONS — Historically read by IS_NL_INSTALLED (application_id 8727). In the current documented code path this query is commented out and replaced by CSE_UTILITY_GRP.IS_EIB_ACTIVE, but the table remains part of the package's historical logic.
Usage Notes
PA_NL_INSTALLED is invoked internally by Projects and related integration code; it is not exposed through a standard concurrent program or a self-service form action. IS_NL_INSTALLED acts as a gating check — callers use it to decide whether EIB-originated transactions must be processed or reversed. REVERSE_EIB_EI supports corrections executed when an EIB-sourced expenditure item must be backed out and its costing reversed, including the transfer to Fixed Assets.
Because the package relies on CSE_UTILITY_GRP, its behavior depends on Oracle Service (CSE) being installed and configured. The package is compatible with both EBS 12.1.1 and 12.2.2 in that the source it wraps (PAXNLINB.pls 120.2) is unchanged across those releases and continues to delegate to the CSE utility. Customizations should not call these routines directly; they are subject to change without notice and are governed by the underlying CSE and PA APIs.