Search Results lock_control




Overview

OE_PRICE_ADJ_ASSOCS_V is a dictionary-defined view owned by the APPS schema in Oracle E-Business Suite, delivered as part of the ONT (Order Management) product family. In release 12.1.1 and 12.2.2 the object carries a VALID status and its definition is a straightforward projection over the base table OE_PRICE_ADJ_ASSOCS. The view exists principally to provide a read-only, upgrade-stable interface to the association records that link order lines to the price adjustments applied against them. Because the view text is a simple SELECT of the base table's columns, it introduces no joins, filters, or derived expressions, which means query predicates and index usage behave exactly as they would against the underlying table.

For reporting and integration purposes, the view functions as a controlled abstraction layer. Custom reports, Oracle Discoverer workbooks, BI Publisher data templates, and interface programs that need to reference price adjustment associations can be written against OE_PRICE_ADJ_ASSOCS_V rather than the physical table. Oracle has historically preserved the column list of such views across point releases, so consumers avoid direct dependencies on table storage details. The view is also the object referenced in ETRM documentation for troubleshooting Order Management pricing behaviour.

Underlying Base Objects

The ETRM metadata documents a single referenced base object: OE_PRICE_ADJ_ASSOCS, exposed to the APPS schema through a SYNONYM. The view definition projects every column of that table without modification, so the relationship is strictly one-to-one. There are no joins to OE_ORDER_LINES_ALL, QP_PRICE_ADJUSTMENTS, or other pricing entities within the view itself. Consequently, any enrichment with line attributes, adjustment names, or qualifier details must be supplied by the calling query, typically through joins on LINE_ID and PRICE_ADJUSTMENT_ID.

Because the view reads through a synonym, the resolved object must be visible in the APPS schema at runtime. In a multi-org context, the base table is not organization-specific by itself; organization scoping is imposed by joining to the order line header or line tables that carry ORG_ID.

Key Columns

  • PRICE_ADJ_ASSOC_ID — Primary key of the association record, uniquely identifying each link between a line and an adjustment.
  • LINE_ID — Foreign key to the order line (OE_ORDER_LINES_ALL.LINE_ID) against which the adjustment applies.
  • PRICE_ADJUSTMENT_ID — Identifier of the price adjustment definition, corresponding to the pricing setup in the QP (Advanced Pricing) schema.
  • RLTD_PRICE_ADJ_ID — Related price adjustment identifier, used to express dependency or precedence between adjustments.
  • LOCK_CONTROL — Concurrency control column used by Order Management to serialize updates to the association record. This is the column most frequently inspected by developers searching for "lock_control", since it governs whether an adjustment row is currently held or eligible for modification during pricing and repricing operations.
  • CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN — Standard WHO audit columns recording record provenance.
  • PROGRAM_APPLICATION_ID, PROGRAM_ID, PROGRAM_UPDATE_DATE, REQUEST_ID — Concurrent program context columns identifying the process that last touched the row.

Common Use Cases and Queries

Typical scenarios include auditing which adjustments were attached to a line, identifying rows held by LOCK_CONTROL during repricing, and tracing concurrent program activity on pricing associations.

  • Associations for a specific order line:
    SELECT price_adj_assoc_id, price_adjustment_id, rltd_price_adj_id, lock_control
    FROM   oe_price_adj_assocs_v
    WHERE  line_id = :p_line_id;
  • Detecting locked or contended rows:
    SELECT line_id, price_adjustment_id, lock_control, last_update_date
    FROM   oe_price_adj_assocs_v
    WHERE  lock_control IS NOT NULL
    ORDER  BY last_update_date DESC;
  • Auditing recent program activity:
    SELECT request_id, program_id, program_update_date, created_by
    FROM   oe_price_adj_assocs_v
    WHERE  program_update_date >= SYSDATE - 7;

All predicates on these columns are evaluated directly against OE_PRICE_ADJ_ASSOCS, and existing indexes on LINE_ID and PRICE_ADJUSTMENT_ID remain effective. Custom code should treat the view as read-only; DML must target the base table through supported APIs.