Search Results create_parallel_slabs
Overview
QP_PRICE_FORMULA_UPG_UTIL_PVT is a private (PVT) PL/SQL utility package owned by the APPS schema in Oracle E-Business Suite. Its business purpose is to support the upgrade and migration of Oracle Advanced Pricing price formula data — the formula headers, formula lines, pricing attributes, and associated list structures that drive price list calculations, discounts, surcharges, and modifier logic. The package header carries the version tag $Header: QPXVUPFS.pls 120.0 2005/06/02, indicating it was authored during the Advanced Pricing development cycle and preserved across the 12.1.1 and 12.2.2 releases.
Because the package is classified as PVT, it is not part of the public Oracle Advanced Pricing PL/SQL API surface. It is an internal worker utility, invoked by upgrade scripts, data-migration routines, or other QP upgrade drivers rather than by customer code directly. Its central design goal is batching: rather than upgrading every price formula in a single transactional pass, the utility enables the work to be split across multiple concurrent worker sessions, which is essential when a production environment contains a large volume of formula definitions and pricing attributes.
Key Procedures and Functions
The package exposes two documented procedures:
- Create_Parallel_Slabs — This procedure provisions the parallel work units (slabs) that a concurrent upgrade run will use. Its parameter, l_workers, expresses how many parallel workers the caller intends to spawn. The procedure partitions the population of price formula records into that many logical slabs so that each worker processes a distinct, non-overlapping subset of the data. This is the standard Oracle EBS pattern for parallelising a long-running upgrade without contention on the same rows.
- Upgrade_Price_Formulas — This procedure performs the actual data transformation for one worker's slab. Its parameter, l_worker, identifies which slab the current session is responsible for. The procedure reads the source formula records assigned to that slab and applies the upgrade logic — writing the migrated or converted formula header, line, and attribute data back into the Advanced Pricing tables.
The two procedures are designed as a matched pair: Create_Parallel_Slabs establishes the work decomposition, and Upgrade_Price_Formulas consumes it, typically one invocation per concurrent worker.
Tables Accessed
The package operates against a broad set of Advanced Pricing and shared reference tables, resolved through APPS synonyms:
- Core formula tables: QP_PRICE_FORMULAS_B, QP_PRICE_FORMULAS_TL, QP_PRICE_FORMULA_LINES, and QP_PRICE_FORMULA_LINES_S hold the formula headers and lines that are the primary upgrade target.
- List structures: QP_LIST_HEADERS_B, QP_LIST_HEADERS_B_S, QP_LIST_HEADERS_TL, QP_LIST_LINES, and QP_LIST_LINES_S provide the price list and modifier list context in which formulas participate, and are updated in step with the formula records.
- Pricing attributes: QP_PRICING_ATTRIBUTES, QP_PRICING_ATTRIBUTES_S, and QP_PRICING_ATTR_GROUP_NO_S supply the attribute definitions and grouping numbers that formula lines reference for product, customer, and qualifier context.
- Reference data: MTL_CATEGORIES_KFV resolves item category key flexfield values; FND_LANGUAGES drives the multilingual (TL) rows; and FND_DESCR_FLEX_COLUMN_USAGES supports descriptive flexfield attribute handling.
The _S tables represent the multi-org / security variants, indicating that the upgrade preserves organizational visibility of the migrated records.
Usage Notes
QP_PRICE_FORMULA_UPG_UTIL_PVT is an internal upgrade utility, not a public API. It is not referenced by any other documented package (referenced-by count is zero in the ETRM metadata), which confirms its role as a top-level entry point driven by upgrade scripts or concurrent programs rather than by downstream PL/SQL callers.
Typical invocation follows the parallel-upgrade pattern: a coordinator step calls Create_Parallel_Slabs once to define the slabs, then submits Upgrade_Price_Formulas across multiple concurrent workers, each passed a distinct worker number. Because the procedures carry no documented error-handling contract in the header, and because the package is PVT, customers should not call it directly from custom code; instead, the supported path is to execute the delivered Advanced Pricing upgrade concurrent programs or patch drivers that internally invoke it. Any custom reuse would risk conflicts with future EBS patches, since PVT packages can change without a compatibility guarantee.
-
PACKAGE: APPS.QP_PRICE_FORMULA_UPG_UTIL_PVT
12.1.1
-
PACKAGE: APPS.QP_PRICE_FORMULA_UPG_UTIL_PVT
12.2.2
-
PACKAGE: APPS.QP_AGRUPGRADE
12.2.2
-
PACKAGE: APPS.QP_UPDATE_UTIL
12.1.1
-
PACKAGE: APPS.QP_UPDATE_UTIL
12.2.2
-
PACKAGE: APPS.QP_AGRUPGRADE
12.1.1
-
PACKAGE: APPS.QP_QUALIFICATION_IND_UPG_UTIL
12.2.2
-
PACKAGE: APPS.QP_QUALIFICATION_IND_UPG_UTIL
12.1.1
-
PACKAGE: APPS.QP_MODIFIER_UPGRADE_PVT
12.2.2
-
PACKAGE: APPS.QP_MODIFIER_UPGRADE_PVT
12.1.1
-
PACKAGE: APPS.QP_LIST_UPGRADE_UTIL_PVT
12.2.2
-
PACKAGE: APPS.QP_LIST_UPGRADE_UTIL_PVT
12.1.1
-
PACKAGE BODY: APPS.QP_AGRUPGRADE
12.1.1
-
PACKAGE BODY: APPS.QP_AGRUPGRADE
12.2.2
-
PACKAGE BODY: APPS.QP_QUALIFICATION_IND_UPG_UTIL
12.2.2
-
PACKAGE BODY: APPS.QP_QUALIFICATION_IND_UPG_UTIL
12.1.1
-
PACKAGE BODY: APPS.QP_UPDATE_UTIL
12.2.2
-
PACKAGE BODY: APPS.QP_UPDATE_UTIL
12.1.1
-
PACKAGE BODY: APPS.QP_PRICE_FORMULA_UPG_UTIL_PVT
12.1.1
-
PACKAGE BODY: APPS.QP_PRICE_FORMULA_UPG_UTIL_PVT
12.2.2
-
APPS.QP_UPDATE_UTIL dependencies on QP_UPDATE_UTIL
12.2.2
-
APPS.QP_UPDATE_UTIL dependencies on QP_UPDATE_UTIL
12.1.1
-
APPS.QP_AGRUPGRADE dependencies on QP_AGRUPGRADE
12.1.1
-
APPS.QP_AGRUPGRADE dependencies on QP_AGRUPGRADE
12.2.2
-
PACKAGE BODY: APPS.QP_MODIFIER_UPGRADE_PVT
12.1.1
-
PACKAGE BODY: APPS.QP_MODIFIER_UPGRADE_PVT
12.2.2
-
PACKAGE BODY: APPS.QP_LIST_UPGRADE_UTIL_PVT
12.2.2
-
PACKAGE BODY: APPS.QP_LIST_UPGRADE_UTIL_PVT
12.1.1