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

Document ID : KB000025510
Last Modified Date : 25/01/2019
Show Technical Document Details
Issue:

The TMA-0111 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. 

Cause:

A time entry lock is temporary and is supposed to be released immediately from the the PRLOCK table. 
This is reported as DE45799 is now resolved.

    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 will be made available in Clarity 15.6.0, targeted for March 2019 release.