Search Results qp_pricing_engine
Overview
QP_CUSTOM_IGNORE is a public PL/SQL package owned by the APPS schema in Oracle Advanced Pricing (product code QP). Its business purpose is to provide a customizable extension point within the pricing engine that allows implementers to selectively exclude specific order lines from the standard pricing calculation. The package specification is shipped with Oracle E-Business Suite, but the package body is intentionally not shipped; customers must author the body themselves, implementing the single documented procedure so that it adheres to the specification delivered by Oracle.
The package is classified under the Custom Ignore Pricing business entity (QP_PRICING_ENGINE) and carries an API classification of OTHER in the ETRM metadata for release 12.2.2. Its behavior is activated by the profile option QP: Custom Ignore Pricing. When that profile is set to Y, the pricing engine invokes the procedure once for each line while it is sourcing line-level attributes, allowing custom logic to determine whether the line should be priced normally or bypassed.
Key Procedures and Functions
The package exposes one documented procedure:
- IGNORE_ITEMLINE_FOR_PRICING — A customizable public procedure to which the user may add bespoke code. It is called by the pricing engine for each order line during attribute sourcing. The procedure receives the request type code and returns an indicator (x_ignore) stating whether the item line should be ignored by pricing. When the indicator is set to Y, the engine defaults the line price to zero and assigns the price list identified by the returned x_default_price_list_id.
The procedure's contract is defined entirely in the shipped specification; Oracle does not supply an implementation, so the customer is responsible for authoring the package body and ensuring the procedure signature matches the specification exactly.
Tables Accessed
The ETRM metadata for this object lists no tables referenced through APPS synonyms, which is consistent with its design: QP_CUSTOM_IGNORE is a hook package, not a data-access package. The customer-authored body is expected to derive its decision from in-memory line structures rather than direct table queries.
Those structures are populated by the pricing engine before the call and vary with the request type code. For an ONT request type code, the global OE_ORDER_PUB.G_LINE record is available; for an ASO request type code, ASO_PRICING_INT.G_LINE_REC is available. From these structures the custom code can read attributes such as inventory_item_id, line_id, and line_type_code to reach its decision. Should the returned x_ignore be Y, the caller must supply x_default_price_list_id, which is set to the list_header_id of a dummy price list, since a price list is mandatory on the Sales Order form.
Usage Notes
QP_CUSTOM_IGNORE is not invoked directly by users. It is triggered automatically by the pricing engine when the profile option QP: Custom Ignore Pricing is set to Y at the appropriate level (site, application, responsibility, or user). Typical invocation paths include order entry through the Sales Orders form, where pricing is sourced for each line, and any other flow that drives the Advanced Pricing engine, such as ASO-based quoting. The ETRM metadata records that the package is referenced by one other package, confirming its role as a caller-invoked extension point rather than an entry-point API.
Because no package body is delivered, any environment using this extension point must deploy and maintain a custom body. Implementation practice recommends that the custom procedure perform inexpensive checks only, since it executes for every line during sourcing and therefore directly affects order-entry performance. The procedure should also fail safely, returning x_ignore as false unless the custom business rule clearly applies, so that unexpected conditions do not silently zero out valid pricing.
-
PACKAGE: APPS.QP_CUSTOM_IGNORE
12.2.2
-
PACKAGE BODY: APPS.QP_PRC_UTIL
12.2.2
-
PACKAGE BODY: APPS.QP_PRC_UTIL
12.1.1