Search Results oe_line_pattr_util




Overview

OE_LINE_PATTR_UTIL is a utility package in the Oracle Order Management module of Oracle E-Business Suite. Its name derives from "Order Entry Line Pricing Attributes Utility," and it provides the low-level maintenance, query, and manipulation routines required to manage the pricing attribute flexfield segments that are associated with order lines. Pricing attributes in Order Management are stored in the OE_ORDER_PRICE_ATTRIBS table and drive the qualification and application of price adjustments, discounts, surcharges, and other modifier logic during pricing engine execution.

The package is classified as a UTIL API under the APPS schema (AUTHID CURRENT_USER) and forms part of the internal machinery that supports the Descriptive Flexfield (DFF) infrastructure for order line pricing attributes. Rather than representing a business-level API invoked directly by end users, it supplies reusable primitives used by higher-level Order Management packages and forms to maintain consistency across the pricing attribute records when order lines are created, copied, or modified. The package header declares an extensive set of constants (G_ATTRIBUTE1 through G_ATTRIBUTE15, G_CONTEXT, G_CREATED_BY, G_CREATION_DATE, G_FLEX_TITLE, G_HEADER, G_LINE, G_ORDER_PRICE_ATTRIB, and G_PRICING_ATTRIBUTE1 through G_PRICING_ATTRIBUTE100) that map logical pricing attribute names to numeric positions used in the PLITBLM and flexfield descriptor structures.

Key Procedures and Functions

The package exposes thirteen documented procedures that can be grouped into three functional categories.

  • Record retrieval: QUERY_ROW and QUERY_ROWS return one or many pricing attribute records, respectively, based on the identifying flexfield context and line key.
  • Record maintenance: INSERT_ROW, UPDATE_ROW, and DELETE_ROW perform the base DML operations against the pricing attribute store, while LOCK_ROW and LOCK_ROWS acquire row-level locks to serialize concurrent updates within a transaction.
  • Attribute processing: CLEAR_DEPENDENT_ATTR removes values from dependent segments when a controlling segment changes. COMPLETE_RECORD ensures that all required segments are populated and internally consistent. CONVERT_MISS_TO_NULL normalizes "missing" sentinel values to NULL. APPLY_ATTRIBUTE_CHANGES propagates a set of changed segment values through the record. COPY_PRICING_ATTRIBUTES, the routine most commonly sought by developers, duplicates the pricing attribute set from a source order line to a target order line — the operation used during line copy, split, or reference line processing. COPY_MODEL_PATTR performs the analogous copy for model (configuration) line pricing attributes.

Tables Accessed

The package interacts with the core Order Management pricing and order line tables through APPS synonyms.

  • OE_ORDER_LINES and OE_ORDER_LINES_ALL: the header/line base tables that anchor the pricing attribute records and supply line identifiers, headers, and org context.
  • OE_ORDER_PRICE_ATTRIBS: the primary store for the pricing attribute flexfield segment values; this table is the principal target of INSERT_ROW, UPDATE_ROW, DELETE_ROW, and the COPY routines.
  • OE_PRICE_ADJUSTMENTS and OE_PRICE_ADJ_ASSOCS: adjustment definitions and their associations to lines, referenced when pricing attributes are applied or validated against modifier logic.
  • DUAL: used for single-row PL/SQL expressions and constant evaluation.
  • PLITBLM: the standard flexfield "table" structure that holds the runtime descriptor and segment values used by the flexfield APIs.

Usage Notes

OE_LINE_PATTR_UTIL is not invoked directly by end users; it is a backend utility. It is typically called from Order Management forms (Order Organizer, Sales Orders, copy/line management flows), from other Order Management PL/SQL packages (it is referenced by six packages in the ETRM metadata), and from concurrent programs and custom extensions that need to programmatically copy or maintain pricing attributes. Developers searching for "copy_pricing_attributes" will find that routine here, used to replicate the pricing attribute segment values from one order line to another during copy, split, or model configuration processing. Because the package follows Oracle's standard UPDATE_ROW/INSERT_ROW/DELETE_ROW utility pattern, custom code should invoke these routines rather than issuing direct DML against OE_ORDER_PRICE_ATTRIBS, ensuring that dependent segment clearing, missing-to-null conversion, and record completion logic execute correctly. As with all APPS AUTHID CURRENT_USER utilities, callers must be aware that the routines operate within the caller's schema privileges and should be wrapped in appropriate transaction boundaries when used in custom integrations.