Search Results get_option_lines




Overview

OE_LINE_PATTR_UTIL is a utility package body in the Oracle Order Management (OM) module of Oracle E-Business Suite, residing under the APPS schema. Its responsibility is to manage the line-level pricing attributes associated with sales order lines. Pricing attributes are the flexfield-style context and attribute columns (PRICING_CONTEXT and PRICING_ATTRIBUTE1 through PRICING_ATTRIBUTE36) stored against order lines and used by Oracle Advanced Pricing to qualify modifiers, price lists, and adjustments during pricing and repricing of an order. The package therefore provides the low-level data access and maintenance layer that forms and concurrent programs rely on when they need to read, insert, update, delete, copy, or lock pricing attribute records without directly manipulating the underlying tables.

The package is classified in ETRM metadata as a UTIL (utility) API rather than a public business API, which reflects its role as an internal support component for the Order Management forms and for other PL/SQL packages. It does not implement pricing logic itself; instead it safeguards the integrity of the pricing attribute rows and abstracts the repetitive mechanics of populating the many attribute columns, converting null values, and applying attribute changes.

Key Procedures and Functions

The package exposes thirteen documented procedures and functions:

  • QUERY_ROW — Retrieves a single pricing attribute record for a given order price attribute identifier into a record structure.
  • QUERY_ROWS — Bulk variant of the query routine; returns a collection of pricing attribute records filtered by identifiers such as the order price attribute ID or the line ID. The excerpt in the source shows this routine driving a cursor over the full set of pricing context and attribute columns.
  • INSERT_ROW — Creates a new pricing attribute record for an order line.
  • UPDATE_ROW — Modifies an existing pricing attribute record.
  • DELETE_ROW — Removes a pricing attribute record.
  • LOCK_ROW — Obtains a row-level lock on a single pricing attribute record to support concurrency control during updates.
  • LOCK_ROWS — Bulk locking variant used when multiple pricing attribute rows must be secured for a batch operation.
  • CLEAR_DEPENDENT_ATTR — Clears dependent pricing attribute values, typically when the pricing context changes and previously populated attributes are no longer valid.
  • COMPLETE_RECORD — Populates or defaults the audit and standard columns to produce a fully formed record prior to persistence.
  • CONVERT_MISS_TO_NULL — Translates the FND_API.G_MISS_NUM sentinel values into database NULLs so that the ORACLE-style "miss" convention used by public APIs does not leak into stored data.
  • APPLY_ATTRIBUTE_CHANGES — Applies a set of pending pricing attribute changes to the underlying records.
  • COPY_PRICING_ATTRIBUTES — Copies pricing attributes from a source line to a target line, supporting order duplication and line-copy operations.
  • COPY_MODEL_PATTR — Copies pricing attributes from a model line to its configuration children, supporting configured items in a model/option relationship.

Tables Accessed

The package reads and writes the core Order Management pricing tables through APPS synonyms:

  • OE_ORDER_PRICE_ATTRIBS — The primary table holding line-level pricing context and attribute values; the target of the insert, update, delete, query, and copy operations.
  • OE_ORDER_LINES and OE_ORDER_LINES_ALL — Order line headers to which pricing attributes are linked and from which line identifiers are validated.
  • OE_PRICE_ADJUSTMENTS and OE_PRICE_ADJ_ASSOCS — Price adjustment and association tables consulted in the context of pricing attribute application and change propagation.
  • DUAL — Used for single-row evaluations and sentinel checks.
  • PLITBLM — The PL/SQL table/index-by table type used by the bulk query and copy routines.

Usage Notes

OE_LINE_PATTR_UTIL is invoked internally by Order Management forms and by other PL/SQL packages rather than being called directly by end users. ETRM metadata records that the package is referenced by six other packages, indicating its use as a shared utility across the OM pricing and order-entry code paths. Typical invocations occur when the Order Organizer or Sales Orders form saves, copies, or reprices line attributes, and when concurrent programs that process order imports or repricing need to synchronize pricing attribute records. Customizations and extensions that manipulate line pricing attributes should generally call this utility or the corresponding public OE_Order_PUB interfaces rather than issuing DML against OE_ORDER_PRICE_ATTRIBS directly, so that locking, sentinel conversion, and dependent attribute handling remain consistent. Because the package is a utility classification, Oracle does not guarantee its signature across releases; the same functionality is exposed through the supported public APIs in 12.1.1 and 12.2.2.