Post Timesheets Job generates NullPointerException Error when attempting to calculate the Task Assignment Actual Cost Curve Value

Document ID : KB000019301
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Post Timesheets job completes successfully, however the BG Log has many error messages indicating a NullPointerException.

The Timesheet Entry Actual Hours are posted to the Task Assignment, but the Task Assignment Actual Cost value is NOT updated.

When you examine the expanded Error message in the BG log, it indicates that the NullPointerException is occurring when it encounters the code to 'GetTeamCosts'.

Typically, customers report issues with the Task Assignment Actual Cost value showing a zero value or not matching the amounts that are posted into the financial module (Post To WIP). Upon investigation, we see these error messages in the Background (BG) log files.

Steps To Reproduce:

  1. Create a project, add a team staff member to the effort task or other tasks
  2. Associate a Rate Matrix to the project financial settings where the rates are not zero
  3. Create, submit and approve time entries for this staff member
  4. Five minutes after approving the timesheet, execute the 'Post Timesheets' job

    If you modify the name of the job to include a unique string, you will be able to use that string to search the BG log file
  5. After completion of the job, check the project, task assignment actual units (hours) and actual costs - if configured for non-zero matrix, the actual costs should have a non-zero amount
  6. If the Actual Units (hours) is non-zero and if Task Assignment Actual Costs is still zero, then the job updated the units successfully, but not the costs and you need to look into the Background Log file (BG-CA.LOG)
  7. Open the BG-CA.LOG and search for the 'Post Timesheets' job or unique string identifier

 

Expected Result: The Post Timesheets job completes successfully, no errors in the BG log and the Task Assignment Actual Cost value is correct
Actual Result: The Post Timesheets job completes successfully through the application UI, but the BG log file is full of 'NullPointerException' errors (a short error or an expanded error) and the Task Assignment Actual Cost value is not correct

ERROR MESSAGE IN BG LOGS:
 
ERROR 2013-12-13 14:00:02,383 [Dispatch pool-4-thread-6 :  (tenant=clarity)] niku.xql2 (clarity:adminuser:5252911__BA7DB8FC-E42C-41F4-AECE-04894C05DEBD:Post Timesheets TESTRUN_001) 
java.lang.NullPointerException 
 
ERROR 2013-12-13 14:26:32,916 [Dispatch pool-4-thread-1 :  (tenant=clarity)] niku.xql2 (clarity:adminuser:5252911__BA7DB8FC-E42C-41F4-AECE-04894C05DEBD:Post Timesheets TESTRUN_002) 
java.lang.NullPointerException 
at com.niku.union.persistence.utils.Utils.createStatementInternal(Utils.java:675) 
at com.niku.union.persistence.utils.Utils.createStatement(Utils.java:622) 
at com.niku.xql2.jdbc.JDBCRecordSet.(JDBCRecordSet.java:82) 
at com.niku.projmgr.xql2.util.GetTeamCost.getTeamCostRates(GetTeamCost.java:141) 
at com.niku.projmgr.xql2.util.GetTeamCost.getTeamCostRates(GetTeamCost.java:45) 
at com.niku.projmgr.xql2.functions.baseline.GetResourceCostCurves.Run(GetResourceCostCurves.java:17) 
at com.niku.projmgr.xql2.functions.baseline.CalculateCostCurve.loadRateMatrix(CalculateCostCurve.java:236) 
at com.niku.projmgr.xql2.functions.baseline.CalculateCostCurve.getActualsCostCurve(CalculateCostCurve.java:169) 
at com.niku.projmgr.xql2.functions.PostTimeEntry.getActualsCostCurve(PostTimeEntry.java:266) 
... more ...

Solution:

WORKAROUND:

There is no identified workaround to prevent this issue from occurring.

If this issue occurs and you see the error message in the log file, log a new support case and provide the following details for next actions

  • Screenshots of the Rate Matrix Rows that should be used for calculating the actual costs
  • Screenshots of the Task Details page showing the Actual Cost (ACWP) field with incorrect amounts
  • Screenshots of the WIP Records showing the correct actual cost amounts
  • Copy of ALL BG log files in your server


STATUS/RESOLUTION:

CLRT-73928
Resolved in CA Clarity PPM 13.2 Generic Patch. Reference TEC599354   
Resolved in CA Clarity PPM 13.3 Generic Patch. Reference TEC605767  
Resolved in CA PPM 14.1