Timesheet locked by a Process - Error TMA-0118 or TMA-0122


Article ID: 27007


Updated On:


Clarity PPM On Premise Clarity PPM SaaS


In reviewing the timesheet process instance, it is stuck and not moving to the next step to completion. Cancelling the process instance is not working, what can be done to unlock the timesheet? 

We see one of the below error messages when our process gets stuck attempting to process timesheets.

TMA-0122: One or more timesheets' status could not be changed because it is locked by a process when trying to run a user-defined timesheet approval process.

TMA-0118: This timesheet has been locked by the process engine. One or more timesheets cannot be edited, submitted, approved, or posted.

The time approver may also not see the employee's (or contractor's) timesheet in their Action Items to approve. 


It is by design that records are locked by the process. Typically the process completes as intended and the lock is released as expected. However, sometimes a lock gets placed but never releases due to a process stoppage. The process is not able to resume and there is no way to release or unlock the records through the application, therefore causing the timesheet to get stuck.


All Clarity versions


  1. Check the state of the Process Engine and make sure that all processes have been processed.  
    • Capture Screenshots of the Process error that has caused the Timesheet to remain locked
    • Capture Screenshots of the Process Engines page showing that the Process Engine is running fine  
  2. Run the following query to find out if any timesheets have been locked by a process.  
    • If there are any results from this query and you have checked to ensure the BPM process is not moving forward or 'stuck' you may need assistance from the Clarity Support Team  to release the lock on these Timesheets.
    • On Premise Customers: Provide the output of the following query into a Microsoft Excel spreadsheet with header rows :

select odf_locked_attributes.id, first_name, last_name, prstart, prstatus,
odf_locked_attributes.odf_pk, prtimesheet.prid timesheet
from odf_locked_attributes, prtimesheet, prtimeperiod, srm_resources
where object_code = 'timesheet'
and attribute_code = 'prstatus'
and odf_locked_attributes.odf_pk = prtimesheet.prid
and prtimesheet.prtimeperiodid = prtimeperiod.prid
and srm_resources.id = prtimesheet.prresourceid

    3. To find if there are any locked attributes for a specific timesheet, add the following to the end of the above query: 

and odf_locked_attributes.odf_pk = <internal id of the timesheet>

    4. The Support group can review and query timesheet locked by the process engine. It will involve deleting record(s) from the single table (odf_locked_attributes)

    5. Any removals will need approval from the customer.

    6. On Premise Customers: Provide a copy of the full bg-ca.log file  

    7. If you are still seeing an error, try manually approving the timesheet