Search Results get_pricing_attribute




Overview

QP_DEFAULT_PRICING_ATTR is a PL/SQL package body owned by the APPS schema in Oracle E-Business Suite. In the Advanced Pricing (QP) module, it is classified as an OTHER API rather than a public transactional interface, meaning it is intended primarily for internal use by the pricing engine and related pricing components. Its business function is to supply default values and helper lookups for pricing attribute records that are assembled during price list processing. The package exposes a set of small "Get_" functions that return pre-seeded column values—such as the list header, pricing phase, comparison operator, accumulation flag, attribute grouping number, and exclude flag—used when constructing or qualifying pricing attribute rows in the pricing data model.

The package header comment indicates that a performance-related change was made to include the columns list_header_id and pricing_phase_id within pricing attributes, reflecting ongoing tuning in the pricing attribute retrieval path. The version reference (120.2, dated 2005) is the same in both 12.1.1 and 12.2.2, so behavior in the two releases is effectively identical.

Key Procedures and Functions

The documented metadata lists a single callable unit, ATTRIBUTES, while the source excerpt shows a group of supporting Get_ functions. The Get_ functions return scalars or records intended to populate pricing attribute structures during defaulting:

  • Get_List_Header — returns the list header identifier associated with a price list line; the body currently returns NULL, with the original query logic commented out for performance reasons.
  • Get_Pricing_Phase — returns the pricing phase identifier for a price list line; likewise returns NULL in the current body.
  • Get_Comparison_Operator — supplies a default comparison operator for the pricing attribute; returns NULL.
  • Get_Accumulate — returns the accumulation flag, defaulted to 'N' (no accumulate).
  • Get_Attribute_Grouping_No — obtains a fresh grouping number from the sequence QP_PRICING_ATTR_GROUP_NO_S, used to tie related attributes into a single grouping.
  • Get_Exclude — returns the exclude indicator for the attribute being defaulted.

The package global g_PRICING_ATTR_rec of type QP_Modifiers_PUB.Pricing_Attr_Rec_Type anchors the record structure used across these defaults, ensuring consistency with the public modifiers API.

Tables Accessed

Per the documented metadata, the package references three objects through APPS synonyms:

  • QP_PRICING_ATTRIBUTES_S — the sequence backing the primary key of the QP_PRICING_ATTRIBUTES table; used to generate unique attribute identifiers.
  • QP_PRICING_ATTR_GROUP_NO_S — the sequence used by Get_Attribute_Grouping_No to produce grouping numbers.
  • DUAL — the pseudo-table used to select from the sequences.

Notably, the underlying pricing line tables (QP_LIST_LINES) are only referenced in the commented-out code blocks, so in the shipped version the package does not perform direct reads against price list data.

Usage Notes

Because QP_DEFAULT_PRICING_ATTR is an OTHER-classified API, it is typically invoked indirectly by the pricing engine, price list forms, and modifier processing logic rather than called directly by end users. Custom code that builds pricing attribute records through QP_Modifiers_PUB may rely on these Get_ functions for default values, but the returning of NULL for several attributes means the calling application must supply meaningful values where required. The metadata records that one other package references QP_DEFAULT_PRICING_ATTR, confirming its role as a low-level utility dependency. Developers extending pricing behavior should treat this package as internal, avoid modifying it in production, and prefer documented public APIs for customization.