Search Results return_glb_ent_index




Overview

OE_ORDER_UTIL is a utility package body in the APPS schema that provides low-level infrastructure services to the Oracle Order Management (OM) module. It is not an end-user-facing API; rather, it is the shared plumbing used internally by the higher-level Order Management APIs such as OE_ORDER_PUB, OE_LINE_UTIL, OE_HEADER_UTIL, and OE_ORDER_CACHE. The classification of the package as a UTIL object reflects its role: it exposes reusable primitives for concurrency control, cached global-state management, flexible attribute lookups, currency precision retrieval, and business-event publication that the order capture and order maintenance flows depend upon. Dependencies confirm this architectural position — the package calls into OE_ORDER_PUB, OE_GLOBALS, OE_CODE_CONTROL, FND_API, FND_MESSAGE, FND_CURRENCY, FND_FUNCTION, and various adjustment and sales-credit utilities, while it is referenced by approximately 75 other database objects. It is present and valid in both Oracle EBS 12.1.1 and 12.2.2.

Key Procedures and Functions

The ETRM metadata documents twelve procedures and functions, summarized below by purpose only.

  • GET_ATTRIBUTE_NAME — Resolves the descriptive name of a flexible attribute (typically an AK attribute) so that header- and line-level context columns can be displayed or logged consistently.
  • LOCK_ORDER_OBJECT — Provides concurrency control by locking an order-related object before it is modified, preventing conflicting updates from concurrent sessions.
  • UPDATE_GLOBAL_PICTURE — Refreshes the in-memory snapshot of the current order the session is working on, keeping cached header and line state synchronized with the database.
  • RETURN_GLB_ENT_INDEX — Returns the index of an entity within the global picture, allowing callers to locate a specific header or line reference in the cached structure.
  • CLEAR_GLOBAL_PICTURE — Reinitializes and releases the global picture, typically at the end of a transaction or form session.
  • INITIALIZE_ACCESS_LIST — Sets up the access list used for authorization or eligibility checks on order objects.
  • ADD_ACCESS — Adds an entry to the access list so that a user, role, or entity is permitted to act on the object.
  • IS_ACTION_IN_ACCESS_LIST — Evaluates whether a requested action is permitted for the caller based on the populated access list.
  • GET_ACCESS_LIST — Retrieves the current access list for inspection or downstream processing.
  • GET_PRECISION — Returns the currency precision for a given currency, ensuring monetary values are rounded and formatted correctly.
  • RAISE_BUSINESS_EVENT — Publishes an Oracle Workflow business event with associated parameters, supporting event-driven extensions to Order Management.
  • GET_GLOBAL_OLD_HEADER_ID — Returns the previous header identifier from the global picture, enabling callers to detect header changes across operations.

Tables Accessed

OE_ORDER_UTIL references core Order Management tables through APPS synonyms. OE_ORDER_HEADERS and OE_ORDER_LINES (and its ALL variant, OE_ORDER_LINES_ALL) supply header and line data used when the global picture is populated or refreshed. OE_PRICE_ADJUSTMENTS and OE_SALES_CREDITS are consulted by the pricing and sales-credit flows that invoke OE_HEADER_ADJ_UTIL, OE_LINE_ADJ_UTIL, and their sales-credit counterparts. OE_RAISE_BUSINESS_EVENT_S stores the subscription metadata used by RAISE_BUSINESS_EVENT, and WF_PARAMETER_LIST_T carries the event payload parameters. DUAL supports scalar calculations, while PLITBLM is a standard PL/SQL table type used for list handling.

Usage Notes

Because OE_ORDER_UTIL is an internal utility rather than a public API, it is invoked indirectly. Oracle Forms-based order entry and the Order Organizer call OE_ORDER_PUB, which in turn delegates to OE_ORDER_UTIL for locking, global-state management, and access checks. Concurrent programs and workflow activities reach it through the pricing and sales-credit utilities. Customizations should generally call the public OE_ORDER_PUB API rather than OE_ORDER_UTIL directly, but developers writing extensions that need to lock an order, resolve currency precision, or raise a business event may invoke the relevant utility procedure. Care should be exercised because the global picture is session-scoped state; callers must clear it appropriately and must not assume the package is re-entrant across concurrent operations on the same order.