Search Results oe_header_pattr_util




Overview

OE_HEADER_PATTR_UTIL is a utility package in the Oracle Order Management module of Oracle E-Business Suite (available in both 12.1.1 and 12.2.2). Its name reflects its role: it manages the header-level pricing attributes (PATTR) associated with order headers. Pricing attributes are the extensible key-value descriptors used by Oracle Advanced Pricing to qualify modifiers, price lists, and formulas against an order. This package provides the low-level data access layer that reads, writes, locks, and validates rows in the attribute structures tied to an order header.

The package exposes a large set of named constants that map the columns of the pricing attribute flexfield to numeric ordinals. Among these is G_FLEX_TITLE CONSTANT NUMBER := 19;, which the user searching for "g_flex_title" would encounter. The constant corresponds to the descriptive flexfield title column within the attribute record. Constants such as G_ATTRIBUTE1 through G_ATTRIBUTE15, G_CONTEXT, G_ORDER_PRICE_ATTRIB, and the G_PRICING_ATTRIBUTE1 through G_PRICING_ATTRIBUTE100 series allow callers to reference attribute positions symbolically rather than by hard-coded index, insulating callers from column-order changes.

Key Procedures and Functions

  • QUERY_ROW / QUERY_ROWS — Retrieve a single attribute record or a set of records from the underlying pricing attribute table for a given order header, returning the populated values for downstream processing or display.
  • INSERT_ROW / UPDATE_ROW / DELETE_ROW — Perform the base DML operations against a header pricing attribute record: creating a new attribute row, modifying existing attribute values, and removing an obsolete row respectively.
  • LOCK_ROW / LOCK_ROWS — Acquire row-level locks on one or more attribute records to prevent concurrent modification during an update transaction, supporting the package's concurrency control model.
  • APPLY_ATTRIBUTE_CHANGES — Reconciles a set of pending attribute changes against the stored record, applying insert, update, or delete as required. This is typically the higher-level entry point used after attributes have been edited in a form or interface.
  • CLEAR_DEPENDENT_ATTR — Clears related attribute values that must be reset when a controlling attribute (for example, the context or a qualifier) changes, preserving referential consistency within the flexfield.
  • COMPLETE_RECORD — Populates default or missing values in a partially specified attribute record so that it conforms to the expected complete structure before persistence.
  • CONVERT_MISS_TO_NULL — Normalizes the special "missing" sentinel value used internally by the attribute structures into a true NULL, ensuring the database stores a clean null rather than a placeholder.

Tables Accessed

The package works against the pricing attribute and pricing engine tables, referenced through APPS synonyms:

  • OE_ORDER_PRICE_ATTRIBS — The primary table holding order-level pricing attributes; the bulk of QUERY, INSERT, UPDATE, DELETE, and LOCK operations target this table.
  • OE_PRICE_ADJUSTMENTS — Adjustment definitions associated with the order; referenced when attribute changes affect modifier qualification.
  • OE_PRICE_ADJ_ASSOCS — The association table linking adjustments to orders and lines, consulted as attributes are applied.
  • PLITBLM — A generic Order Management table used for temporary or lookup purposes during attribute processing.

Usage Notes

OE_Header_PAttr_Util is an internal utility (classified as UTIL and marked noship in its header), not a public API intended for direct external calls. It is referenced by four other packages within Order Management and is invoked indirectly from the Order Entry forms and pricing workflows when header attributes are maintained, validated, or applied. Because the DML, locking, and normalization logic is centralized here, the richer public APIs and form handlers delegate to this package rather than manipulating OE_ORDER_PRICE_ATTRIBS directly.

Developers writing custom code should avoid calling these procedures directly, since signatures, the G_ index constants, and behavior are subject to change between patch levels. Where header pricing attributes must be interfaced programmatically, the supported Order Management APIs that wrap this utility should be used instead. The named constants—including G_FLEX_TITLE (ordinal 19)—remain useful as a reference for understanding the internal column layout of the attribute record structure.