Search Results amw_process_locks




Overview

AMW_PROCESS_LOCKS is a table owned by the AMW schema, the database schema supporting the Oracle E-Business Suite product AMW – Internal Controls Manager. As its description indicates, the table "stores information about process locks." Within the Internal Controls Manager module, concurrent or batch processes that operate on shared control, testing, or certification data require a coordination mechanism to prevent two processes from contending for the same logical unit of work. AMW_PROCESS_LOCKS provides this coordination by recording which locking process holds a lock against which locked process within a given organization and security group context. The table therefore functions as an operational control record rather than a master or transactional data store.

From a data-modeling perspective, the metadata classifies this object heuristically as a standalone structure. That classification suggests the table is not embedded as a satellite of a broader hub or link construct and instead stands alone, with its own identifying columns and audit attributes. This is consistent with its role as a transient lock registry whose rows are meaningful only while a process run is active.

The physical schema documented for release 12.1.1 records ten columns. The design is stable across the 12.1.1 and 12.2.2 application releases; AMW objects follow the standard EBS column conventions, including the WHO audit columns and the object version number used for optimistic locking.

Key Information Stored

The most significant columns in AMW_PROCESS_LOCKS are those that identify the lock and the processes involved:

  • ORGANIZATION_ID – Scopes the lock to an operating unit or inventory organization context, ensuring that locks are not shared unintentionally across organizational boundaries.
  • LOCKING_PROCESS_ID – Identifies the process instance that currently holds the lock; this is the claimant or owner of the lock.
  • LOCKED_PROCESS_ID – Identifies the process instance, data set, or logical work unit against which the lock is asserted.
  • SECURITY_GROUP_ID – The security group context for the row. This is the only documented foreign key, referencing FND_SECURITY_GROUPS, and it enforces the EBS security-group partitioning model.
  • LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN – Standard WHO audit columns capturing when and by whom the lock row was last modified.
  • CREATION_DATE, CREATED_BY – Standard WHO columns recording row creation, which is typically the moment the lock was acquired.
  • OBJECT_VERSION_NUMBER – Optimistic-locking column used by the EBS framework to detect concurrent updates.

The documented metadata does not expose a named surrogate primary key column, nor does it enumerate unique indexes. In practice, the identifying business keys for a lock row are the combination of the locking process, the locked process, the organization, and the security group. These columns should be treated as the logical key when querying or reconciling lock entries.

Common Use Cases and Queries

The primary operational use case is diagnosing lock contention during Internal Controls Manager processing. Support and DBA teams query the table to determine which process holds a lock and whether stale locks remain after an aborted run.

  • Identify active locks for an organization: SELECT locking_process_id, locked_process_id, creation_date FROM amw_process_locks WHERE organization_id = :org_id;
  • Detect stale locks: compare CREATION_DATE or LAST_UPDATE_DATE against the current system date to find rows older than the expected process duration.
  • Security-group scoped reporting: join to FND_SECURITY_GROUPS on SECURITY_GROUP_ID to resolve the security group name for audit reports.
  • Concurrency forensics: audit by CREATED_BY and LAST_UPDATED_BY to determine the user or concurrent program that acquired the lock.

These queries support both reactive troubleshooting and proactive monitoring of the Internal Controls Manager batch schedule.

Related Objects

The following objects are most significant in relation to AMW_PROCESS_LOCKS:

  • FND_SECURITY_GROUPS – Referenced through the documented foreign key AMW_PROCESS_LOCKS.SECURITY_GROUP_ID → FND_SECURITY_GROUPS; join on SECURITY_GROUP_ID to resolve security group context.
  • FND_APPLICATION – Used indirectly to identify the AMW product application and its concurrent programs.
  • FND_USER – Joined via CREATED_BY and LAST_UPDATED_BY to attribute lock activity to specific users.
  • AMW_PROCESSES and related AMW process definition tables – The process identifiers stored in LOCKING_PROCESS_ID and LOCKED_PROCESS_ID logically correspond to process definitions maintained elsewhere in the AMW schema.
  • FND_CONCURRENT_REQUESTS – Provides the runtime context for concurrent programs that acquire or release these locks.

Because the table is classified as standalone, its relationships are predominantly logical rather than enforced through primary-key chains, aside from the single security group foreign key.