Search Results limit_level
Overview
QP_LIMIT_BALANCE_CHECK_PVT is a private (PVT) PL/SQL package in the Oracle Advanced Pricing module of Oracle E-Business Suite, owned by the APPS schema and declared with AUTHID CURRENT_USER. Its business purpose is to enforce pricing limits — monetary, quantity, or percentage ceilings applied to a pricing agreement, promotion, or modifier — by evaluating whether a given transaction line would exceed the balance available on an associated limit. The package is consumed during pricing engine processing, where every candidate list line contributed by a modifier or agreement must be validated against the limit balances recorded for that limit. Where a line would breach a soft or hard limit, the package determines the appropriate action: adjusting the given amount, applying a limit hold, or rejecting the line outright.
The internal record type Limit_Balance_Line_Rec is the central working structure. Among its many attributes is limit_level VARCHAR2(1) — the field searched as "limit_level". This attribute identifies the scope at which the limit is evaluated (for example, header versus line versus pricing group level). Related fields limit_level_code, limit_amount, available_amount, available_percent, and hard_limit_exceeded work together to convey the resolved limit context back to the caller.
Key Procedures and Functions
ETRM documents a single public entry point:
- PROCESS_LIMITS — The main driver routine. It iterates the limit balance lines involved in the current pricing call, evaluates each line against the applicable limit, rechecks balances where concurrent activity may have changed them, and records the resulting action (insert or update against the limit balance tables) along with any hold, adjustment, or exceeded-limit indicator.
The package metadata exposes two globals that govern this behaviour: G_MAX_LOOP_COUNT (constant, value 50), the maximum number of balance rechecks permitted within a single call to Process Limits, and G_LOOP_COUNT, the running count of rechecks already performed. Together these guard against runaway reprocessing when a limit balance is under contention. No parameter lists are documented and none should be assumed.
Tables Accessed
The package operates across the core Advanced Pricing limit and list entities, referenced through APPS synonyms:
- QP_LIMITS — The limit definitions themselves, supplying the limit amount and enforcement level.
- QP_LIMIT_ATTRIBUTES — Attribute-level scoping of limits, used to determine which pricing attributes a limit applies to.
- QP_LIMIT_BALANCES and QP_LIMIT_BALANCES_S — Consumed and updated balances for each limit, the primary write target of the balance-check process.
- QP_LIMIT_TRANSACTIONS — The transaction-level consumption records that support audit and reversal of limit usage.
- QP_LIST_LINES — The pricing list lines whose contributed amounts are being tested against a limit.
- QP_PRICING_ATTRIBUTES — Attribute values used to resolve multi-valued limit criteria.
- DUAL and PLITBLM — Utility references used for scalar evaluation and PL/SQL table access.
Usage Notes
QP_LIMIT_BALANCE_CHECK_PVT is a private package and is not intended for direct invocation by customers or integrators. It is called by the pricing engine during list line qualification and price adjustment, typically from within the pricing APIs and their dependent private packages, one of which references it directly per the documented dependency. Custom code should not call this package; instead, integrations should use the supported public pricing APIs, which invoke the limit balance check internally. Any changes to limit balances resulting from this processing are persisted through the QP_LIMIT_BALANCES and QP_LIMIT_TRANSACTIONS tables, making those the appropriate sources for reporting on limit consumption.
-
Lookup Type: LIMIT_LEVEL
12.1.1
product: QP - Advanced Pricing , meaning: Limit Level , description: Indicates the transaction level for which the limit is set ,
-
Lookup Type: LIMIT_LEVEL
12.2.2
product: QP - Advanced Pricing , meaning: Limit Level , description: Indicates the transaction level for which the limit is set ,
-
12.1.1 FND Design Data
12.1.1
-
PACKAGE: APPS.QP_LIMIT_BALANCE_CHECK_PVT
12.2.2
-
PACKAGE: APPS.QP_LIMIT_BALANCE_CHECK_PVT
12.1.1
-
12.2.2 FND Design Data
12.2.2
-
APPS.QP_LIMIT_BALANCE_CHECK_PVT SQL Statements
12.1.1
-
APPS.QP_VALIDATE SQL Statements
12.2.2
-
APPS.QP_VALIDATE SQL Statements
12.1.1
-
TABLE: QP.QP_LIMITS
12.1.1
owner:QP, object_type:TABLE, fnd_design_data:QP.QP_LIMITS, object_name:QP_LIMITS, status:VALID,
-
APPS.QP_LIMIT_BALANCE_CHECK_PVT SQL Statements
12.2.2
-
TABLE: QP.QP_LIMITS
12.2.2
owner:QP, object_type:TABLE, fnd_design_data:QP.QP_LIMITS, object_name:QP_LIMITS, status:VALID,
-
PACKAGE: APPS.QP_VALUE_TO_ID
12.1.1
-
PACKAGE: APPS.QP_VALUE_TO_ID
12.2.2
-
PACKAGE BODY: APPS.QP_LIMITS_ATTR
12.1.1
-
PACKAGE BODY: APPS.QP_LIMITS_ATTR
12.2.2
-
PACKAGE: APPS.QP_ID_TO_VALUE
12.1.1
-
PACKAGE BODY: APPS.QP_LIMIT_BALANCE_CHECK_PVT
12.2.2
-
PACKAGE BODY: APPS.QP_LIMIT_BALANCE_CHECK_PVT
12.1.1
-
PACKAGE: APPS.QP_ID_TO_VALUE
12.2.2
-
PACKAGE: APPS.QP_LIMITS_PUB
12.1.1
-
PACKAGE: APPS.QP_LIMITS_PUB
12.2.2
-
PACKAGE BODY: APPS.QP_ID_TO_VALUE
12.1.1
-
PACKAGE BODY: APPS.QP_ID_TO_VALUE
12.2.2
-
PACKAGE BODY: APPS.QP_VALUE_TO_ID
12.2.2
-
PACKAGE BODY: APPS.QP_VALUE_TO_ID
12.1.1
-
PACKAGE: APPS.QP_VALIDATE
12.2.2
-
APPS.QP_LIMITS_UTIL dependencies on FND_MESSAGE
12.1.1
-
PACKAGE: APPS.QP_VALIDATE
12.1.1
-
APPS.QP_LIMITS_UTIL dependencies on FND_MESSAGE
12.2.2
-
APPS.QP_VALIDATE dependencies on QP_LOOKUPS
12.1.1
-
APPS.QP_VALIDATE dependencies on QP_LOOKUPS
12.2.2
-
APPS.QP_LIMITS_UTIL dependencies on OE_MSG_PUB
12.2.2
-
APPS.QP_LIMITS_UTIL dependencies on OE_MSG_PUB
12.1.1
-
APPS.QP_ID_TO_VALUE dependencies on FND_API
12.1.1
-
APPS.QP_ID_TO_VALUE dependencies on FND_API
12.2.2
-
APPS.QP_LIMITS_ATTR dependencies on OE_GENERATE
12.2.2
-
APPS.QP_LIMITS_ATTR dependencies on OE_GENERATE
12.1.1
-
PACKAGE BODY: APPS.QP_LIMITS_UTIL
12.2.2
-
APPS.QP_VALUE_TO_ID dependencies on FND_API
12.2.2
-
PACKAGE BODY: APPS.QP_LIMITS_UTIL
12.1.1
-
APPS.QP_VALUE_TO_ID dependencies on FND_API
12.1.1
-
APPS.QP_LIMITS_PUB dependencies on FND_API
12.1.1
-
APPS.QP_LIMITS_PUB dependencies on FND_API
12.2.2
-
PACKAGE BODY: APPS.QP_VALIDATE
12.1.1
-
PACKAGE BODY: APPS.QP_VALIDATE
12.2.2
-
APPS.QP_ID_TO_VALUE dependencies on FND_MESSAGE
12.1.1
-
APPS.QP_ID_TO_VALUE dependencies on FND_MESSAGE
12.2.2
-
APPS.QP_ID_TO_VALUE dependencies on OE_MSG_PUB
12.2.2
-
APPS.QP_ID_TO_VALUE dependencies on OE_MSG_PUB
12.1.1