Search Results select_modifiers_patrn
Overview
QP_PREQ_GRP is an Advanced Pricing (Oracle Pricing / ETRM) PL/SQL package owned by APPS and classified as a GRP (group) package. Its central responsibility is the processing of price request lines during pricing engine evaluation. The package encapsulates the internal representation of a price request — the QP_INT_LINES_T, QP_INT_LDETS_T, QP_INT_LINE_ATTRS_T, and QP_INT_RLTD_LINES_T interface tables — and orchestrates the steps that transform a requested item, pricing attributes, and qualifier context into evaluated modifier lines. It manages processing-status flags, populates temporary segment identifiers, resolves patterns and modifier selection criteria, and handles rounding factors, multi-currency adjustments, and limit-price holds. Because it is declared AUTHID CURRENT_USER, all dictionary access is performed with the privileges of the calling schema, which is consistent with its role as an internal engine component rather than a public API.
Key Procedures and Functions
The package exposes twenty-one documented programs. PRICE_REQUEST is the primary entry point that drives evaluation of a price request. POPULATE_OUTPUT, POPULATE_PAT_TEMP_TABLES, POPULATE_TEMP_TABLES_NEQ_BTW, POPULATE_SEGMENT_ID, and GET_LINE_DETAIL_INDEX support the population and indexing of the engine's temporary working structures. INSERT_LINES2, INSERT_LINE_ATTRS2, INSERT_LDETS2, and INSERT_RLTD_LINES2 load the corresponding interface tables. CREATE_PATTERN and SELECT_MODIFIERS_PATRN build and apply the pattern logic used to qualify modifiers. QP_EVALUATE_OTHER_OPERATORS evaluates operator conditions beyond the standard comparison set. UPDATE_ROUNDING_FACTOR adjusts rounding behavior, while GET_VERSION returns the package version and ENGINE_DEBUG and SET_QP_DEBUG control diagnostic tracing. The package also declares a comprehensive set of G_STATUS_* constants — including NEW, DELETED, UNCHANGED, GROUPING, INVALID_PRICE_LIST, GSA_VIOLATION, FORMULA_ERROR, LIMIT_HOLD, and LIMIT_EXCEEDED — that communicate line-level outcomes throughout evaluation.
Tables Accessed
Access is performed through APPS synonyms. The interface tables QP_INT_LINES_T, QP_INT_LDETS_T, QP_INT_LINE_ATTRS_T, and QP_INT_RLTD_LINES_T store the in-flight price request, its line details, attributes, and related lines. QP_LIST_HEADERS_B, QP_LIST_HEADER_PHASES, QP_EVENT_PHASES, QP_ATTRIBUTE_GROUPS, and QP_CURRENCY_DETAILS supply modifier-list, phase, attribute-group, and currency context. QP_LIMIT_TRANSACTIONS and QP_LIMIT_PRICE_REQUEST_CODE_S support limit-price processing and consumption. HZ_HIERARCHY_NODES is read for customer hierarchy-based qualification, and FND_DESCR_FLEX_COLUMN_USAGES, FND_FLEX_VALUE_SETS, and FND_PRODUCT_INSTALLATIONS provide flexfield metadata and installation context.
Usage Notes
QP_PREQ_GRP is an internal engine package rather than a public API and is referenced by 97 other packages, indicating it sits in the core call path of pricing evaluation. It is invoked during price-request processing, including the standalone pricing engine and the Get Best Price flow, and is exercised implicitly whenever pricing is generated from order entry or quoting forms and from concurrent pricing programs. Customizations should not call these procedures directly; developers should instead use the supported pricing APIs, since signatures and internal structure may change between releases. The presence of CREATE_PATTERN and SELECT_MODIFIERS_PATRN confirms the package's role in pattern-based modifier selection, the mechanism by which Qualifier and Pricing Attribute rules are matched to a transaction line.