I have seen this error for couple of customers recently. The Approval Page does not load and gives below error message.
Error: One or more categories of approval could not be loaded.
In both the cases, I found below error in ULS log.
PSI: System.ArgumentException: Value was either too large or too small for an Int32.Couldn’t store <3840000000> in WWORK_VALUE Column. Expected type is Int32. —> System.OverflowException: Value was either too large or too small for an Int32. at System.Convert.ToInt32(Double value) at System.Data.Common.Int32Storage.Set(Int32 record, Object value) at System.Data.DataColumn.set_Item(Int32 record, Object value) — End of inner exception stack trace — at System.Data.DataColumn.set_Item(Int32 record, Object value) at System.Data.DataTable.NewRecordFromArray(Object value) at System.Data.DataTable.LoadDataRow(Object values, Boolean fAcceptChanges) at Microsoft.Office.P…
The above error indicates that the value for one of the assignments is not as expected and hence PSI is throwing an exception. You will find the bad assignment by moving up in the ULS log. You should see line similar to below in the ULS log.
Node Consistency Message: Assignment Load. Uid=99b8ecfb-4df6-e311-93fc-005056a212ba
You need to then run SQL query on Project Server database to find more information about this assignment like task name, project name, resource name etc. Below query should give you these details. Just replace the assignment id with what you find in ULS log.
SELECT pub.MSP_PROJECTS.PROJ_NAME, pub.MSP_RESOURCES.RES_NAME, pub.MSP_TASKS_SAVED.TASK_NAME
FROM pub.MSP_ASSIGNMENTS_SAVED INNER JOIN
pub.MSP_TASKS_SAVED ON pub.MSP_ASSIGNMENTS_SAVED.TASK_UID = pub.MSP_TASKS_SAVED.TASK_UID INNER JOIN
pub.MSP_PROJECTS ON pub.MSP_ASSIGNMENTS_SAVED.PROJ_UID = pub.MSP_PROJECTS.PROJ_UID INNER JOIN
pub.MSP_RESOURCES ON pub.MSP_ASSIGNMENTS_SAVED.RES_UID = pub.MSP_RESOURCES.RES_UID
WHERE (pub.MSP_ASSIGNMENTS_SAVED.ASSN_UID = ’99b8ecfb-4df6-e311-93fc-005056a212ba’)
Once you find more information about the assignment you can resolve this issue by following any one of following solutions.
Solution 1) Request resource to recall and submit the timesheet again.
Solution 2) Request resource to make some changes to the task and then submit the changes.
If you need any additional information please contact us.