Search Results g_price




Overview

OE_PRICE_BREAK_UTIL is a utility PL/SQL package owned by the APPS schema in Oracle E-Business Suite Release 12.1.1 and 12.2.2. It is classified in the ETRM repository as a UTIL object, meaning it is not a public business API in its own right but rather an internal helper that supports the price break functionality exposed by the Oracle Order Management pricing engine. Price breaks define quantity- or amount-based discount structures attached to a price list line, allowing a single line to carry multiple tier conditions with associated discounts expressed as an amount, a percent, or a new price.

The package is declared with AUTHID CURRENT_USER, so all SQL statements it executes are parsed and executed under the privileges of the calling session rather than the package owner. Its header is dominated by a block of global constants that map attribute identifiers to ordinal positions. These include G_AMOUNT, G_PERCENT, G_PRICE, G_PRICE_BREAK_HIGH, G_PRICE_BREAK_LOW, G_METHOD_TYPE, G_CONTEXT, the G_ATTRIBUTE1 through G_ATTRIBUTE15 descriptor columns, and the standard WHO audit columns such as G_CREATED_BY, G_CREATION_DATE, G_LAST_UPDATED_BY and G_LAST_UPDATE_DATE. A terminating constant G_MAX_ATTR_ID marks the upper bound of the attribute set. The user search term "g_percent" corresponds directly to the G_PERCENT constant declared at position 26 in this attribute map.

Key Procedures and Functions

The ETRM register documents twelve callable units in the package. Their purposes are as follows.

  • CLEAR_DEPENDENT_ATTR — Resets dependent attributes on a price break record when a controlling attribute changes, using an attribute identifier to determine which fields must be cleared.
  • APPLY_ATTRIBUTE_CHANGES — Propagates changes made to one attribute so that other dependent attributes on the same record remain internally consistent.
  • COMPLETE_RECORD — Populates or defaults missing fields on a price break record so that a complete row can be processed by the pricing engine.
  • CONVERT_MISS_TO_NULL — Converts the FND_API.G_MISS_NUM and related sentinel values into database NULLs before persistence.
  • UPDATE_ROW — Performs the DML update of a price break row after validation and attribute resolution.
  • INSERT_ROW — Performs the DML insert of a new price break row.
  • DELETE_ROW — Removes a price break row.
  • QUERY_ROW — Retrieves a single price break record by its identifiers.
  • QUERY_ROWS — Retrieves a set of price break records matching supplied criteria.
  • LOCK_ROW — Acquires a row-level lock to support concurrent modification of a price break record.
  • GET_VALUES — Returns the attribute values associated with a price break record.
  • GET_IDS — Returns the internal identifiers for a price break record, including attribute identifiers used by the constant map.

Tables Accessed

The package operates against two documented tables through APPS synonyms. OE_PRICE_BREAK_LINES is the primary store for price break tier definitions and is the target of the insert, update, delete and query operations described above. PLITBLM is the Oracle Order Management price list interface table, used where price break data must be staged or validated before it is committed to the pricing structures. The GET_VALUES, GET_IDS, QUERY_ROW and QUERY_ROWS routines read from these tables, while INSERT_ROW, UPDATE_ROW and DELETE_ROW write to them.

Usage Notes

OE_PRICE_BREAK_UTIL is normally invoked indirectly rather than from end-user code. In a standard 12.1.1 or 12.2.2 environment it is called by the public pricing API layer, notably OE_Pricing_Cont_PUB, which supplies and receives the Price_Break_Rec_Type records that appear in the CLEAR_DEPENDENT_ATTR signature. The ETRM metadata records that three other packages reference this utility, confirming its role as a shared helper. Typical entry points include the Order Management price list setup forms, where a user maintains price break tiers, and the price list and pricing concurrent programs that stage, validate and load price break data. Custom development should avoid calling this package directly and instead use the documented public pricing APIs, because the utility assumes caller-provided record structures and performs no independent authorization beyond the AUTHID CURRENT_USER model.