Search Results pay_action_interlocks




Overview

The PAY_ACTION_INTERLOCKS table is a core data object within the Oracle E-Business Suite Payroll module (PAY) for versions 12.1.1 and 12.2.2. It functions as a control mechanism for payroll processing rollback operations. Specifically, it stores interlock definitions that establish dependencies between assignment actions, which are the fundamental units of work in a payroll run. By defining which action locks another, the system can intelligently manage the reversal or rollback of processed payroll results, ensuring data integrity and preventing the rollback of a dependent action before its prerequisite.

Key Information Stored

The table's structure is intentionally concise, centered on the relationship between two assignment actions. Its primary key is a composite of two columns, both of which are foreign keys to the PAY_ASSIGNMENT_ACTIONS table. The critical columns are:

  • LOCKING_ACTION_ID: Identifies the assignment action that must be rolled back before the dependent, or locked, action can be rolled back. This is the prerequisite action.
  • LOCKED_ACTION_ID: Identifies the assignment action that is dependent on the locking action for rollback sequencing. This action cannot be rolled back until the locking action is.

Together, these two columns form a parent-child relationship for rollback purposes. The table does not typically store transactional payroll data but rather these critical procedural metadata relationships.

Common Use Cases and Queries

The primary use case is during payroll reversal or correction processes. When a user initiates a rollback for a specific assignment action, the payroll engine queries PAY_ACTION_INTERLOCKS to determine if any other actions are locked by it, enforcing a correct rollback order. For troubleshooting and audit purposes, a common query is to examine all interlocks for a specific payroll run or assignment. A sample SQL pattern is:

  • Identifying dependencies for a given action:
    SELECT locking_action_id, locked_action_id FROM pay_action_interlocks WHERE locking_action_id = &ACTION_ID OR locked_action_id = &ACTION_ID;
  • Joining with PAY_ASSIGNMENT_ACTIONS to get actionable details:
    SELECT paa1.action_type locking_type, paa2.action_type locked_type FROM pay_action_interlocks pai, pay_assignment_actions paa1, pay_assignment_actions paa2 WHERE pai.locking_action_id = paa1.assignment_action_id AND pai.locked_action_id = paa2.assignment_action_id;

Related Objects

PAY_ACTION_INTERLOCKS has a direct and exclusive relationship with the PAY_ASSIGNMENT_ACTIONS table, as defined by its two foreign key constraints. All entries in PAY_ACTION_INTERLOCKS must reference valid assignment action IDs. This table is integral to the internal logic of the payroll engine, particularly the rollback programs and APIs within the Oracle Payroll package (PYUGEN, PAYROLL). While not typically accessed directly by standard reports, its data underpins the correctness of payroll reversal processes visible through the Payroll Process Results form and related diagnostic reports.