Search Results engine_debug
Overview
QP_PREQ_GRP is the core pricing engine group package within the Oracle Advanced Pricing module of Oracle E-Business Suite. Its primary business function is to process and evaluate price requests (pricing and modifier requests) raised by calling applications during the pricing of a transaction line. In the context of both EBS 12.1.1 and 12.2.2, the package acts as the orchestration layer of the pricing engine, resolving qualifiers, applying price lists, and determining the applicable modifiers (discounts, surcharges, promotions) that ultimately derive a selling price for a given item, customer, and context.
The package maintains substantial in-memory state through package-level global variables and PLS_INTEGER-indexed associative arrays (such as the pricing type, line category, attribute level, and grouping number tables). This design supports the high-volume, iterative evaluation of qualifier groups without repeated context switching to the database, a critical performance consideration for order capture and quoting flows.
Key Procedures and Functions
The documentation lists 21 procedures and functions. The principal entry point is PRICE_REQUEST, which drives the overall pricing evaluation for a request. POPULATE_OUTPUT materializes the results of the engine's evaluation into the output structures returned to the calling application. ENGINE_DEBUG and SET_QP_DEBUG relate to the debugging and diagnostic instrumentation of the engine, which is directly relevant to the "g_debug_engine" search term — these routines provide the mechanism by which the engine emits debug information during evaluation. GET_VERSION returns the package header version string (QPQXGPREB.pls) used for patch-level identification.
A cluster of routines supports assembling and persisting intermediate pricing lines and their attributes: INSERT_LINES2, INSERT_LINE_ATTRS2, INSERT_LDETS2, and INSERT_RLTD_LINES2 insert line, line-attribute, line-detail, and related-line records respectively into the engine's intermediate structures. GET_LINE_DETAIL_INDEX retrieves the index identifying a specific line detail. POPULATE_SEGMENT_ID, POPULATE_PAT_TEMP_TABLES, and POPULATE_TEMP_TABLES_NEQ_BTW populate segment identifiers and working temporary tables used for pattern (qualifier) matching. CREATE_PATTERN and SELECT_MODIFIERS_PATRN are responsible for constructing and matching qualifier patterns against modifier definitions. QP_EVALUATE_OTHER_OPERATORS applies comparison operators during qualifier evaluation. UPDATE_ROUNDING_FACTOR adjusts monetary results according to configured rounding rules.
Tables Accessed
The package reads and writes a focused set of pricing and reference tables through APPS synonyms. Setup and qualifier data are drawn from QP_LIST_HEADERS_B, QP_LIST_HEADER_PHASES, QP_ATTRIBUTE_GROUPS, QP_EVENT_PHASES, QP_CURRENCY_DETAILS, and QP_LIMIT_TRANSACTIONS, which together define price lists, modifier lists, their phases, attribute group structure, and transaction-based pricing limits. Customer hierarchy context is resolved via HZ_HIERARCHY_NODES. The intermediate working tables QP_INT_LINES_T, QP_INT_LINE_ATTRS_T, QP_INT_LDETS_T, and QP_INT_RLTD_LINES_T hold transient line-level results during evaluation. Sequence QP_LIMIT_PRICE_REQUEST_CODE_S generates identifiers. Flexfield and installation configuration are validated using FND_DESCR_FLEX_COLUMN_USAGES, FND_FLEX_VALUE_SETS, and FND_PRODUCT_INSTALLATIONS.
Usage Notes
QP_PREQ_GRP is not typically invoked directly by end users. It is called programmatically by the pricing engine and related modules during order entry, quoting, and any transaction requiring price derivation. The ETRM metadata records that the package is referenced by 97 other packages, confirming its role as a heavily reused internal component. Custom code seeking to invoke pricing logic should generally call the supported public API (QP_PREQ_GRP.PRICE_REQUEST) rather than the internal insert and population routines. Debugging of engine behavior is enabled through the SET_QP_DEBUG and ENGINE_DEBUG routines, which control the g_debug_engine flag referenced in the package body. Because the package relies on package-level global state, it should be invoked within a single session scope per pricing request to avoid cross-contamination of evaluation results.
-
PACKAGE BODY: APPS.QP_PREQ_GRP
12.1.1
-
PACKAGE BODY: APPS.QP_PREQ_GRP
12.2.2
-
APPS.QP_PREQ_GRP SQL Statements
12.1.1
-
APPS.QP_PREQ_GRP SQL Statements
12.2.2
-
APPS.QP_PREQ_GRP dependencies on FND_API
12.1.1
-
APPS.QP_PREQ_GRP dependencies on FND_API
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_CODE_CONTROL
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_CODE_CONTROL
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_JAVA_ENGINE
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_PRICE_REQUEST_CONTEXT
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_JAVA_ENGINE
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_PRICE_REQUEST_CONTEXT
12.2.2
-
APPS.QP_PREQ_GRP dependencies on STANDARD
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_FORMULA_PRICE_CALC_PVT
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_DEBUG_UTIL
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_FORMULA_PRICE_CALC_PVT
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_MULTI_CURRENCY_PVT
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_JAVA_ENGINE_UTIL_PUB
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_INT_LDETS
12.2.2
-
APPS.QP_PREQ_GRP dependencies on STANDARD
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_MULTI_CURRENCY_PVT
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_JAVA_ENGINE_UTIL_PUB
12.2.2
-
APPS.QP_PREQ_GRP dependencies on OE_DEBUG_PUB
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_UTIL_PUB
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_INT_LINE_ATTRS
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_INT_LDETS
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_UTIL_PUB
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_INT_LINE_ATTRS
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_INT_LINES
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_BUILD_SOURCING_PVT
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_INT_LINES
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_BUILD_SOURCING_PVT
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_DEBUG_UTIL
12.2.2
-
APPS.QP_PREQ_GRP dependencies on OE_DEBUG_PUB
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_COUPON_PVT
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_CALCULATE_PRICE_PUB
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_CALCULATE_PRICE_PUB
12.2.2
-
APPS.QP_PREQ_GRP dependencies on FND_PROFILE
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_UTIL
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_COPY_DEBUG_PVT
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_COPY_DEBUG_PVT
12.2.2
-
APPS.QP_PREQ_GRP dependencies on QP_COUPON_PVT
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_UTIL
12.2.2
-
APPS.QP_PREQ_GRP dependencies on DBMS_UTILITY
12.2.2
-
APPS.QP_PREQ_GRP dependencies on DBMS_UTILITY
12.1.1
-
APPS.QP_PREQ_GRP dependencies on QP_NPREQ_PATRN_PHASES_TMP
12.2.2
-
APPS.QP_PREQ_GRP dependencies on V$STATNAME
12.2.2
-
APPS.QP_PREQ_GRP dependencies on V$STATNAME
12.1.1
-
APPS.QP_PREQ_GRP dependencies on FND_PROFILE
12.1.1
-
APPS.QP_PREQ_GRP dependencies on MO_GLOBAL
12.2.2