Search Results precedence_for_list_line




Overview

QP_RESOLVE_INCOMPATABILITY_PVT is a private PL/SQL package in the APPS schema that supports the Oracle Advanced Pricing pricing engine. Its purpose is to resolve incompatibilities between pricing modifiers — list lines, qualifiers, and benefits — that have been identified during a price calculation request. When multiple modifiers compete to apply to the same pricing phase, the engine must decide which lines actually qualify, adjust quantities and units of measure, and remove detail lines that no longer apply. This package encapsulates that resolution logic.

The package is classified as a PVT (private) API, meaning it is not intended as a public integration point and is not documented for direct customer invocation. It is an internal component of the pricing calculation infrastructure, invoked by public calculation APIs and by the pricing prerequisite/grouping logic.

Key Procedures and Functions

The ETRM metadata documents five procedures and functions within the package body:

  • RESOLVE_INCOMPATABILITY — The primary entry point. It drives the resolution of incompatible modifiers encountered during a pricing request, coordinating the evaluation of competing list lines and determining which lines remain viable.
  • PRECEDENCE_FOR_LIST_LINE — Evaluates and applies precedence rules for a list line so that the correct modifier is selected when several lines qualify for the same request.
  • BEST_PRICE_FOR_PHASE — Determines the best available price for a given pricing phase, comparing candidate modifiers and selecting the most favourable outcome.
  • DETERMINE_PRICING_UOM_AND_QTY — Derives the pricing unit of measure and the applicable quantity for a modifier line, ensuring that the benefit is applied against the correct basis.
  • DELETE_LDETS_COMPLETE — Removes list detail (line detail) records that have been rendered inapplicable as a result of incompatibility resolution, keeping the pricing result set consistent.

Parameter lists are not reproduced here; they are internal and subject to change across releases.

Tables Accessed

The package operates against the following base tables, accessed through APPS synonyms:

  • QP_LIST_LINES — The core pricing modifier definition table. It is read and updated to identify qualifying lines and to remove or invalidate lines during resolution.
  • QP_PRICING_ATTRIBUTES — Provides the pricing attribute context (qualifier and attribute values) used to evaluate whether a list line applies to the current request.
  • PLITBLM — The pricing list table, holding pricing list line information used in evaluating and applying modifier precedence and benefits.

These accesses are consistent with the package's role: it reads modifier definitions and qualifier attributes, then writes back the outcome of incompatibility resolution.

Usage Notes

QP_RESOLVE_INCOMPATABILITY_PVT is referenced by QP_CALCULATE_PRICE_PUB, the public price calculation API, and by QP_PREQ_GRP, the prerequisite/grouping package. It also references QP_PREQ_GRP and STANDARD. Because it is a private package, it is not a supported integration surface and should not be called directly from custom code or concurrent programs.

In practice it is exercised indirectly whenever the pricing engine runs a calculation through QP_CALCULATE_PRICE_PUB — for example during order entry, quoting, or any custom process that invokes the public pricing API. Applications forms and concurrent programs that calculate prices therefore trigger this logic transparently. Developers troubleshooting unexpected modifier selection, missing benefits, or incorrect pricing UOM and quantity should treat this package as the resolution stage to trace, and should rely on the public API path rather than invoking or modifying the package itself.