Search Results qp_limit_price_request_code_s




Overview

QP_PREQ_PUB is the public pricing request API in the Oracle E-Business Suite Advanced Pricing module. As a PUB-classified package body owned by the APPS schema, it exposes a documented, supported interface through which other EBS modules and custom code submit pricing requests without directly manipulating the pricing engine internals. Its primary consumer is Oracle Order Management, which calls it to obtain list prices, adjusted prices, and applicable price breaks for order lines prior to booking.

The package body orchestrates the pricing engine by building sourcing information, invoking the pricing calculation engine, applying qualifiers and modifiers, and writing resulting adjustments back to the order. It also enforces contract compliance controls, such as GSA (General Services Administration) violation checking, that are required in public sector deployments. In Oracle EBS 12.1.1 and 12.2.2, the package remains a central integration point between order capture and the pricing subsystem, and is referenced by 42 other packages, confirming its standing as a widely depended-upon public API.

Key Procedures and Functions

The documented interface exposes 13 procedures and functions:

  • PRICE_REQUEST — the principal entry point that accepts a pricing request for one or more lines and coordinates the overall pricing flow.
  • CALCULATE_PRICE — drives the actual price calculation against the pricing engine for a given request.
  • GET_BUY_LINE_PRICE_FLAG — determines whether a buy line should be priced, supporting conditional pricing logic.
  • GET_PRICE_FOR_LINE — retrieves the calculated price for an individual line.
  • GET_ORDERQTY_VALUES — obtains order quantity values used in quantity-based pricing and break evaluation.
  • DETERMINE_SVC_ITEM_QUANTITY — derives the quantity for service items, which are frequently priced as dependents of a parent good.
  • UPDATE_UNIT_PRICE — writes a computed unit price back to the pricing structures or calling entity.
  • UPDATE_CHILD_BREAK_LINES — maintains child lines associated with price break structures.
  • UPDATE_LINE_STATUS — sets the pricing status of a line after processing.
  • UPDATE_PASSED_IN_PBH — applies a passed-in price break header during pricing.
  • CHECK_GSA_VIOLATION and RAISE_GSA_ERROR — validate pricing against GSA contract constraints and raise the corresponding error when a violation is detected.

Tables Accessed

The package reads and writes pricing, order, and party data through APPS synonyms. Pricing engine tables include QP_LIST_HEADERS_B, QP_LIST_LINES, QP_QUALIFIERS, QP_PRICE_REQ_SOURCES, QP_PRICING_ATTRIBUTES, QP_PRICING_PHASES, and QP_EVENT_PHASES, which supply price lists, qualifiers, sourcing rules, and phase definitions. Order-related adjustments are stored in OE_PRICE_ADJUSTMENTS and OE_PRICE_ADJ_ASSOCS. Customer context is drawn from HZ_CUST_ACCOUNTS, HZ_CUST_SITE_USES_ALL, and HZ_PARTIES. The sequence QP_LIMIT_PRICE_REQUEST_CODE_S supplies request identifiers. Utility dependencies include DBMS_UTILITY and DUAL. The package also works with temporary staging structures such as QP_PREQ_LINES_TMP and QP_NPREQ_LINES_TMP, and lists QP_PREQ_PUB among its own dependencies, reflecting recursive internal calls.

Usage Notes

QP_PREQ_PUB is normally invoked implicitly by Oracle Order Management during order entry and order import, rather than being called directly by end users. Developers integrating custom pricing flows may call the public procedures from PL/SQL to price lines outside standard order capture. Because the package depends on FND_API, FND_MESSAGE, and FND_PROFILE, callers should expect standard EBS API error handling via the FND message stack. Multi-org context is handled through MO_GLOBAL. Custom code should invoke this API rather than the underlying private engine packages, since the PUB interface is the supported and upgrade-stable entry point.