In previous article of Oracle HRMS Overview series, i had explained the oracle payroll processes and their relevant tables along with impact of each payroll process on tables. In this article, i am sharing the locking concepts for payroll processes. This article can be used by both Oracle Functional and Technical Consultants as locking is also explained with the help of oracle table (PAY_ACTION_INTERLOCKS) and data in it.
Oracle has provided a mechanism to lock the payroll processes where one payroll process locks the previous process. But this is not a straight forward, there is a logical relation between these locking which helps the system to maintain data integrity and data consistency.
Following diagram shows an overall locking architecture of payroll processes.
PAY_ACTION_INTERLOCKS table is responsible for payroll processes locking. It has two columns
Locking_Assignemnt_Action Id: This column contains the Assignment Action Id created against the processes which is a subsequent process and can lock the previous process. e.g When you run the pre-payment process. Assignment Actions Id generated as a result of PrePayment process will be populated in this column.
Locked_Assignemnt_Action_Id: This column contains the Assignment Action Id created against the processes which is being locked by any process. e.g When you run the pre-payment process. Assignment Actions Id generated as a result of Payroll Run process will be populated in this column.
Note: Assignment Action Ids in every row belong to one person.
This concept will be more clear by following diagrams and arrows pointing to data links. This illustration assumes running the payroll processes for one person and hence observing the impact in different phases. We shall observe only data in Table PAY_ACTION_INTERLOCKS.
How to Understand
I have showed links of new process with previous process. Impact of current process is shown in dark black color whereas all previous processes are represented as grey lines. When you are on any process, just understand how it is linked with previous process.
By running the Payroll Run for one person, following Assignment Action Id is generated. As of result of payroll run, no record is created in locking table.
After this when we run PrePayment Process, Prepayment locks the Payroll Run as is shown in the diagram below.
Bank Transfer File Process
Bank Transfer Locks the pre-payment process as is shown in the diagram below. Upon running the bank transfer process, action id 39695239 has locked the prepayment assignment action id 39695137.
Costing Process locks Payroll Run. Upon running the Costing process, action id 39695249 has locked the payroll run assignment action id 39695127.
Costing of Payments
From the diagram below its clear that Costing of Payment process locks prepayment. Upon running the Costing of Payment process, action id 39695266 has locked the prepayment assignment action id 39695137.
Transfer to GL
Transfer to GL Process locks Payroll Run, Costing and Costing of Payment process. Some organizations dont submit costing of payment process in such scenario only two records will be generated in PAY_ACTION_NTERLOCKS table as a result of Transfer to GL process.
Upon running the Transfer to GL process, action id 39695276 has locked the payroll run assignment action id 39695127 and costing process assignment action id 39695249 and 39695278 has locked assignment action id for costing of payment i.e 39695266
If you have liked contents in this post and you think it can be helpful to others, please share it at least once in your circle, in this way, you will join me in my cause to Learn Share and Grow. Come on, Lets Grow Together.
Payroll Processes and Relevant Tables
Payroll Mistakes Correction Methodology
Element Termination Rules
Get Free Evaluation of your HRMS Skills
9 Proven Steps to become Oracle Apps Consultant
XML Bursting Feature and its Solution files