Search Results curr_lists




Overview

QP_CURRENCY_PVT is a private PL/SQL package body in the Oracle E-Business Suite Advanced Pricing (QP) module. It functions as the internal implementation layer that supports currency-related processing within the pricing engine. The package operates under the APPS schema and is classified as a PVT (private) API, meaning it is not intended for direct invocation by external or customer-developed code. Instead, it is referenced internally by other pricing packages that require validated currency list handling.

The package handles validation, locking, and retrieval of currency definitions used during pricing transactions. It supports the pricing engine's need to confirm that currency list records are consistent, properly locked during processing, and correctly resolved when a pricing document is evaluated or saved. The header comment ($Header: QPXVCURB.pls 120.2 2005/07/07) indicates the source file is a pricing currency validation body that has been stable since the mid-2000s release cycle, consistent with its continued presence across Oracle EBS 12.1.1 and 12.2.2.

Key Procedures and Functions

  • PROCESS_CURRENCY — Drives the primary processing logic for currency records. It orchestrates validation and state handling for currency list data passed in through record structures, coordinating control flags that govern default attributes, changed attributes, validation levels, and database write behavior.
  • LOCK_CURRENCY — Acquires the necessary locks on currency records to ensure data integrity during concurrent pricing operations. This prevents simultaneous modification of the same currency definitions while a transaction is in progress.
  • GET_CURRENCY — Retrieves currency information required by the pricing engine, returning the appropriate currency record structures to the calling process.

The package body also contains a documented CURR_LISTS procedure that appears in the source excerpt, which processes currency list record types and inspects control record attributes such as default_attributes, change_attributes, write_to_db, and validate_ flags. This reflects the standard Oracle pricing private-API pattern where a master control record governs how each attribute of the incoming record is treated.

Tables Accessed

The only documented table referenced via APPS synonyms is PLITBLM. This table is accessed in the context of currency record retrieval and validation work performed by the private API. Because the metadata lists only this single table, the package primarily serves as a processing and validation layer rather than a direct owner of currency master data; the bulk of persisted currency list information resides in public pricing tables manipulated elsewhere in the QP schema.

Usage Notes

QP_CURRENCY_PVT is invoked indirectly. The metadata notes that it is referenced by three other packages, which call into it to perform currency validation, locking, and retrieval as part of their own processing flows. Typical invocation points include the pricing engine's currency validation routines and any pricing form or concurrent program that delegates currency handling to a higher-level public package such as QP_CURRENCY_PUB.

Because this is a private API (PVT classification), direct calls from custom code are not recommended. Developers who search for change_attributes in relation to this package are usually encountering it while tracing how the pricing control record influences currency record processing — specifically, how the change_attributes flag in QP_GLOBALS.Control_Rec_Type signals whether attribute-level changes should be applied during currency list updates. Modifications to this flag are handled by the calling public API, and the private package responds to it internally. Any customization should occur through the supported public pricing APIs rather than by altering this package body, which is subject to Oracle patching and will be overwritten during upgrades.