Search Results lock_modifiers




Overview

QP_MODIFIERS_PVT is a private (PVT) PL/SQL package in the APPS schema that provides the internal processing engine for Oracle E-Business Suite pricing and modifier functionality within the Advanced Pricing module (QP). In Oracle EBS 12.1.1 and 12.2.2, the package serves as the backend implementation layer that underpins the public API QP_MODIFIERS_PUB, which is the entry point most commonly referenced by external integrations and the object that users search for under the synonym qp_modifiers_pub. Where the PUB package exposes documented, supported interfaces for creating, updating, and retrieving modifiers (price adjustments such as discounts, surcharges, and promotions), QP_MODIFIERS_PVT performs the detailed validation, relationship maintenance, concurrency control, and data manipulation needed to persist modifier definitions consistently across the pricing schema. Because it is classified as a private package, it is not intended for direct customer invocation, yet it is critical to the integrity of modifier setup and maintenance.

Key Procedures and Functions

The ETRM metadata documents three procedures in this package:

  • PROCESS_MODIFIERS — The core processing routine that applies the business logic for inserting, updating, and validating modifier records. It coordinates the persistence of header and line level modifier data and their associated relationships.
  • LOCK_MODIFIERS — Provides concurrency control by acquiring locks on modifier records prior to modification, preventing conflicting updates when multiple users or processes act on the same modifier simultaneously.
  • GET_MODIFIERS — Retrieves modifier definitions and their associated attributes, returning the data for consumption by higher-level public APIs, forms, or calling programs.

Parameter lists are not elaborated in the source metadata; the procedures are described by purpose only. All three are invoked indirectly through the public layer rather than by end users.

Tables Accessed

The package operates against several core Advanced Pricing tables through APPS synonyms:

  • QP_LIST_LINES — Stores price list and modifier line definitions; central to modifier persistence.
  • QP_QUALIFIERS — Holds qualifier conditions that determine when a modifier applies.
  • QP_RLTD_MODIFIERS and QP_RLTD_MODIFIERS_S — Maintain relationships between modifiers (for example, incompatibility or precedence links) and their translated/seed variants.
  • DUAL — Used for single-row PL/SQL evaluations and defaults.
  • PLITBLM — The PL/SQL integer table type used for array-based bulk processing of identifiers.

Usage Notes

QP_MODIFIERS_PVT is not called directly by end users. It is invoked by the public API QP_MODIFIERS_PUB and by the concurrent/group package QP_MODIFIERS_GRP, as well as by several Advanced Pricing forms, including the modifier, modifier list, formula lines, and pricing attribute forms. It also depends on FND_API, QP_GLOBALS, and QP_QUALIFIER_RULES_PUB. Custom code should always call QP_MODIFIERS_PUB rather than this private package, because the private interfaces are subject to change between releases and are unsupported for direct use. Understanding QP_MODIFIERS_PVT is nonetheless valuable for diagnosing modifier save, lock, and retrieval issues in 12.1.1 and 12.2.2.