Clarity PPM: TMA-0111 timesheet error when adding tasks or saving timesheet

Document ID : KB000025510
Last Modified Date : 22/03/2019
Show Technical Document Details
Issue:

The TMA-0111 error can occur when attempting to perform an operation that saves a timesheet, e.g populate, submit, add task, return.

One or more of the following symptoms are observed:

1. When reviewing the PRLOCK table, there are timesheet locks that do not get released.
2. Deadlock errors and database connection closed errors appear in the APP and/or BG log corresponding to the timesheet action
3. Services are suddenly stopped during timesheet editing
4. In the Modern UX, the error: Could not get existing time entry information
5. When data is saved, and user goes back to the timesheet to review the task hours, the save did not take place.

Example: A  timesheet was submitted with 1 hour, but returned by the resource manager to enter additional hours. Then when trying to update the 1 hour to another number or to charge hours against other tasks in the time card, it appears to save the data but when you back out and go back in, it only shows the original 1 hour. 

**This error could also occur in Classic view due to duplicate timesheets in the database.  Please see below KB for steps to resolve.

https://comm.support.ca.com/kb/duplicate-timesheets-are-displayed/kb000004723

Cause:

A time entry lock is temporary and should be released immediately from the the PRLOCK table. 
 

    Resolution:

    SaaS / On Demand Customers:

    • Please contact the Support team for assistance in resolving the issue. 
    • DE45799 was reported to investigate the root cause of the timesheet locks. The root cause was with the SaaS load balancer health monitoring status check  load balancer health monitoring status check in combination with specific functions in Oracle 12c resulted in sessions being killed.

    On Premise Customers:

    • Use the following details to resolve the issue.

    1.Run the following query:

    --Oracle
    select * from prlock
    where (prtablename = 'PRTIMESHEET'
    and prname = '~prTimeEntry') or (prtablename = 'SRM_RESOURCES' and prname = '~prTimesheetCreate')
    and prlockedsince < sysdate - 0.042

    --MSSQL
    select * from prlock
    where (prtablename = 'PRTIMESHEET'
    and prname = '~prTimeEntry') or (prtablename = 'SRM_RESOURCES' and prname = '~prTimesheetCreate')
    and prlockedsince < getdate() - 0.042


    2. If the query returns any results, run this query:

    --ORACLE
    delete from prlock
    where (prtablename = 'PRTIMESHEET'
    and prname = '~prTimeEntry') or (prtablename = 'SRM_RESOURCES' and prname = '~prTimesheetCreate')
    and prlockedsince < sysdate - 0.042;
    commit;


    --MSSQL
    delete from prlock
    where (prtablename = 'PRTIMESHEET'
    and prname = '~prTimeEntry') or (prtablename = 'SRM_RESOURCES' and prname = '~prTimesheetCreate')
    and prlockedsince < getdate() - 0.042

     

    Additional Information:
    DE45317 was reported to enable Clarity administrators to remove the timesheet locks via the security.locks page, instead of engaging the DBA team.
    This new feature is available as of Clarity PPM 15.6 (March 2019).