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.

ULS Error

============================

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.