Search Results qp_currency_pub




Overview

QP_CURR_LISTS_UTIL is a utility PL/SQL package in the APPS schema of Oracle E-Business Suite, classified as a UTIL API within the Oracle Advanced Pricing (QP) module. Its business purpose is to provide the low-level data access and record-maintenance operations that support currency list functionality — the lists that determine which currencies are valid for a given pricing context, such as a price list, agreement, or qualification. Rather than exposing business-level operations to end users, QP_CURR_LISTS_UTIL handles the mechanics of inserting, updating, querying, locking, and deleting rows in the currency list tables. It also manages dependent attribute cascading and record completeness checks, which are common in Oracle's multi-attribute key (MAK) style of table design, where child records depend on values supplied by parent records.

The package is tightly coupled with QP_CURRENCY_PUB, which it both references and is referenced by, indicating that the public currency API delegates transactional database work to this utility layer while remaining the supported entry point for external callers. QP_CURR_LISTS_UTIL also references FND_API, Oracle's standard API framework package, which supplies the common return-status conventions (success, expected error, unexpected error) and message handling used throughout the package.

Key Procedures and Functions

The package exposes eleven documented procedures and functions, listed as follows without implying their parameter lists:

  • CLEAR_DEPENDENT_ATTR — Removes or nulls dependent attribute values when a controlling attribute changes, preserving referential integrity across the multi-attribute key.
  • APPLY_ATTRIBUTE_CHANGES — Propagates attribute changes through affected rows, ensuring dependent records reflect updated parent values.
  • COMPLETE_RECORD — Populates any missing mandatory or defaulted attributes so a record can be persisted as complete.
  • CONVERT_MISS_TO_NULL — Normalizes sentinel or placeholder values (such as the special "MISS" token) to NULL before database operations.
  • UPDATE_ROW — Modifies an existing currency list row.
  • INSERT_ROW — Creates a new currency list row.
  • DELETE_ROW — Removes a currency list row.
  • QUERY_ROW — Retrieves row data, typically for validation or display.
  • LOCK_ROW — Acquires a row-level lock to support concurrency control during modification.
  • GET_VALUES — Returns the attribute values for a specified record.
  • GET_IDS — Returns the identifying keys for a specified record.

Tables Accessed

Through APPS synonyms the package reads and writes the core currency list tables, together with their MLS and date-tracked structures:

  • QP_CURRENCY_LISTS_B — Base table holding currency list definitions and their attribute values.
  • QP_CURRENCY_LISTS_TL — Translation table supplying language-specific list names and descriptions.
  • QP_CURRENCY_DETAILS and QP_CURRENCY_DETAILS_S — Detail (child) rows and their shadow table, containing the currency codes and related rules associated with each list.
  • QP_LIST_HEADERS_B — The list header that owns the currency list, providing the parent context.
  • FND_LANGUAGES — Used to resolve installed and active languages for translated queries.

Usage Notes

QP_CURR_LIST_UTIL is referenced by four packages — QP_CURRENCY_PUB, QP_CURRENCY_PVT, QP_DEFAULT_CURR_LISTS, and QP_QP_FORM_CURR_LISTS — indicating that it is invoked in three principal contexts. First, it services the public and private currency APIs, meaning custom or extension code should normally call QP_CURRENCY_PUB and let this utility perform the underlying DML. Second, QP_DEFAULT_CURR_LISTS uses it when programs seed or default currency lists for new pricing entities. Third, QP_QP_FORM_CURR_LISTS uses it to support the Oracle Pricing forms, so UI-driven row creation, modification, querying, and locking pass through this package. Direct calls from custom code are discouraged because the package bypasses public API validation, message stacking, and any future compatibility guarantees.