Search Results lock_price
Overview
The APPS.QP_LOCK_PRICELIST_PVT package is a private PL/SQL utility package within the Oracle Advanced Pricing (QP) module of Oracle E-Business Suite. Its documented purpose is to provide the core utility procedures and functions required to support the price locking feature. Price locking allows an organization to freeze a price list or a specific price list line so that pricing calculations use a stable, protected value rather than recalculating against a live price list at transaction time. This is important in regulated or highly negotiated pricing environments, where the agreed price at the time of order entry must remain consistent throughout the order lifecycle.
As a PVT (private) package, QP_LOCK_PRICELIST_PVT is not the public interface for price locking. It encapsulates internal logic that is invoked by other packages in the pricing stack, providing implementation detail that Oracle does not expose for direct customer use. The package carries a relatively old source header signature (120.8, dated 2006), which indicates its logic has remained stable across many releases, including 12.1.1 and 12.2.2. Despite the age of the file, the documented reference to the QP_RLTD_MODIFIERS and PLITBLM tables confirms it remains relevant to the modern pricing model in ETRM 12.2.2.
The four table dependencies show that the package works primarily against price list headers, price list lines, related modifiers (qualifier/qualifier group and pricing attribute associations), and the price list interface / lock staging table (PLITBLM). Together these dependencies allow the lock logic to identify a price list line, resolve its related modifier relationships, and persist or read locked pricing information.
Key Procedures and Functions
The documented interface of QP_LOCK_PRICELIST_PVT exposes a single public procedure: LOCK_PRICE. Based on the package title and its utility comment ("Utility Procedures and Functions for Price Locking"), LOCK_PRICE is the implementation routine that performs the actual price locking work. A source excerpt also shows an internal helper function, Query_Rows, which is not in the documented public list but is declared inside the package body. Query_Rows queries a price list line (and, when the line is a price break header, its child break lines) and returns the rows as a PL/SQL collection of type QP_Price_List_PUB.Price_List_Line_Tbl_Type. This confirms the package's pattern of building an in-memory representation of the price list line before locking it.
Because the metadata documents only LOCK_PRICE and forbids inventing parameter lists, the parameter signature is intentionally not restated here. Callers should treat LOCK_PRICE as the supported private entry point for instantiating a price lock against a given price list or line.
Tables Accessed
- QP_LIST_HEADERS_B — the base table holding price list headers. Accessed to identify and validate the parent price list being locked.
- QP_LIST_LINES — the base table holding price list line detail, including list price, operand, arithmetic operator, and price break type. The Query_Rows cursor reads the full line attribute set from this table (or an equivalent view) and is the heart of the lock resolution.
- QP_RLTD_MODIFIERS — stores relationships between modifiers and their associated qualifiers and pricing attributes. Used to resolve the applicable prerequisites and qualifiers that must be honored when a lock is created.
- PLITBLM — the price list interface/lock staging table used to hold locked price list line information. This is where the result of the lock operation is persisted so downstream pricing and order processing can rely on the frozen values.
Usage Notes
QP_LOCK_PRICELIST_PVT is a private package and is not intended for direct invocation by customers. It is referenced by one other package in the ETRM metadata, which is the normal pattern — a public API or a concurrent program manager calls into the private package to perform the lock. In practice, price locking in Oracle Advanced Pricing is triggered from the pricing engine or from the order management pricing flow, not from a standalone form or concurrent program. The lock is created when a price list or line is designated for locking, and the frozen values are subsequently consumed during reprice and order line pricing.
For custom development, the correct integration point is the public pricing API (for example, QP_Price_List_PUB or the pricing engine), not QP_LOCK_PRICELIST_PVT. Any direct call into this private package risks breaking on upgrade. The observed revision history and dependency set are consistent between 12.1.1 and 12.2.2, so behavior is broadly equivalent across those releases, but the supported interface remains the public Advanced Pricing APIs.
-
PACKAGE BODY: APPS.QP_LOCK_PRICELIST_PVT
12.2.2
-
PACKAGE BODY: APPS.QP_LOCK_PRICELIST_PVT
12.1.1
-
PACKAGE BODY: APPS.QP_LOCK_PRICELIST_GRP
12.2.2
-
PACKAGE BODY: APPS.QP_LOCK_PRICELIST_GRP
12.1.1
-
PACKAGE: APPS.QP_LOCK_PRICELIST_GRP
12.2.2
-
PACKAGE: APPS.QP_LOCK_PRICELIST_GRP
12.1.1
-
PACKAGE: APPS.QP_LOCK_PRICELIST_PVT
12.1.1
-
PACKAGE: APPS.QP_LOCK_PRICELIST_PVT
12.2.2
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on FND_LOG
12.1.1
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on FND_LOG
12.2.2
-
APPS.QP_LOCK_PRICELIST_GRP dependencies on QP_LOCK_PRICELIST_GRP
12.1.1
-
APPS.QP_LOCK_PRICELIST_GRP dependencies on QP_LOCK_PRICELIST_GRP
12.2.2
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on FND_MSG_PUB
12.1.1
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on FND_MSG_PUB
12.2.2
-
APPS.QP_LOCK_PRICELIST_GRP dependencies on QP_LOCK_PRICELIST_PVT
12.2.2
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on QP_LOCK_PRICELIST_PVT
12.2.2
-
APPS.QP_LOCK_PRICELIST_GRP dependencies on FND_API
12.1.1
-
APPS.QP_LOCK_PRICELIST_GRP dependencies on QP_LOCK_PRICELIST_PVT
12.1.1
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on QP_LOCK_PRICELIST_PVT
12.1.1
-
APPS.QP_LOCK_PRICELIST_GRP dependencies on FND_API
12.2.2
-
APPS.OKS_COPY_CONTRACT_PVT dependencies on QP_LOCK_PRICELIST_GRP
12.2.2
-
APPS.OKS_COPY_CONTRACT_PVT dependencies on QP_LOCK_PRICELIST_GRP
12.1.1
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on QP_GLOBALS
12.1.1
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on QP_GLOBALS
12.2.2
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on FND_API
12.1.1
-
APPS.QP_LOCK_PRICELIST_PVT dependencies on FND_API
12.2.2
-
APPS.OKS_COPY_CONTRACT_PVT dependencies on FND_LOG
12.2.2
-
APPS.OKS_COPY_CONTRACT_PVT dependencies on FND_LOG
12.1.1
-
PACKAGE BODY: APPS.OKS_COPY_CONTRACT_PVT
12.2.2
-
PACKAGE BODY: APPS.OKS_COPY_CONTRACT_PVT
12.1.1