Project Server error codes

This topic contains tables of error codes for the Project Server Interface (PSI) in Project Server 2013. The tables are arranged by functional area and by error code range.

Project Server 2013 processes and PSI methods have error code numbers that are generally arranged by functional area. The Microsoft.Office.Project.Server.Library.PSErrorID enumeration is duplicated in WebSvcProject.PSErrorID; they list the error codes in alphabetical order by name. This topic lists the error codes in tables that are arranged by the PSI class or functional area and by the error identifier (ID) number.


Many of the error codes are general and can have multiple possible causes. For more information about errors, you can do the following:

  • For ASMX-based applications, use System.Web.Services.Protocols.SoapException with the PSClientError object to show a list or hierarchy of errors in a PSI method call. See Error Code Example for ASMX.
  • For WCF-based applications, you can use System.ServiceModel.FaultException to get a PSClientError object and also to get additional error information. See Error Code Example for WCF.
  • Use the application event log on the Project Server computer.
  • Use the Unified Logging Service (ULS) trace logs. For an explanation, see the Checking Errors section in Getting Started with Development for Project 2010.
  • For more information about using ULS logs, see the Project Support blog article Project Server 2010: What to Expect when you get the Unexpected, and search the blog for "reading ULS logs."
  • To help find or watch for specific issues in ULS data, use the ULS Viewer.
  • Use the Microsoft SQL Server Profiler to help catch or monitor database errors. For more information, see SQL Server Profiler.
  • Many of the error codes are used only internally. For example, because the ExchangeSync and PWA web services are not supported for third-party development, you are not likely to see error codes from methods in those areas, such as the Rules and StatusReports methods. However, tables in this article include all Project Server error codes for completeness.
Project Server functional area Error code number ranges
Table 3: General error codes
0 - 99; 500 - 999; 9131; 10000 - 10099; 20000 - 20099; 26000 - 26099
Table 4: Active cache
12000 - 12099
Table 5: Active Directory synchronization
27000 - 27999
Table 6: Admin web service
16600 - 16699; 19011, 19012, and 19032; 20003; and 25000 - 25099
Table 7: Archive (backup and restore)
25000 - 25999; and 29000 - 29099
Table 8: Assignments
120 - 199
Table 9: Calendar
77; and 13000 - 13999
Table 10: Cube Build Service (CBS)
17000 - 17999
Table 11: Check in - check out
10100 - 10199
Table 12: Custom fields
11500 - 11999
Table 13: Lookup tables
11000 - 11499
Table 14: Miscellaneous
11000 - 11499
Table 15: Notifications
16000 - 16599
Table 16: Optimizer (project portfolio analysis)
29000 - 29999
Table 17: Planner (project portfolio analysis)
28000 - 28999
Table 18: Projects
100 - 499; 1000 - 1199; 9100 - 9199; and 23000 - 23999
Table 19: Reporting Data Service (RDS)
24000 - 24999
Table 20: Resources
2000 - 2999
Table 21: Resource plans
30000 - 30999
Table 22: Rules
21000 - 21099
Table 23: Security
19000 - 19099
Table 24: Server events
19033; and 22000 - 22999
Table 25: Statusing
3100 - 3199
Table 26: Status reports
12100 - 12299
Table 27: Tasks
7000 - 7099
Table 28: Timesheets
3200 - 3299
Table 29: User delegation
43000 - 43500
Table 30: Workflow
35000 - 35999: Workflow
Table 31: WSSInterop and ObjectLinkProvider (SharePoint integration)
16400 - 16499: SharePoint integration and project workspaces
18000 - 18099: Object Link Provider and SharePoint project import

Table 2. Error code table by number range

Error code range Error code table
0 - 99
Table 3: General error codes, except 77 is in Table 9: Calendar
100 - 119
Table 18: Projects
120 - 199
Table 8: Assignments
500 - 999
Table 3: General error codes
1000 - 1199
Table 18: Projects
2000 - 2999
Table 20: Resources
3100 - 3199
Table 25: Statusing
3200 - 3299
Table 28: Timesheets
7000 - 7099
Table 27: Tasks
9100 - 9199
Table 18: Projects, except 9131 is in Table 3: General error codes
10000 - 10099
Table 3: General error codes
10100 - 10199
Table 11: Check in - check out
11000 - 11499
Table 13: Lookup tables
11500 - 11999
Table 12: Custom fields
12000 - 12099
Table 4: Active cache
12100 - 12299
Table 26: Status reports
13000 - 13999
Table 9: Calendar
16000 - 16399
Table 15: Notifications
16400 - 16499
Table 31: WssInterop and Object Link Provider (SharePoint integration)
16600 - 16699
Table 6: Admin web service
17000 - 17999
Table 10: Cube Build Service (CBS)
18000 - 18099
Table 31: SharePoint integration
19000 - 19099
Table 23: Security, except 19011, 19012, and 19032 are security-related codes in Table 6: Admin web service
20000 - 20099
Table 3: General error codes, except 20003 is in Table 6: Admin web service
21000 - 21099
Table 22: Rules
22000 - 22999
Table 24: Server events
23000 - 23999
Table 18: Projects
24000 - 24999
Table 19: Reporting Data Service (RDS)
25000 - 25999
Table 7: Archive (backup and restore), except 25004, 25006 are in Table 6: Admin web service
26000 - 26099
Table 3: General error codes
27000 - 27999
Table 5: Active Directory synchronization
28000 - 28999
Table 17: Planner (Project portfolio analysis)
29000 - 29999
Table 16: Optimizer (Project portfolio analysis), except 29021 is in Table 7: Archive
30000 - 30999
Table 21: Resource plans
31000 - 31999
32000 - 32100
Table 14: Miscellaneous (Auditing; not used)
Project detail pages
35000 - 35999
40000 - 40499
Table 30: Workflow
40500 - 40999
42000 - 42999
Table 14: Miscellaneous (ExchangeSync; internal use)
Project Web App timeline
43000 - 43500
Table 29: User delegation
50000 - 51999
Table 14: Miscellaneous (Database errors)

Table 3. General error codes

General error code Description
NoError = 0; Success = 0
No error, or success.
GeneralRequestInvalidParameter = 6
One of the request nodes or parameters is either not valid, or not valid within the context of the request.
GeneralInvalidValue = 11
Request value not valid; for example, a GUID specified as 0.
GeneralStartDateGTorEQFinishDate = 26
The specified date range is not valid.
GeneralQueueOperationInProcess = 29
Generic error for an operation still being processed in the queue.
GeneralUnhandledException = 42
An unhandled exception occurred.
GeneralDuplicateGUIDSpecified = 66
There is a duplicate GUID in the request.
GeneralDateNotValid = 69
Dates must be in the range of 1/1/1984 to 12/12/2049.
GeneralCostInvalid = 70
A cost parameter is not valid.
GeneralWorkInvalid = 71
A work parameter is not valid.
GeneralDurationInvalid = 72
A duration parameter is not valid.
GeneralUnitsInvalid = 73
The specified unit is not valid.
GeneralOnlyInsertsAllowed = 74
Only inserts are allowed.
GeneralOnlyUpdatesAllowed = 75
Only updates are allowed.
GeneralSessionInvalid = 76
The session parameter is not valid.
GeneralDependencyUidInvalid = 78
The dependency GUID is not valid.
GeneralNumberInvalid = 79
A number is not valid.
GeneralInvalidDataStore = 80
The specified database does not exist. Use a database in DataStoreEnum.
GeneralDurationOrWorkFormatInvalid = 513
The work duration or format is not valid.
GeneralRateFormatInvalid = 518
The rate format is not valid.
GeneralQueueException = 9131
Exception: There is a general error in the Queuing Service.
GeneralItemDoesNotExist = 10000
A specified item does not exist.
GeneralLCIDInvalid = 10001
The locale identifier (language ID) is not valid.
GeneralRowDoesNotExist = 10002
The specified row in a DataTable does not exist.
GeneralInvalidColumnValue = 20000
A column value in a DataTable is not valid.
GeneralInvalidDataRowState = 20001
A DataRow state is not valid.
GeneralDuplicatedNames = 20004
There is a duplicate name. Names must be unique.
GeneralReadOnlyColumn = 20005
The column is read-only.
GeneralReadOnlyRow = 20006
The row is read-only.
GeneralNotNullColumn = 20007
The column cannot be null.
GeneralObjectAlreadyExists = 20008
The object already exists.
GeneralInvalidObject = 20009
The object is not valid.
GeneralSecurityAccessDenied = 20010
Access is denied because of security permissions.
GeneralInvalidOperation = 20011
The operation is not valid.
GeneralInvalidCharacters = 20012
Some characters are not valid. In addition to the TAB character, the following characters are not valid in a project name: \ / " : ; < > | , . ' ? * #
GeneralNameTooLong = 20013
The name is too long.
GeneralNameCannotBeBlank = 20014
The name cannot be blank. Do not use a null or empty string.
GeneralInvalidOperationOnReadOnlyValue = 20016
The attempted operation on a read-only value is not valid.
GeneralInvalidDateOverlap = 20018
The request contains overlapping dates.
GeneralParameterCannotBeNull = 20020
The parameter cannot be null.
GeneralDescTooLong = 20021
The description is too long.
GeneralCategoryPermissionDenied = 20022
The category permission is denied.
GeneralNotLicensed = 20024
User is not licensed for Project Server.
GeneralGlobalPermissionDenied = 20023
The global permission is denied.
GeneralActionCanceledByEventHandler = 22000
The event handler canceled the action.
GeneralActionCanceledBecauseServerEventServiceNotFound = 22001
The Project Server Event Service is not found.
GeneralActionCanceledBecauseServerEventServiceProblem = 22002
There is a problem in the Project Server Event Service.
GeneralQueueJobFailed = 26000
The queue job failed.
GeneralQueueInvalidJobUID = 26001
The job GUID for the queue is not valid.
GeneralQueueInvalidTrackingUID = 26002
The tracking GUID for the queue is not valid.
GeneralQueueInvalidJobInfoUID = 26003
The job information GUID for the queue is not valid.
GeneralQueueInvalidCorrelationUID = 26004
The queue correlation GUID is not valid.
GeneralQueueCorrelationBlocked = 26005
The queue correlation is blocked.
GeneralQueueInvalidMessageType = 26006
The queue message type is not valid.
GeneralQueueInvalidJobState = 26007
The queue job state is not valid.
GeneralQueueInvalidGroupState = 26008
The group state in the queue is not valid.
GeneralQueueInvalidGroupPriority = 26009
The group priority in the queue is not valid.
GeneralQueueInvalidCorrelationPriority = 26010
The correlation priority in the queue is not valid.
GeneralQueueInvalidQueueID = 26011
The queue identification number is not valid.
GeneralQueueInvalidAdminAction = 26012
The Admin action is not valid for the queue.
GeneralQueueInvalidStatType = 26013
The queue status type is not valid.
GeneralQueueInvalidBlockPolicy = 26014
The queue blocking policy is not valid.
GeneralQueueCannotRetryJob = 26015
The queue cannot retry the job.
GeneralQueueInvalidSetting = 26016
A setting for the queue is not valid.
GeneralQueueInvalidRendezvousUID = 26017
The queue rendezvous GUID is not valid.
GeneralDalErrorGettingConnectionStrings = 26018
Error getting connection strings for the data access layer (DAL).
GeneralDalErrorConnectingToDatabase = 26019
Error in the DAL connecting to the database.
GeneralDalInvalidArgumentCountCreatingFilter = 26020
The number of arguments for creating a filter is not valid.
GeneralDataTableCannotBeNull = 26024
A DataTable cannot be null.
GeneralDatasetConstraints = 26025
Error in DataSet constraints.
GeneralInvalidDataSetStructure = 26027
The DataSet structure is not valid.
GeneralDalNoRowsUpdated = 26028
No rows are updated in the data access layer (DAL).
GeneralDataTableCannotBeEmpty = 26029
The DataTable cannot be empty.
GeneralWSSContentDBNotWritable = 26030
Cannot write to the SharePoint content database. Either the content database is read-only or there is a lock at the site-collection level.
GeneralSPValidateFormDigestError = 26031
Error validating the form digest in a Project Web App callback, usually because of a timeout.
GeneralDelegationActiveForCurrentUser = 26032
The current user has an active delegation. This error is raised by web methods in the WinProj service for Project Professional.

Table 4. Active cache

Active cache error code Description
ActiveCacheInvalidDataFormat = 12000
The data format is not valid.
ActiveCacheUnsupportedDataFormatVersion = 12001
The data format version is unsupported.
ActiveCacheInvalidQueuedMessageType = 12003
The queued message type is not valid.
ActiveCacheNullQueuedMessage = 12004
The queued message is null.
ActiveCacheQueuedMessageExecutionError = 12005
There is an execution error for the queued message.
ActiveCacheInvalidDataSize = 12006
The data size is not valid.
ActiveCacheQueueJobAlreadyStarted = 12007
The queue job is already started.
ActiveCacheInvalidQueuedMessageFormat = 12008
The message format in the queue is not valid.
ActiveCacheUnsupportedQueuedMessageVersion = 12009
The message version in the queue is not valid.
ActiveCacheUnsupportedQueueDataType = 12011
The data type in the queue is unsupported.
ActiveCacheInvalidVersionStampForSave = 12012
The version stamp for the save operation is not valid.
ActiveCacheProjectTypeMismatch = 12013
The project type does not match the expected type.
ActiveCacheDataValidationFailed = 12014
Data validation failed.
ActiveCacheUnsupportedProjectProfessionalVersion = 12015
The Project Professional version is unsupported.
ActiveCacheGeneralSQLException = 12016
There is a general SQL error.

Table 5. Active Directory synchronization

Active Directory synchronization error code Description
AdSyncUpdateTimerJobFailed = 27002
The update timer job failed for synchronization with Active Directory directory services.
AdSyncDeleteTimerJobFailed = 27003
The delete timer job failed for synchronization with Active Directory.
AdSyncAdConnectFail = 27006
Cannot connect with Active Directory.
AdMaximumGroupsCountExceeded = 27007
The maximum groups count was exceeded.
SRAInvalidVersion = 27300
SRA invalid version.
SRADelayedUpgradeFailed = 27301
The SRA asynchronous update action failed.
(27000 - 27999)
Other synchronization errors for Active Directory are not enumerated within Project Server.

Table 6. Admin web service

Admin web service error code Description
AdminViewNameAlreadyExists = 16600
The view name already exists. Names must be unique.
AdminViewInvalidDividerPosition = 16601
The divider position is not valid.
AdminViewDataWasTampered = 16602
The data has been altered.
AdminViewMaxDisplayedFieldsNumberExceeded = 16603
The display exceeds the maximum number of fields.
AdminViewCannotDeleteDefaultView = 16604
Cannot delete the default view.
AdminViewCannotCopyDefaultView = 16605
Cannot copy the default view.
AdminLocalCustomFieldInvalid = 19011
The local custom field is not valid.
AdminEnterpriseCustomFieldInvalid = 19012
The enterprise custom field is not valid.
AdminNTAccountNotFound = 19032
The Windows (NTLM) account is not found.
AdminUnableToMerge = 20003
Unable to merge the data.
AdminDeleteArchivedProjectsFailed = 25004
The delete operation for archived projects failed.
AdminUpdateArchiveScheduleFailed = 25006
Failed to update the archive schedule.
AdminArchiveScheduleFailed = 28018
The archive schedule failed.
AdminReadArchivedProjectsListFailed = 28019
Failed to read the list of archived projects.
AdminReadArchiveScheduleFailed = 28020
Failed to read the archive schedule.
AdminUserAccountNameNull = 28021
The user account name is null.
AdminIsWindowsUserNull = 28022
The Windows (NTLM) user account appears to be null.
AdminInvalidTimePeriodState = 28023
The timeperiod state is not valid.
AdminGlobalUpdateFailed = 28024
The enterprise global update failed during the call to SetServerCurrency.
AdminGlobalCheckedOut = 28025
The enterprise global template is already checked out during the call to SetServerCurrency.
AdminInvalidDatabaseTimeout = 28026
Timeout due to a database that is not valid.
AdminInvalidDatabaseTimeoutType = 28027
Timeout due to a database type that is not valid.
AdminInvalidEntityType = 28028
The entity type is not valid. See EntityCollection.
AdminInvalidCompatibilityModeChange = 28029
The change to the compatibility mode is not valid.
AdminInvalidCompatibilityMode = 28030
The compatibility mode is not valid.
AdminInvalidProjectProfessionalVersions = 28031
The set of Project Professional versions is not valid.
AdminInvalidProjectProfessionalVersion = 28032
The Project Professional version is not valid.
AdminTooManyProjectProfessionalVersions = 28033
Too many Project Professional versions are specified.
AdminDuplicateProjectProfessionalMajorVersions = 28034
There are duplicates in the Project Professional major versions. You can specify only one version for each major release, beginning with Project Professional 2007.
AdminInvalidServerFlags = 28035
One or more flags in Project Server settings are not valid.
AdminNullProjectProfessionalVersions = 28036
One or more Project Professional versions are null.

Table 7. Archive web service

Archive web service (backup and restore) error code Description
ArchiveProjectFailure = 25000
The project archive operation failed.
ArchiveProjectsFailed = 25001
Cannot save any of the projects in the Archive database.
ArchiveProjectFailed = 25002
Cannot save the project archive.
RestoreProjectFailed = 25003
Cannot restore the project.
ArchiveResourcesFailed = 25007
Cannot save the resources archive.
ArchiveCustomFieldsFailed = 25008
Cannot save the custom fields archive.
RestoreCustomFieldsFailed = 25009
Cannot restore the custom fields.
ArchiveSystemSettingsFailed = 25010
Cannot save system settings archive.
RestoreSystemSettingsFailed = 25011
Cannot restore the system settings.
ArchiveCategoriesFailed = 25012
Cannot save the security categories archive.
RestoreCategoriesFailed = 25013
Cannot restore the security categories.
ArchiveViewsFailed = 25014
Cannot save the views archive.
RestoreViewsFailed = 25015
Cannot restore the views.
ArchiveGlobalProjectFailed = 25016
Cannot save the enterprise global archive.
RestoreGlobalProjectFailed = 25017
Cannot restore the enterprise globa ltemplate.
ArchiveInvalidRetentionPolicyValue = 25018
The archive retention policy value is not valid.
ArchiveCustomFieldsFailure = 25019
Cannot read the custom fields archive.
ArchiveGlobalProjectFailure = 25020
Cannot read the enterprise global archive.
ArchiveResourcesFailure = 25021
Cannot read the resources archive.
ArchiveSystemSettingsFailure = 25022
Cannot read the system settings archive.
ArchiveViewsFailure = 25023
Cannot read the views archive.
ArchiveCategoriesFailure = 25024
Cannot read the security categories archive.
ResourcePlanPublishFailure = 25025
Cannot publish the resource plan.
RestoreCategoriesFailure = 25026
Cannot restore the security categories from the archive.
RestoreCustomFieldsFailure = 25027
Cannot restore the custom fields from the archive.
RestoreGlobalProjectFailure = 25028
Cannot restore the enterprise global template from the archive.
RestoreProjectFailure = 25029
Cannot restore the project from the archive.
RestoreResourcesFailure = 25030
Cannot restore the resources from the archive.
RestoreSystemSettingsFailure = 25031
Cannot restore the system settings from the archive.
RestoreViewsFailure = 25032
Cannot restore the views from the archive.
ArchiveReadProjectArchiveRetentionSettingFailed = 25033
Failed to read the project archive retention settings.
RestoreResourcesFailed = 29021
Cannot restore the resources.

Table 8. Assignment

Assignment error code Description
AssignmentNotFound = 120
Assignment not found.
AssignmentWrongTrackingMethod = 122
The assignment has the wrong tracking method.
AssignmentWorkTypeInvalid = 127
The assignment work type is not valid.
AssignmentRateTableInvalid = 130
The rate table for the assignment is not valid.
AssignmentAlreadyExists = 131
The assignment already exists.
AssignmentDuplicateSpecified = 132
There is a duplicate assignment.
AssignmentUidInvalid = 133
The assignment GUID is not valid.
AssignmentDelayInvalid = 134
The assignment delay is not valid.
AssignmentCannotEditSummaryTask = 135
A summary task cannot be edited for assignments.
AssignmentInvalid = 136
The assignment is not valid.
AssignmentFieldsInvalidForBudget = 137
The assignment fields are not valid for the budget.
AssignmentAlreadyAssignedToResource = 138
The resource already had the assignment.
AssignmentInvalidOwner = 139
The assignment owner is not valid.

Table 9. Calendar

Calendar error code Description
CalendarUidInvalid = 77
The calendar GUID is not valid.
CalendarOnlyOneShiftIsNull = 13000
Only one shift is null.
CalendarRecurrenceDaysShouldBeNull = 13001
Recurrence days should be null.
CalendarRecurrenceMonthDayShouldBeNull = 13002
The recurrence month and day should be null.
CalendarRecurrenceMonthShouldBeNull = 13003
The recurrence month should be null.
CalendarRecurrenceMonthShouldNotBeNull = 13004
The recurrence month should not be null.
CalendarRecurrencePositionShouldBeNull = 13005
The recurrence position should be null.
CalendarRecurrencePositionShouldNotBeNull = 13006
The recurrence position should not be null.
CalendarRecurrenceDaysShouldNotBeNull = 13007
The recurrence days should not be null.
CalendarInvalidRecurrenceFrequency = 13008
The recurrence frequency is not valid.
CalendarInvalidRecurrenceType = 13009
The recurrence type is not valid.
CalendarInvalidRecurrenceDays = 13010
The recurrence days are not valid.
CalendarInvalidCombinationOfMonthDayAndPosition = 13011
The combination of month, day, and position is not valid.
CalendarInvalidRecurrencePosition = 13012
The recurrence position is not valid.
CalendarCannotModifyExceptionsForCalendarBeingDeleted = 13013
The calendar exceptions cannot be modified when a calendar is being deleted.
CalendarExceptionConflict = 13014
There is a conflict in the calendar exceptions.
CalendarBadDateValue = 13015
The date is not valid.
CalendarNotFound = 13021
The calendar is not found.
CalendarAlreadyExists = 13022
The calendar already exists.
CalendarNameShouldNotBeNull = 13023
The calendar name is null.
CalendarInternalError = 13025
There is an internal error in the calendar operation.
CalendarNameTooLong = 13027
The calendar name is too long.
CalendarInvalidCalendarName = 13028
The calendar name is not valid.
CalendarStandardCalendarNotFound = 13031
The standard calendar is not found.
CalendarInvalidShifts = 13032
The shifts are not valid.
CalendarCannotDeleteCalendarUsedByProject = 13033
Cannot delete a calendar that is being used in a project.
CalCalendarUniqueIdToDuplicateShouldBeNull = 13035
The GUID should be null to duplicate a calendar.
CalendarInvalidBaseCalendarUniqueId = 13037
The base calendar GUID is not valid.
CalendarInvalidUniqueIdToDuplicate = 13038
The GUID is not valid to duplicate a calendar.
CalendarUnusedCalendarException = 13039
The calendar exception does not have a corresponding calendar. Occurs when using the UpdateResources method if there is an entry in the ResourceDataSet.CalendarExceptions table, but no BaseCalendarUniqueId for that resource in the Resources table.
CalendarCannotDeleteStandardCalendar = 13040
The standard calendar cannot be deleted.
CalendarCannotRenameStandardCalendar = 13041
The standard calendar cannot be renamed.
CalendarCannotDeleteCalendarUsedByEnterpriseResource = 13042
The calendar is in use by an enterprise resource and cannot be deleted.
CalendarFilterInvalid = 13043
The filter is not valid for a calendar.

Table 10. CubeAdmin and Cube Build Service

CubeAdmin and Cube Build Service (CBS) error code Description
CBSGeneralFailure = 17001
Failure in the Cube Build Service (CBS). This is a general error code that could result from many different causes.
CBSDsoNotInstalled = 17002
The CBS needs the Decision Support Objects (DSO) component installed for Analysis Services.
CBSASConnectionFailure = 17003
The CBS failed to connect to the Analysis Services server.
CBSOlapProcessingFailure = 17004
The OLAP cube processing failed.
CBSMetadataProcessingFailure = 17005
Processing of the cube metadata failed.
CBSASServerLockTimeOut = 17006
The Analysis Services server lock timed out.
CBSOlapDatabaseSetupFailure = 17007
Setup of the OLAP cube database failed.
CBSASEntityLimitation = 17008
Exceeded the number of entities that Analysis Services can use.
CBSRequestInvalidArguments = 17009
One or more arguments in the CBS request are not valid.
CBSQueueingRequestFailed = 17010
The CBS failed to submit the job to the queue.
CBSUpdateCubeCalculatedMeasureDefintionError = 17011
There is an error in a cube calculated member.
CBSAttemptToOverwrite = 17013
Cannot overwrite data in the cube.
CBSCustomFieldCannotBeAddedAsDimension = 17014
The custom field cannot be a cube dimension.
CBSCustomFieldFailedToBeAddedAsDimension = 17015
Failed to add the custom field as a dimension in the cube.
CBSCustomFieldCannotBeAddedAsMeasure = 17016
The custom field cannot be a cube measure.
CBSCustomFieldFailedToBeAddedAsMeasure = 17017
Failed to add the custom field as a measure in the cube.
CBSDsoTranslatorNotFound = 17018
The Decision Support Objects translator is not found.
CBSUpdateOlapDBOperationFailure = 17019
Failed to update the OLAP database.
CBSOlapDBInvalidArguments = 17020
One or more arguments for the OLAP database are not valid.
CBSOlapDatabaseReadSettingListFailed = 17021
Failed to read the OLAP database list of settings.
CBSOlapDatabaseReadSettingFailed = 17022
Failed to read the OLAP database setting.
CBSDeleteOlapDatabaseSetting = 17023
Error in deleting the OLAP database setting.
CBSSetDefaultOlapDatabase = 17024
Error in setting the default OLAP database.
CBSSetOlapDatabaseEnabled = 17025
Error in enabling the OLAP database.
CBSGetDefaultOlapDatabase = 17026
Error in getting the default OLAP database.
CBSCustomFieldFailedToBeAddedAsDimensionOrMeasure = 17027
Cannot add custom field as a dimension or measure.
CBSOlapDatabaseAssocFieldsSettings = 17028
Error in OLAP database associated fields settings.
CBSUpdateOlapDBOperationDuplicateOrFailure = 17029
Failure or duplicate of OLAP database update operation.
CBSErrorReadingDefaultDatabase = 17030
Error reading the default OLAP database.
CBSCreateOlapDBOperationFailure = 17031
Failed to create the OLAP database operation.
CBSSetCubeFieldsSettingsFromListForGroupMeasureFailed = 17032
Failed to set the list for group measure settings of the cube fields.
CBSErrorReadingCubeDepartments = 17033
Error reading departments in the OLAP cube.
CBSErrorMaxOlapDatabaseCountReached = 17034
Reached the maximum OLAP database count.
CBSErrorReadingCubeFieldsSettings = 17035
Error reading cube fields settings.

Table 11. Check in and check out

Check in - check out error code Description
CICOCheckedOutToOtherUser = 10100
Checked out to another user.
CICOAlreadyCheckedOutToYou = 10101
Already checked out to you.
CICONotCheckedOut = 10102
Not checked out.
CICOCheckedOutInOtherSession = 10103
Checked out in another session.
CICOInvalidSessionGuid = 10104
The session GUID is not valid.
CICOAlreadyCheckedOutInSameSession = 10105
Already checked out in the same session.
CICOCannotCheckOutVisibilityModeProjectWithMppInDocLib = 10106
Cannot check out visibility mode project with an mpp file in the doc library.

Table 12. Custom field

Custom field error code Description
CustomFieldInvalidPropertyType = 11500
The property type is not valid.
CustomFieldInvalidScope = 11503
The custom field scope is not valid.
CustomFieldScopesMustBeIdentical = 11504
The scopes must be identical.
CustomFieldInvalidEntityUID = 11505
The custom field entity GUID is not valid.
CustomFieldHasInvalidPropertiesForNonLookupTableCF = 11506
The properties are not valid for a custom field with no lookup table.
CustomFieldNonExistentWeightsTableUID = 11507
The weights table GUID does not exist.
CustomFieldInvalidName = 11508
The custom field name is not valid.
CustomFieldInvalidDefault = 11510
The default value for the custom field is not valid.
CustomFieldInvalidLookupTableUID = 11511
The lookup table GUID is not valid.
CustomFieldTypeDoesNotMatchLookupTableMask = 11512
Custom field type does not match lookup table mask.
CustomFieldCannotHaveNonLeafNodeDefault = 11513
The custom field default value must be a leaf node.
CustomFieldMatchingOnlyAvailableForResources = 11514
Matching custom field is available only for resources.
CustomFieldUIDCannotMatchLookupTableUID = 11516
The GUID does not match a lookup table GUID.
CustomFieldUIDAlreadyExists = 11517
The custom field GUID already exists.
CustomFieldIDAlreadyExists = 11518
The custom field identification number already exists.
CustomFieldNameAlreadyExists = 11519
The custom field name already exists.
CustomFieldInvalidEntity = 11520
The entity is not valid for the custom field.
CustomFieldMaskDoesNotMatchEntityType = 11521
The code mask does not match the entity type.
CustomFieldLowerOrderBitsOutOfRange = 11522
The lower order bits are out of range.
CustomFieldInvalidMaxValues = 11523
One or more maximum values are not valid.
CustomFieldCannotModifyCertainValuesOnceDefined = 11524
Certain values cannot be modified after they are defined.
CustomFieldNonExistentPID = 11526
The custom field property identification number does not exist.
CustomFieldCannotChangeBuiltInFields = 11527
Cannot change the Project Server built-in fields, such as Cost Type, State, and RBS.
CustomFieldSecondaryUidCannotEqualUid = 11528
The secondary GUID cannot equal the primary GUID.
CustomFieldCannotHaveSecondaryUIDorIDForThisEntityType = 11529
The custom field cannot have a secondary GUID or a GUID for this type of entity.
CustomFieldNameMatchesIntrinsicField = 11530
The custom field name matches an intrinsic field.
CustomFieldInvalidAggregationType = 11531
The aggregation type is not valid.
CustomFieldProjectFormulaFieldsMustUseFormulaAggregation = 11532
The project formula fields must use formula aggregation.
CustomFieldMustSpecifyEitherIDorUID = 11700
Must specify the custom field identification number or GUID.
CustomFieldInvalidID = 11701
The custom field identification number is not valid.
CustomFieldInvalidUID = 11702
The custom field GUID is not valid.
CustomFieldInvalidType = 11703
The custom field type is not valid.
CustomFieldInvalidTypeColumnFilledIn = 11704
The custom field type column value is not valid. See example in Error Code Example for WCF.
CustomFieldCodeValueDoesNotMatchLookupTable = 11706
The code value does not match the lookup table.
CustomFieldCodeValueIsNotLeafNode = 11707
The code value is not a leaf node of the lookup table.
CustomFieldRowAlreadyExists = 11708
The custom field row already exists.
CustomFieldRowDoesNotMatchCorrespondingDefinitionInDB = 11710
The custom field row does not match the database definition.
CustomFieldCodeValueAlreadyUsed = 11711
The code value is already used.
CustomFieldMaxValuesExceeded = 11712
Maximum custom field values exceeded.
CustomFieldRequiredValueNotProvided = 11713
A required custom field value is not provided. See example in Error Code Example for WCF.
CustomFieldCannotChangeLookupTable = 11715
Cannot change the custom field lookup table.
CustomFieldFilterInvalid = 11716
The custom field filter is not valid.
CustomFieldRolldownInvalidOnFormulaFields = 11717
A roll down cannot occur on a formula custom field.
CustomFieldFormulaFieldCannotBeRequired = 11718
The formula field cannot be required.
CustomFieldFormulaFieldCannotBeWorkflowControlled = 11719
The formula field cannot be controlled by a workflow.
CustomFieldCannotSetValueOnFormulaFields = 11720
Cannot set value on formula fields.
CustomFieldNewPerRequestLimitExcedeed = 11721
Exceeded request limit for new custom fields. The limit is NEW_CF_PER_REQUEST_LIMIT in one request.
CustomFieldNameIsReservedName = 11722
A custom field name cannot be a reserved name.
CustomFieldNameInvalidForOlapMeasure = 11723
The custom field name is not valid for an OLAP cube measure.
CustomFieldNameInvalidForOlapDimension = 11724
The custom field name is not valid for an OLAP cube dimension.
CustomFieldSettingsInvalidForOlapMeasure = 11725
The custom field settings are not valid for an OLAP cube measure.
CustomFieldSettingsInvalidForOlapDimension = 11726
The custom field settings are not valid for an OLAP cube dimension.
CustomFieldCannotAddRelativeImportanceField = 11727
Cannot add a relative importance field.
CustomFieldCannotAddProjectImpactField = 11728
Cannot add a project impact field.
CustomFieldInvalidDepartmentUid = 11731
The department GUID in the custom field is not valid.
CustomFieldCannotModifyDepartmentUidOnBuiltinFields = 11732
The department GUID cannot be modified on built-in custom fields.
CustomFieldCannotHaveBothLookupTableAndMultilineText = 11733
A custom field cannot include both a lookup table and multiline text.
CustomFieldCannotHaveBothFormulaAndMultilineText = 11734
A custom field cannot include both a formula and multiline text.
CustomFieldDescriptionExceedsLimit = 11735
The custom field description is too long. Maximum length of the MD_PROP_DESCRIPTION property is 1000 characters.
CustomFieldOnlyTextFieldsCanHaveMultilineText = 11736
Only text custom fields can have multiline text.
CustomFieldOnlyProjectFieldsCanHaveMultilineText = 11737
Only project custom fields can have multiline text.
CustomFieldCannotChangeWorkflowControlledBehaviorForNonProjectCustomFields = 11738
A custom field cannot change the behavior of non-project custom fields that are controlled by a workflow.
CustomFieldIsWorkflowControlledAndCannotBeChanged = 11739
The custom field is controlled by a workflow and cannot be changed.
CustomFieldCannotHaveRequiredFlagWhenWorkflowControlledFlagIsSet = 11740
The custom field cannot be required when it is controlled by a workflow.
CustomFieldFormulaCreatesCircularReference = 11742
The custom field formula creates a circular reference.
CustomFieldFormulaContainsInvalidFieldReference = 11743
The custom field formula contains a field reference that is not valid.
CustomFieldFormulaContainsErrors = 11744
The custom field formula contains one or more errors.
CustomFieldLocalCustomFieldNotDefined = 11745
The local custom field is not defined.
CustomFieldGraphicalIndicatorContainsErrors = 11746
The custom field graphical indicator contains errors.
CustomFieldGraphicalIndicatorContainsInvalidFieldReference = 11747
The custom field graphical indicator contains a field reference that is not valid.
CustomFieldGraphicalIndicatorTypeMismatch = 11748
There is a type mismatch for the custom field graphical indicator.
CustomFieldFormulaFieldCannotReferenceWorkflowControlledField = 11749
A field in the formula cannot reference a field controlled by a workflow.
CustomFieldWorkflowCustomFieldBeingReferencedByFormula = 11750
A formula is trying to reference a workflow custom field.

Table 13. Lookup table

Lookup table error code Description
LookupTableMaskNotDefined = 11000
The lookup table code mask is not defined.
LookupTableMaskHasTooManyValues = 11001
The lookup table code mask has too many values.
LookupTableMaskHasGaps = 11002
The lookup table code mask has gaps.
LookupTableMaskSequenceTypeLimitedToOneLevelDeep = 11003
The code mask sequence type is limited to one level.
LookupTableMaskSequenceTypeInvalid = 11004
The code mask sequence type is not valid.
LookupTableMaskSequenceRequiresAnyLength = 11005
The code mask sequence requires a length of Any.
LookupTableMaskSeparatorTooLong = 11006
The code mask separator has too many characters.
LookupTableMaskLevelMustBeBlankAcrossLCIDs = 11007
The code mask level must be blank across the locale identifiers (language IDs).
LookupTableMaskSeparatorInvalid = 11008
A code mask separator character is not valid.
LookupTableMaskBlankSeparatorInvalidAfterAnyLengthSequence = 11009
A blank separator character is not valid after a sequence length of Any.
LookupTableMaskSequenceLengthInvalid = 11010
The code mask sequence length is not valid.
LookupTableMaskLevelMustBeOneOrMore = 11011
The code mask must be level 1 or greater.
LookupTableItemDoesNotFitMask = 11050
The lookup table item does not fit the code mask definition.
LookupTableItemContainsSeparator = 11051
The lookup table item contains a separator character.
LookupTableItemFullValueTooLong = 11052
The full value of the lookup table item is too long.
LookupTableDuplicateSiblingsDisallowed = 11053
Duplicate siblings in the lookup table are not allowed.
LookupTableSortOrderIndexInvalid = 11054
The lookup table sort order index is not valid.
LookupTableSortOrderIndexDuplicate = 11055
Duplicate lookup table sort order index.
LookupTableSortOrderTypeInvalid = 11056
The lookup table sort order type is not valid.
LookupTableSortOrderMustComeAfterParentSortOrder = 11057
The sort order must come after the parent sort order.
LookupTableSortOrderMustComeBeforeParentNextSiblingSortOrder = 11058
The sort order must come before the parent of the next sibling sort order.
LookupTableInvalidCookieLength = 11060
The cookie length for a lookup table is not valid.
LookupTableMustHaveValuesForPrimaryLCIDorJustOneValue = 11061
The lookup table must have values for the primary locale identifier (language ID), or just one value. When you create a multilanguage lookup table, for example, add only one mask value for each level, or first add the value for the primary LCID.
LookupTableLCIDNotSupportedInLookupTableLanguages = 11062
The locale identifier (language ID) is not included in lookup table languages.
LookupTableInvalidDescriptionLength = 11063
The description length of a lookup table item is not valid.
LookupTableCannotChangeBuiltInTables = 11064
Cannot change the built-in lookup tables.
LookupTableCannotChangeTypeOnceCreated = 11065
Cannot change the lookup table type after the lookup table is created.
LookupTableCannotDeleteLTWithDependantCustomField = 11066
Cannot delete a lookup table that is used in a custom field.
LookupTableAllLevelsNotFilled = 11067
All lookup table levels must be filled.
LookupTableDuplicateName = 11068
Lookup table names must be unique.
LookupTableInvalidName = 11069
The lookup table name is not valid.
LookupTableDuplicateSiblingPhoneticsDisallowed = 11071
Cannot have duplicate sibling phonetics in a lookup table.
LookupTableItemInvalidLookupTable = 11073
An item in the lookup table is not valid.
LookupTableInvalidPhoneticsLength = 11074
The length of the phonetics field is not valid.
LookupTableAlreadyExists = 11076
The lookup table already exists.
LookupTableInvalidUID = 11078
The lookup table GUID is not valid.
LookupTableFilterInvalid = 11079
The lookup table filter is not valid.
LookupTableLanguageParameterInvalidWithXmlFilter = 11080
A language parameter is not valid with a lookup table xmlFilter parameter.
LookupTableInvalidParentStructUid = 11081
The GUID for a lookup table parent structure is not valid.
LookupTableItemContainsListSeparator = 11082
The lookup table item contains a list separator.

Error codes in Table 14 include items for project detail pages (PDPs), Exchange synchronization, the Project Web App timeline, and database errors. Many of the miscellaneous error codes in Table 14 are used internally.


The auditing error codes are not used in Project Server 2013.

Table 14. Miscellaneous error codes

Miscellaneous error code Description
AuditingUpdateFailure = 31000
Not used.
AuditingCannotDeleteFeature = 31001
Not used.
AuditingCannotAddFeature = 31002
Not used.
AuditingFeatureIsNoLongerAudited = 31003
Not used.
AuditingItemIsNotYetAvailable = 31004
Not used.
AuditingInvalidFeatureUid = 31005
Not used.
AuditingInvalidStoreForSelectedFeature = 31006
Not used.
AuditingInvalidStore = 31007
Not used.
AuditingVersionNameTooLong = 31008
Not used.
AuditingBeginVersionFailure = 31009
Not used.
AuditingEndVersionFailure = 31010
Not used.
ProjectDetailPagesStrategicImpactRatingRequired = 32000
A strategic impact rating is required for the project detail page.
ProjectDetailPagesMissingPDPLinks = 32001
Missing links to the project detail pages.
ProjectDetailPagesUnavailableWorker = 32002
Project drilldown load failed. No workers available.
ProjectDetailPagesFailedToLoadProjectInWorker = 32003
The worker failed to load.
AppPermissionInvalidAppPermissionId = 32300
There is a problem with the app permission id.
InvariantValidationPSIFailed = 40000
Returned by PWA methods if any private methods return ValidationMethodFailed. Internal use.
ValidationMethodFailed = 40001
Returned by private PWA methods when they detect database inconsistencies. Internal use.
GeneralExchangeSyncError = 40500
General error in the Microsoft Exchange synchronization. Internal use.
ExchangeSyncRootFolderCreationFailed = 40501
Failed to create the root folder in Microsoft Exchange synchronization.
ExchangeSyncTaskFolderCreationFailed = 40502
Failed to create the task folder.
ExchangeSyncCouldNotGetRootFolder = 40503
Could not get the root folder.
ExchangeSyncCouldNotLoadTaskObject = 40504
Could not load the task object.
ExchangeSyncNewExchangeTaskCreationFailed = 40505
Creation of a new task failed in Exchange synchronization.
ExchangeSyncFailedToUpdateCacheForUser = 40506
Failed to update the Exchange synchronization cache for the user.
ExchangeSyncFailedToUpdateExchangeTask = 40507
Failed to update the task in Microsoft Exchange.
ExchangeSyncSubscriptionUpdateFailed = 40508
Failed to update the Exchange synchronization subscription.
ExchangeSyncEWSUrlFailed = 40509
The Microsoft Exchange web service URL failed.
ExchangeSyncExchangeUrlRefreshFailed = 40510
Failed to refresh the Exchange URL.
ExchangeSyncExchangeSubscriptionUpdateForUserFailed = 40511
Failed to update the Exchange subscription for the user.
ExchangeSyncGeneralProcessingFailure = 40512
General processing failure in Microsoft Exchange synchronization.
ExchangeSyncDeletionOfTasksInExchangeFailure = 40513
Failed to delete tasks in Exchange synchronization.
ExchangeSyncAttemptedSyncOfInvalidConfiguredResource = 40514
Tried to synchronize a resource with a configuration that is not valid.
ExchangeSyncRetrievalOfEWSUrlCausedException = 40515
An exception occurred during retrieval of the Exchange web service.
TimelineViewDataDoesNotExist = 42000
Data does not exist for the timeline view in Project Web App.
DatabaseUndefinedError = 50000
The database is not defined.
DatabaseCannotInsertDuplicateKeyError = 50001
The database cannot insert a duplicate key.

Table 15. Notification

Notification error code Description
NotificationReminderUnknown = 16050
Unknown reminder notification.
NotificationReminderParentNotSubscribed = 16051
There is no subscription to the parent of the reminder notification.
NotificationReminderParentNotFound = 16052
Parent of the reminder notification is not found.
NotificationReminderChildStillSubscribed = 16053
There is still a subscription to the child of the notification reminder.
NotificationReminderChildNotFound = 16054
Child of the reminder notification is not found.
NotificationEMailDeliveryFailed = 16080
Notification email message delivery failed.
NotificationQueueMessageFailed = 16082
Notification queue message failed.
NotificationXSLTTransformationError = 16084
Error in the notification XSLT transformation.

All error codes in Table 16 are for the Optimizer, which is a component used in project portfolio analysis.

Table 16. Optimizer (project portfolio analysis)

Optimizer error code Description
OptimizerDepInvalidDepType = 29000
The optimizer DEPENDENCY_TYPE value in the OptimizerDependencyDataSet.OptimizerDependenciesRow is not valid. See Optimizer.DependencyTypes.
OptimizerDepInvalidEntityType = 29001
The entity type is not valid. See the Entities property.
OptimizerDepInvalidPosition = 29003
The POSITION value is not valid.
OptimizerDepDuplicateDependentProjects = 29004
There are duplicate projects in the OptimizerDependencyDataSet.OptimizerDependencyDetailsDataTable.
OptimizerDepInvalidDependency = 29005
The Optimizer dependency is not valid.
OptimizerDepCircularDependency = 29006
There is a circular dependency.
OptimizerCannotDeleteDependency = 29007
The dependency cannot be deleted.
OptimizerCannotCreateDependency = 29008
The dependency cannot be created.
OptimizerCannotUpdateDependency = 29009
The dependency cannot be updated.
OptimizerCannotCreateMultipleDependencies = 29010
Cannot create multiple dependencies.
OptimizerCannotUpdateMultipleDependencies = 29011
Cannot update multiple dependencies.
OptimizerEngineMatrixNotFilled = 29100
The Optimizer does not have enough data for calculation.
OptimizerEngineCustomFieldIsNotAConstraint = 29101
The custom field is not a constraint for the Optimizer.
OptimizerCouldNotCalculatePrioritiesFromCustomFields = 29102
Cannot calculate priorities from the specified custom fields.
OptimizerEngineBinaryInfeasibleSolution = 29103
The Optimizer calculation results in an infeasible solution.
OptimizerEngineBinaryNumericalError = 29104
There is a numerical error in the Optimizer calculation.
OptimizerEngineBinaryTimedOut = 29105
The Optimizer calculation timed out.
OptimizerEngineBinaryMaxedIterations = 29106
The Optimizer calculation reached the maximum number of iterations.
OptimizerEngineBinarySubOptimal = 29107
The Optimizer calculation results are not optimal.
OptimizerEngineBinaryInternalError = 29108
There is an internal error in the Optimizer calculation.
OptimizerInvalidRange = 29200
The date range for the optimizer is not valid.
OptimizerNonNormalizedWeights = 29201
WEIGHT values in the AnalysisDataSet.AnalysisPriorityDataDataTable are not normalized.
OptimizerCannotEditPrioritization = 29300
Cannot edit the driver prioritization.
OptimizerCannotDeletePrioritization = 29301
Cannot delete the driver prioritization.
OptimizerCannotCreatePrioritization = 29302
Cannot create the driver prioritization.
OptimizerCannotUpdatePrioritization = 29303
Cannot update the driver prioritization.
OptimizerCannotCalculateDriverPriorities = 29304
Cannot calculate driver priorities.
OptimizerCannotCreateMultiplePrioritizations = 29305
Cannot create multiple driver prioritizations.
OptimizerCannotUpdateMultiplePrioritizations = 29306
Cannot update multiple driver prioritizations.
OptimizerDriverRelationsNotFilled = 29307
The DriverRelationsRow data is not complete.
OptimizerDriversNotFilled = 29308
There is not enough information in the project drivers for a solution.
OptimizerDriverRelationsInvalidInversedValue = 29309
There are inverse values in the DriverPrioritizationDataSet.DriverRelationsRow.
OptimizerCannotCreatePrioritizationUsingInactiveDrivers = 29310
There is an inactive driver specified in the DriverPrioritizationDataSet.DriverRelationsRow. Check the DRIVER1_UID and DRIVER2_UID properties.
OptimizerCannotChangePrioritizationType = 29311
Cannot change the prioritization type.
OptimizerCannotSpecifyPriorityValuesForCalculatedPrioritizations = 29312
If a priority is calculated, you cannot specify the priority value.
OptimizerCannotNormalizePriorityValues = 29313
Priority values cannot be normalized.
OptimizerTooManyDriversInPrioritization = 29314
There are too many business drivers in the prioritization.
OptimizerInvalidProjectImpactValue = 29400
The project impact value is not valid.
OptimizerCannotDeleteDriver = 29401
The project driver cannot be deleted.
OptimizerCannotCreateDriver = 29402
The project driver cannot be created.
OptimizerCannotUpdateDriver = 29403
The project driver cannot be updated.
OptimizerCannotEditDriver = 29404
The project driver cannot be edited.
OptimizerCannotCreateMultipleDrivers = 29405
Cannot create multiple drivers.
OptimizerCannotUpdateMultipleDrivers = 29406
Cannot update multiple drivers.
OptimizerInvalidRelativeImportanceValue = 29407
The relative importance value is not valid.
OptimizerInvalidDriverUid = 29500
The driver GUID is not valid.
OptimizerInvalidEntityType = 29501
The entity type is not valid for the Optimizer.
OptimizerInvalidProjectUid = 29502
The project GUID is not valid.
OptimizerInvalidCustomFieldUid = 29503
The custom field GUID is not valid for the Optimizer.
OptimizerInvalidHardConstraintUid = 29504
The hard constraint GUID is not valid.
OptimizerInvalidAnalysisUid = 29505
The analysis GUID is not valid.
OptimizerDriverFilterInvalid = 29506
The driver filter is not valid.
OptimizerPrioritizationFilterInvalid = 29507
The prioritization filter is not valid.
OptimizerCannotLoadOptimizationEngine = 29508
The Optimizer calculation engine cannot be loaded.
OptimizerAnalysisFilterInvalid = 29509
The analysis filter is not valid.
OptimizerSolutionFilterInvalid = 29510
The solution filter for the Optimizer is not valid.
OptimizerDependenciesFilterInvalid = 29511
The dependencies filter for the Optimizer is not valid.
OptimizerInvalidSolutionUid = 29512
The solution GUID for the Optimizer is not valid.
OptimizerInvalidViewUid = 29513
The view GUID for the Optimizer is not valid.
OptimizerInvalidAnalysisType = 29600
The type of portfolio analysis is not valid.
OptimizerInvalidPrioritizationType = 29601
The prioritization type for the Optimizer is not valid.
OptimizerCannotDeleteAnalysis = 29602
Cannot delete the portfolio analysis.
OptimizerCannotCreateAnalysis = 29603
Cannot create the portfolio analysis.
OptimizerCannotUpdateAnalysis = 29604
Cannot update the portfolio analysis.
OptimizerInvalidPrioritizationUid = 29607
The prioritization GUID is not valid.
OptimizerCannotCreateMultipleAnalyses = 29608
Cannot create multiple portfolio analyses.
OptimizerCannotUpdateMultipleAnalyses = 29609
Cannot update multiple portfolio analyses.
OptimizerCannotCalculateProjectPriorities = 29610
The Optimizer cannot calculate project priorities.
OptimizerCannotDeleteAnalysisProjectImpact = 29611
Cannot delete project impact in the portfolio analysis.
OptimizerCannotChangeAnalysisProjects = 29612
Cannot change projects in the portfolio analysis.
OptimizerCannotChangePriorityData = 29613
Cannot change priority data.
OptimizerCannotEditAnalysis = 29614
Cannot edit the portfolio analysis.
OptimizerInvalidPlannerData = 29615
The Planner data is not valid for the Optimizer.
OptimizerCannotChangeImpactData = 29616
Cannot change the project impact data.
OptimizerInvalidProjectsNumber = 29617
The number of projects is not valid.
OptimizerCannotAddImpactCFUIDToCFAnalysis = 29618
Cannot add the project impact custom field GUID (PROJECT_IMPACT_CF_UID ) for portfolio analysis.
OptimizerInvalidDepartmentUid = 29619
The DEPARTMENT_UID is not valid.
OptimizerTooManyProjectsInAnalysis = 29620
There are too many projects in the analysis.
QueueAnalysisCannotDeleteAnalysis = 29680
The QueueDeleteAnalyses method cannot delete the analysis.
QueueAnalysisCannotCreateAnalysis = 29681
The QueueCreateAnalysis method cannot create the analysis.
QueueAnalysisCannotUpdateAnalysis = 29682
The QueueUpdateAnalysis method cannot update the analysis.
AnalysisMismatchedJobList = 29690
The analysis job list is mismatched.
OptimizerInvalidForceInLookupTableUid = 29691
The lookup table GUID cannot be forced in.
OptimizerInvalidForceOutLookupTableUid = 29692
The lookup table GUID cannot be forced out.
OptimizerDuplicateForceLookupTableUids = 29693
There are duplicate forced lookup table GUIDs.
OptimizerInvalidDecisionResult = 29701
The decision result is not valid.
OptimizerInvalidForcedStatus = 29702
The forced status is not valid.
OptimizerCannotDeleteSolution = 29703
The QueueDeleteOptimizerSolutions method cannot delete the Optimizer solution.
OptimizerCannotCreateSolution = 29704
The QueueCreateOptimizerSolution method cannot create a the Optimizer solution.
OptimizerCannotUpdateSolution = 29705
The QueueUpdateAnalysis method cannot update the Optimizer solution.
OptimizerCannotCalculateSolutionStrategicAlignment = 29706
The Optimizer cannot calculate the solution for strategic alignment.
OptimizerCannotCreateMultipleSolutions = 29707
The Optimizer cannot create multiple solutions.
OptimizerCannotUpdateMultipleSolutions = 29708
The Optimizer cannot update multiple solutions.
OptimizerCannotAddPrioritizationToCFAnalysis = 29709
The Optimizer cannot add a prioritization to a custom field for the analysis.
OptimizerTableIsReadOnly = 29710
The Optimizer table is read-only.
OptimizerSolutionCreateMessageFailed = 29711
The Optimizer failed to make a "solution created" message.
OptimizerSolutionDeleteMessageFailed = 29712
The Optimizer failed to make a "solution deleted" message.
OptimizerCannotCalculateEfficientFrontier = 29714
The Optimizer cannot calculate the efficient frontier for the analysis.
OptimizerCannotUpdateSolutionProperties = 29715
Cannot update the solution properties.
OptimizerInvalidConstraintPosition = 29716
The constraint position in the Optimizer is not valid.
OptimizerInvalidHardConstraintPosition = 29717
The hard constraint position in the Optimizer is not valid.
OptimizerInvalidConstraintLimit = 29718
The constraint limit in the Optimizer is not valid.
OptimizerInvalidConstraintValue = 29719
The constraint value is not valid.
OptimizerInvalidSolutionProjectsSet = 29720
The set of projects in the solution is not valid.
OptimizerCannotCommitSolution = 29721
The CommitOptimizerSolution method cannot commit the solution.
OptimizerInvalidInputData = 29723
The input data for the Optimizer is not valid.
OptimizerInvalidConstraintSet = 29724
The constraint set for the Optimizer is not valid.
OptimizerCannotUpdateAnalysisMetrics = 29725
Cannot update the analysis metrics.
OptimizerSolutionMismatchedJobList = 29726
The job list in the solution is mismatched.
OptimizerInvalidForceLookupTableValue = 29727
The force lookup table value is not valid.
OptimizerCannotCreateSolutionWhileAnalysisUpdateIsPending = 29728
Cannot create an Optimizer solution while an analysis update is pending.
OptimizerProjectSelectorAtLeastOne = 29800
There must be at least one project selected for the Optimizer.

The error codes in Table 17 are for the Planner, which is a component used in project portfolio analysis.

Table 17. Planner (project portfolio analysis)

Planner error code Description
PlannerSolutionMessageDeleteFailed = 28000
Queue error: the message to delete the planner solution failed.
PlannerSolutionMessageCreateFailed = 28001
Queue error: the message to create the planner solution failed.
PlannerInvalidRBSValueUid = 28002
The GUID for a resource breakdown structure value is not valid in the Planner data.
PlannerInvalidCustomFieldUid = 28003
The GUID for a custom field is not valid.
PlannerHorizonInvalid = 28004
The Planner time horizon is not valid. A time horizon is the period specified for capacity planning.
PlannerHorizonTooBig = 28005
The time horizon is too far in the future.
PlannerInvalidBookingType = 28006
The resource booking type is not valid.
PlannerInvalidTimeScale = 28007
The time scale is not valid.
PlannerInvalidProjectSNET = 28008
The "start no earlier than" date for the project is not valid.
PlannerInvalidProjectFNLT = 28009
The "finish no later than" date for the project is not valid.
PlannerInvalidAnalysisStartDate = 28010
The START_DATE for the project is not valid.
PlannerInvalidAnalysisDuration = 28011
The DURATION is not valid for portfolio analysis.
PlannerInvalidHorizonStartDate = 28012
The start date of the time horizon is not valid.
PlannerInvalidHorizonEndDate = 28013
The end date of the time horizon is not valid.
PlannerInvalidHorizonTimeScale = 28014
The time scale of the time horizon is not valid.
PlannerInvalidAnalysisType = 28015
The type of portfolio analysis is not valid.
PlannerHorizonStartDateDoesNotMatchTimeScale = 28016
The start date of the time horizon does not match the time scale.
PlannerHorizonEndDateDoesNotMatchTimeScale = 28017
The end date of the time horizon does not match the time scale.
PlannerAnalysisNoCapacityData = 28037
There is no resource capacity data for the portfolio analysis.
PlannerInvalidSolutionUid = 28100
The analysis solution GUID is not valid.
PlannerInvalidOptimizerSolutionUid = 28101
The Optimizer solution GUID is not valid.
PlannerInvalidLookupTableValueUid = 28102
The lookup table value GUID is not valid.
PlannerInvalidEfficientFrontierUid = 28103
The FRONTIER_UID is not valid.
PlannerInvalidProjectUid = 28104
The project GUID is not valid.
PlannerInvalidAllocationThreshold = 28105
The allocation threshold is not valid.
PlannerInvalidHiringType = 28109
The HIRING_TYPE is not valid. See Planner.PlannerHiringType.
PlannerInvalidConstraintType = 28110
The CONSTRAINT_TYPE is not valid. See Planner.ConstraintType.
PlannerInvalidConstraintValue = 28111
The CONSTRAINT_VALUE is not valid.
PlannerInvalidRateTable = 28112
The RATE_TABLE is not valid.
PlannerInvalidSolutionForConstraint = 28113
The Planner solution is not valid for the constraint. Too many projects are forced in during the first pass of the planner.
PlannerInvalidSolutionForDependencies = 28114
The Planner solution is not valid because there are too many projects for considering business dependencies or conflicts. This error occurs in the second pass.
PlannerInvalidSolutionForScheduling = 28115
The Planner solution is not valid for scheduling because there are circular dependencies.
PlannerInvalidAnalysisUid = 28116
The ANALYSIS_UID is not valid.
PlannerInvalidProjectStartDate = 28200
The project start date is not valid.
PlannerInvalidProjectEndDate = 28201
The project end date is not valid.
PlannerInvalidProjectDuration = 28202
The project duration is not valid.
PlannerInvalidProjectFNLTDate = 28203
The "finish no later than" date for the project is not valid.
PlannerInvalidProjectSNETDate = 28204
The "start no earlier than" date for the project is not valid.
PlannerCannotCreateSolution = 28900
The Planner cannot create a solution.
PlannerCannotUpdateSolution = 28901
The Planner cannot update the solution.
PlannerCannotDeleteSolution = 28902
The Planner cannot delete the solution.
PlannerCannotCreateMultipleSolutions = 28903
The Planner cannot create multiple solutions.
PlannerCannotUpdateMultipleSolutions = 28904
The Planner cannot update multiple solutions.
PlannerTableIsReadOnly = 28907
The DataTable is read-only.
PlannerCannotCommitSolution = 28908
The Planner cannot commit the solution to the database.
PlannerFieldIsReadOnly = 28909
The field is read-only.
PlannerProjectNotInParentSolution = 28910
The project is not in the parent solution.
PlannerProjectNotSelectedInParentSolution = 28911
The project is not selected in the parent solution.
PlannerProjectNotInParentAnalysis = 28912
The project is not in the parent portfolio analysis.
PlannerProjectBeyondHorizon = 28913
The project extends beyond the time horizon.
PlannerResourceAllocationInternalError = 28915
There is an internal error in the resource allocation.
PlannerResourceAllocationInfeasibleSolution = 28916
The resource allocation is an infeasible solution.
PlannerProjectEndDateViolatesDependency = 28917
The project end date violates a dependency.
PlannerInvalidProjectsSet = 28919
The set of projects is not valid.
PlannerInvalidInputData = 28920
The Planner has input data that is not valid.
PlannerDecimalOverflowError = 28921
There is a decimal overflow error in the Planner.
PlannerSolutionMismatchedJobList = 28922
The solution has a mismatched job list.
PlannerInvalidForceLookupTableValue = 28923
The forced value of a lookup table is not valid.
PlannerNoHiredResource = 28924
There is no resource hired for the proposal.

Table 18. Project

Project error code Description
ProjectGlobalNotFound = 100
Cannot find the enterprise global template.
ProjectGlobalCannotBeDeleted = 101
Cannot delete the enterprise global template.
ProjectNotFound = 1000
Project not found.
ProjectAlreadyExists = 1001
Project already exists.
ProjectCheckedoutToOtherUser = 1002
The project is checked out to another user.
ProjectTypeInvalidForCreate = 1003
The project type for the create operation is not valid.
ProjectParametersInvalid = 1004
One or more project parameters are not valid.
ProjectNotCheckedoutToUser = 1006
Project not checked out to user.
ProjectCheckedout = 1007
Project checked out.
ProjectTypeInvalid = 1008
The project type is not valid.
ProjectIDInvalid = 1009
The project identification number is not valid.
ProjectNameTooLong = 1014
Project name is too long.
ProjectManagerNameTooLong = 1015
Project manager name is too long.
ProjectNameInvalid = 1016
Project name is not valid.
ProjectStartDateMissing = 1025
Project start date is missing.
ProjectNameMissing = 1026
Project name is missing.
ProjectVersionMissing = 1027
Project version is missing.
ProjectDoesNotExist = 1028
Project does not exist.
ProjectMultipleProjectsInvalid = 1029
Multiple projects are not valid.
ProjectHasWriteLock = 1030
Project has a write lock in the database.
ProjectHasPendingWriteLock = 1031
Project has a pending write lock.
ProjectHasNoReadLock = 1032
Project does not have a read lock.
ProjectHasReadLock = 1033
Project has a read lock.
ProjectNameAlreadyExists = 1034
Project name already exists.
ProjectOptCriticalSlackLimitInvalid = 1035
The optional critical slack limit is not valid.
ProjectOptCurrencyPositionInvalid = 1036
The optional currency position is not valid.
ProjectOptCurrencyDigitsInvalid = 1037
The optional currency digits are not valid.
ProjectOptCurrencySymbolTooLong = 1038
The optional currency symbol is too long.
ProjectCannotDelete = 1039
Cannot delete the project. Only regular or template server-side projects can be deleted.
ProjectCannotAdd = 1040
Cannot use the AddToProject method on the server-side project.
ProjectOptCurrencySymbolInvalid = 1041
The optional currency symbol is not valid.
ProjectHasNoWriteLock = 1042
The project does not have a write lock.
ProjectFilterInvalid = 1043
The project filter is not valid.
ProjectTooLarge = 1044
The project proposal is too large.
ProjectOptCurrencyCodeNot3Chars = 1045
The optional currency code is not three characters.
ProjectOptCurrencyCodeInvalid = 1046
The currency code is not valid in the project options.
ProjectActualsAreProtected = 1047
The project actuals are protected.
ProjectTemplateNotFound = 1048
Project template not found.
ProjectCurrencyCodeInvalid = 1049
The currency code is not valid.
ProjectCannotEditCostResource = 1050
Cannot edit cost resource.
ProjectIsNotPublished = 1051
Project not published.
ProjectExceededLWPTaskLimit = 1052
Exceeded the task limit for a project proposal (a lightweight project).
ProjectOptFinishDateInvalid = 1053
The finish date in the project options is not valid.
ProjectExceededItemsLimit = 1054
Exceeded the limit of items to process. The Project Server service application cannot use ProjectDataSet to add or update more than 1000 items total in all tables. To process more than 1000 items, use multiple calls, for example, to QueueUpdateProject.
ProjectColumnNotReadOnly = 1055
The column is not read-only.
ProjectInvalidOwner = 1056
The project owner is not valid.
ProjectCantEditPctWrkCompForNonWrkRscs = 1057
Cannot edit PctWorkComplete for a task that has no real work assignments.
ProjectCannotEditMaterialResource = 1058
Cannot edit the material resource.
ProjectCannotEditFieldWhenTaskHasNoWorkAssignment = 1059
Cannot edit the field because the task has no work assignment.
ProjectSubProjectNotFound = 1070
. No subprojects were found.
ProjectResourceNotFound = 1100
Resource not found.
ProjectResourceAlreadyExists = 1101
Resource already exists.
ProjectCannotReplaceResourceWithSelf = 1106
Cannot replace resource with same object.
ProjectCannotChangeLockedTrackingMethod = 1107
Cannot change because the tracking method is locked.
ProjectInvalidColumnForCompatibilityMode = 1108
The column for the compatibility mode is not valid.
ProjectUpdateInvalidUpdateSequenceNumber = 1151
The sequence number in the project update is not valid.
ProjectUpdateDuplicateUpdateSequenceNumber = 1152
Duplicate sequence number in the project update.
ProjectUpdateNullUpdateSequenceNumber = 1153
Null sequence number in the project update.
ProjectUpdateNullUpdateColumnNames = 1154
Null column names in the project update.
ProjectUpdateInvalidProjectUID = 1155
The project GUID is not valid in the project update.
ProjectUpdateInvalidColumnForUpdate = 1156
The column is not valid for the project update.
ProjectUpdateCannotEditColumn = 1157
Cannot edit the column in the project update.
ProjectUpdateNoChangesToValidateAndSchedule = 1158
The project update contains no changes that can be validated and scheduled.
LinkNotFound = 1159
The link is not found.
ProjectUpdateInvalidColumnValue = 1160
The column value is not valid in the project update.
ProjectCannotDeleteItem = 1161
Cannot delete the project item.
ProjectUpdateCannotComputeOptIndex = 1162
Cannot compute the optimizing index in the project update.
ProjectCannotUpdateDueToVisibilityMode = 1163
Cannot update because project is in visibility mode.
ProjectNodeConsistencyException = 9132
Exception: The node is not consistent.
ProjectSchedulingEngineException = 9133
Exception in the scheduling engine.
ProjectFormulaCalculationException = 9134
Exception in formula calculation.
ProjectUpdateDatabaseException = 9135
Exception in database update.
ProjectDeleteException = 9136
Exception in deleting project.
ProjectOperationException = 9137
Exception in project operation.
ProjectCannotComunicateWithPCS = 9138
Failed to communicate with the PCS worker.
ProjectPCSSessionInvalid = 9139
Project in an engine session failed to open.
ProjectPublishFailure = 23000
Failure in the queue while publishing project.
ProjectCurrencyConflict = 23001
There is a conflict in the specified currency.
ProjectPublishFailed = 23002
Publishing project failed when being enqueued.
ProjectReversePublishFailed = 23003
The project publish operation failed when it was being enqueued.
ProjectReversePublishFailure = 23004
Reverse publish of project failed during queue processing.
ProjectArchiveRetentionDeleteFailure = 23005
Failure deleting project due to archive retention.
ProjectDeleteFailure = 23006
Failure deleting project.
ProjectPublishEnqueueFailure = 23007
Failure of project publishing when being enqueued.
ProjectCheckinFailure = 23008
Check in of project failed during queue processing.
ProjectCheckinFailed = 23009
Check in of project failed when being enqueued.
ProjectCheckoutFailed = 23010
The user does not have project checkout permission.
ProjectPublishSummaryEnqueueFailure = 23011
Publish summary failure when being enqueued.
ProjectPublishSummaryFailed = 23012
Publish summary failure.
ProjectUpdateScheduledProjectFailure = 26026
Failure of project scheduling update during queue processing.
ProjectSyncProjectEnterpriseEntitiesFailure = 26033
Failure to synchronize project enterprise entities during queue processing.
GeneralDalDatabaseIsReadOnly = 26034
Project drilldown load failed. Database is read-only.
GeneralDatabaseCommunicationError = 26035
There can be many different causes, such as network or authentication problems.

Table 19. Reporting Data Service (RDS)

RDS error code Description
ReportingAttributeCubeSettingsChangedMessageFailed = 24000
The RDS change message failed for a cube settings attribute.
ReportingBaseCalendarChangeMessageFailed = 24001
The RDS change message failed for a base calendar.
ReportingCustomFieldMetadataChangeMessageFailed = 24002
The RDS change message failed for custom field metadata.
ReportingEntityUserViewChangedMessageFailed = 24003
The RDS change message failed for an entity user view.
ReportingFiscalPeriodChangeMessageFailed = 24004
The RDS change message failed for a fiscal period.
ReportingLookupTableChangeMessageFailed = 24005
The RDS change message failed for a lookup table.
ReportingProjectChangeMessageFailed = 24006
The RDS change message failed for a project.
ReportingResourceCapacityUpdateMessageFailed = 24007
The RDS update message failed for resource capacity.
ReportingResourceChangeMessageFailed = 24008
The RDS change message failed for a resource.
ReportingTimesheetAdjustMessageFailed = 24009
The RDS adjust message failed for a timesheet.
ReportingTimesheetClassCreateMessageFailed = 24010
The RDS create message failed for a timesheet class.
ReportingTimesheetDeleteMessageFailed = 24011
The RDS delete message failed for a timesheet.
ReportingTimesheetPeriodDeleteMessageFailed = 24012
The RDS delete message failed for a timesheet period.
ReportingTimesheetPeriodMessageFailed = 24013
The RDS message failed for a timesheet period.
ReportingTimesheetSaveMessageFailed = 24014
The RDS save message failed for a timesheet.
ReportingTimesheetStatusChangeMessageFailed = 24015
The RDS change message failed for timesheet status.
ReportingWSSSyncMessageFailed = 24016
The RDS message failed for SharePoint synchronization.
ReportingGetSPWebFailed = 24017
The RDS failed to get the SharePoint web value.
ReportingWssSyncListFailed = 24018
The RDS failed to synchronize with the SharePoint list.
ReportingWssTransferLinksFailed = 24019
The RDS failed to transfer SharePoint links.
ReportingQueueMessageSubmitFailed = 24020
The RDS failed to submit a message to the queue.
ReportingWssSyncHRefFailed = 24021
The RDS failed to synchronize with the SharePoint HRef value.
ReportingSyncGlobalDataMessageFailed = 24022
The RDS message to synchronize with the enterprise global data failed.
ReportingRDBRefreshMessageFailed = 24023
The RDS message to refresh the RDB failed.
ReportingAttributeCubeDepartmentsChangedMessageFailed = 24024
The RDS message failed to change the department attribute for the OLAP cube.
ReportingTimesheetProjectAggregationMessageFailed = 24025
The RDS message failed to aggregate projects for timesheet tables in the RDB.
ReportingRdbBulkDataSyncMessageFailed = 24026
The RDS message failed for bulk data synchronization in the RDB.
ReportingWorkflowMetadataSyncMessageFailed = 24027
The RDS message failed to synchronize workflow metadata.
ReportingProjectWorkflowInformationSyncMessageFailed = 24028
The RDS message failed to synchronize project workflow information.
ReportingEptSyncMessageFailed = 24029
The RDS message failed to synchronize the enterprise project template.
ReportingSummaryProjectPublishMessageFailed = 24030
The RDS message failed to publish the summary project.
ReportingSolutionCommitedDecisionChangedMessageFailed = 24031
The RDS message failed to change the committed decision for the solution.
ReportingDelayedUpgradeFailed = 24032
The RDB delayed upgrade failed.

Table 20. Resource

Resource error code Description
ResourceNotFound = 2000
Resource not found.
ResourceAlreadyExists = 2001
Resource already exists.
ResourceCheckedoutToOtherUser = 2002
Resource checked out to another user.
ResourceUIDInvalid = 2011
The resource GUID is not valid.
ResourceNameInvalid = 2016
The resource name is not valid.
ResourceNameTooLong = 2017
Resource name is too long.
ResourceInitialsTooLong = 2018
Resource initials are too long.
ResourceCheckedout = 2025
The resource is checked out.
ResourceNTAccountInvalid = 2026
The resource Windows (NTLM) account is not valid.
ResourceNameAlreadyInUse = 2027
Resource name is already used. Names must be unique.
ResourceNTAccountAlreadyInUse = 2028
The resource NTLM account is already used.
ResourceAdGuidAlreadyInUse = 2029
The resource GUID is already used.
ResourceHasActuals = 2031
The resource has actuals.
ResourceNTAccountTooLong = 2035
The NTLM account is too long.
ResourceEMailAddressTooLong = 2036
The resource email address is too long.
ResourceCodeTooLong = 2037
The resource code is too long.
ResourceGroupTooLong = 2038
The resource group is too long.
ResourceWorkGroupInvalid = 2039
The resource workgroup is not valid.
ResourceTypeInvalid = 2040
The resource type is not valid.
ResourceNonWorkResourceWithEMailInvalid = 2044
A non-working resource cannot have an email address.
rsResourceNameHasTrailingOrLeadingWhitespace = 2046
The resource name has leading or trailing white space.
ResourceCannotDeleteCallingUserAccount = 2047
The user cannot delete his own account.
ResourceInitialsInvalid = 2048
The resource initials are not valid.
ResourceAccrueAtInvalid = 2049
The value for accrual is not valid.
ResourceNonMaterialResourceCannotHaveMaterialLabel = 2050
A non-material resource cannot have a material label.
ResourceMaterialResourceCannotHaveCertainFields = 2051
A material resource cannot have certain fields.
ResourceAvailFromAvailToOverlap = 2052
Overlap of available from and available to dates.
ResourceInvalidEmailLanguage = 2053
The email language is not valid.
ResourceBookingTypeInvalid = 2055
The booking type is not valid.
ResourceCannotReplaceMaterialResourceWithNonMaterialResource = 2056
Cannot replace material resource with non-material resource.
ResourceCannotUpdateEnterpriseResource = 2057
Cannot update enterprise resource.
rsResourceCannotAddLocalWithSameNameAsEnterprise = 2058
Cannot add local resource with the same name as an enterprise resource.
ResourceCannotSetRateOnCostResource = 2059
Cannot set a rate on a cost resource.
ResourceCannotSetRateOnMaterialResource = 2060
Cannot set a rate on a material resource.
ResourceCannotSetCanLevelOnNonWorkResource = 2061
Cannot set the level on a non-work resource.
ResourceCannotDeleteThisUser = 2062
Cannot delete this user.
ResourceCannotDeactivateSelf = 2063
A resource cannot deactivate herself.
ResourceAvailabilityDateRangesOverlap = 2064
Resource availability date ranges overlap.
ResourceAvailabilityOutsideTheHireAndTerminationDateRange = 2065
The resource availability date is outside the hire and termination date range.
ResourceFilterInvalid = 2066
The filter for a resource is not valid.
ResourceSegmentWithThisEffectiveDateDoesNotExist = 2067
Cannot delete a resource rate that has not been saved.
ResourceSegmentWithThisEffectiveDateAlready = 2068
A segment with this effective date already exists.
ResourceUserHasItemCheckedOutToItStill = 2069
The user has an item still checked out.
ResourceInvalidHireDate = 2070
The hire date is not valid.
ResourceInvalidTerminationDate = 2071
The termination date is not valid.
ResourceCannotChangeExistingResourceType = 2072
Cannot change a resource type.
ResourceCannotSetTimesheetManagerOnSpecifiedResource = 2073
Cannot set the timesheet manager on the specified resource.
ResourceInvalidTimesheetManager = 2074
The timesheet manager is not valid.
ResourceInvalidAssignmentOwner = 2075
The assignment owner is not valid.
ResourceCannotCreateCostResource = 2076
Cannot create cost resource.
ResourceInvalidRbsValue = 2077
The RBS value is not valid.
ResourceCannotSetAssignmentOwnerOnSpecifiedResource = 2078
Cannot set assignment owner on the specified resource.
ResourceFieldsInvalidForBudget = 2079
One or more fields for the budget are not valid.
ResourceHyperlinkInvalid = 2080
The resource hyperlink is not valid.
ResourceAuthorizationValidOnlyOnWorkResources = 2081
The authorization is valid only on work resources.
ResourceIsProjectOwner = 2082
Cannot delete resource because resource is the project owner.
ResourceIsTimesheetManager = 2083
Cannot delete resource because resource is the timesheet manager.
ResourceIsDefaultAssignmentOwner = 2084
Cannot delete resource because resource is the default assignment owner.
ResourceIsAssignmentOwner = 2085
Cannot delete resource because resource is the assignment owner.
ResourceIsUsedInResourcePlan = 2086
Cannot delete resource because resource is used in the resource plan.
ResourceCannotDeleteEnterpriseResource = 2087
Cannot delete enterprise resource, for unknown reason.
ResourceSetResourceAuthorizationFailed = 2088
Failed to set resource authorization.
ResourceTooManyResourcesSpecifiedToDelete = 2089
Cannot delete the number of resources specified.
ResourceTooManyResourcesReturned = 2090
The method cannot handle that number of resources.
ResourceCannotDeleteWorkflowProxyUser = 2091
The workflow proxy user cannot be deleted.
ResourceInvalidEmailWithExchangeSync = 2092
The email is not valid for synchronization with Microsoft Exchange Server.
ResourceInvalidResourceTypeWithExchangeSync = 2093
The resource type is not valid for synchronization with Exchange Server.
ResourceInvalidPrincipalNameWithExchangeSync = 2094
The resource principal name is not valid for synchronization with Exchange Server.
ResourceInvalidAuthenticationTypeWithExchangeSync = 2095
The resource authentication type is not valid for synchronization with Exchange Server.
ResourceExchangeSyncFlagAndPrincipalNameMismatch = 2096
Mismatch between the Exchange Server synchronization flag and the principal name for the resource.
ResourceUnsupportedUserUpdateInSharePointSecurityMode = 2097
User creation is unsupported in SharePoint Security Mode.

Table 21. Resource plan

Resource plan error code Description
ResourcePlanProjectPublishIncomplete = 30000
Did not complete publishing the project for the resource plan.
ResourcePlanInvalidResourceType = 30001
The resource type in the resource plan is not valid.
ResourcePlanInactiveResourcesDisallowed = 30002
Inactive resources are not allowed in a resource plan.
ResourcePlanFilterInvalid = 30003
The resource plan filter is not valid.
ResourcePlanSaveFailure = 30004
Failed to save resource plan.
ResourcePlanCheckinFailure = 30005
Failed to check in the resource plan.
ResourcePlanDeleteFailure = 30006
Failed to delete the resource plan.
ResourcePlanInvalidUtilizationType = 30007
The resource plan utilization type is not valid.
ResourcePlanInvalidTimescale = 30008
The resource plan timescale is not valid.
ResourcePlanMismatchedJobList = 30009
Mismatch in resource plan job list.
ResourcePlanAlreadyExists = 30010
Resource plan already exists.
ResourcePlanInvalidProjectUID = 30011
The project GUID for the resource plan is not valid.
ResourcePlanResourceAlreadyExists = 30012
The resource already exists in the resource plan.

The error codes in Table 22 are for Rules methods in the PWA web service. They are used internally.

Table 22. Rules

Rules error code Description
RulesNameTooLong = 21001
The name of the approval rule is too long. Internal use only in Project Web App.
RulesDescriptionTooLong = 21002
The rule description is too long. Internal use only in Project Web App.
RulesInvalidRuleType = 21003
The rule type is not valid. Internal use only in Project Web App.
RulesInvalidConditionType = 21004
The condition type for a rule is not valid. Internal use only in Project Web App.
RulesInvalidOperatorType = 21005
The operator type for a rule is not valid. Internal use only in Project Web App.
RulesInvalidListItemType = 21007
The list item type for a rule is not valid. Internal use only in Project Web App.
RulesNameInvalidCharacters = 21008
There are one or more characters in the rule name that are not valid. Internal use only in Project Web App.
RulesDescriptionInvalidCharacters = 21009
There are one or more characters in the rule description that are not valid. Internal use only in Project Web App.
RulesInvalidValueType = 21010
The value type in the rule is not valid. Internal use only in Project Web App.

Table 23. Security

Security error code Description
SecurityGroupCouldNotBeCreated = 19001
Cannot create security group.
SecurityFieldAccessIDInvalid = 19003
The security field access code identification number is not valid.
SecurityCannotUpdateFacForNonExistentCategory = 19004
Security category does not exist; cannot update the field access code.
SecurityDuplicateCategoryUid = 19005
Duplicate security category GUID.
SecurityDuplicateGroupUid = 19006
Duplicate security group GUID.
SecurityDuplicateTemplateUid = 19007
Duplicate security template GUID.
SecurityInvalidTemplateUidRef = 19008
The security template GUID is not valid.
SecurityInvalidGlobalPermission = 19009
The global security permission is not valid.
SecurityInvalidCategoryPermission = 19010
The security category permission is not valid.
SecurityUpdatedGroupNotFound = 19013
Updated security group not found.
SecurityUpdatedCategoryNotFound = 19014
Updated security category not found.
SecurityUpdatedTemplateNotFound = 19015
Updated security template not found.
SecurityGroupMemberNotFound = 19016
Security group member not found.
SecurityUserNotFound = 19018
Project Server user not found.
SecurityNoCategoryRelationForPermission = 19019
Security category relation not found for the permission.
SecurityCannotDeleteDefaultGroup = 19020
Cannot delete default security group.
SecurityCannotDeleteDefaultCategory = 19021
Cannot delete default security category.
SecurityCategoryCouldNotBeCreated = 19022
Cannot create security category.
SecurityNoCategoryForPermission = 19023
Security category not found for the permission.
SecurityNoCategoryForObject = 19024
Security category not found for the object.
SecurityNoCategoryForRule = 19025
Security category not found for the rule.
SecurityNoGroupForPermission = 19026
Security group not found for the permission.
SecurityCannotSetPermissionForFieldGroup = 19027
Cannot set permission for the security group field.
SecurityInvalidFieldGroup = 19028
The security group field is not valid.
SecurityCannotSetOrgPermission = 19029
Cannot set the security organization permission.
SecurityInvalidOrgPermission = 19030
The security organization permission is not valid.
SecurityInvalidSecurityRule = 19031
The security rule is not valid.
SecurityTemplateNotFound = 19034
Security template not found.
SecurityInvalidObjectType = 19035
The security object type is not valid.
SecurityDuplicateUid = 19036
The security object GUID is a duplicate.
SecurityObjectNotFound = 19037
The security object is not found.
SecurityInvalidCategoryUidRef = 19080
The security category GUID is not valid.
SecurityInvalidProjectUidRef = 19081
The project GUID for the security object is not valid.
SecurityInvalidGroupUidRef = 19082
The security group GUID is not valid.
SecurityInvalidUserUidRef = 19083
The user GUID for the security object is not valid.
SecurityInvalidCategoryPermissionUidRef = 19084
The permission GUID for the security category is not valid.
SecurityInvalidGlobalPermissionUidRef = 19085
The security global permission GUID is not valid.
SecurityInvalidResourceUidRef = 19086
The resource GUID for the security object is not valid.
SecurityDeleteNotSupportedBySetMethod = 19087
The method cannot delete the security object.
SecurityInvalidProjectCategoryPermissionUidRef = 19088
The project category permission GUID is not valid.
SecurityCannotModifyCoreProjectCategoryDataInUpdate = 19089
The security update method cannot modify the core project category data.
SecurityProjectCategoryEntitiesDoNotAllowInPlaceChanges = 19090
Security category entities cannot be changed in an update.
SecurityCategoryCannotAddRelationForDeletedCategory = 19091
Cannot add a relation for a deleted security category.
SecurityCategoryCannotAddPermissionForDeletedCategory = 19092
Cannot add a permission for a deleted security category.
SecurityCategoryCannotAddPermissionForDeletedRelation = 19093
Cannot add a permission for a deleted security category relation.
SecurityCategoryCannotDeleteRelationForNewlyAddedCategory = 19094
Cannot delete the relation for a newly added security category.
SecurityCategoryCannotDeletePermissionForNewlyAddedCategory = 19095
Cannot delete the permission for a newly added security category.
SecurityCategoryCannotDeletePermissionForNewlyAddedRelation = 19096
Cannot delete the permission for a newly added relation in a security category.
SecurityCategoryCannotHaveDuplicateUserOrGroupUidsForRelation = 19097
Cannot have duplicate user or group UIDs for a security category relation.
SecurityCategoryPermissionMustHaveMatchingRelation = 19098
A category permission must have a matching security category relation.
SecurityCategoryProjectAlreadyHasSecurityProjectCategory = 19099
The list of selected categories already has a project security category.

Table 24. Project Server event

Project Server event error code Description
ServerEventInvalidEventId = 19033
The Project Server event identification number is not valid.
ServerEventServiceNotFound = 22003
The Project Server Eventing service is not found. This error is not used in Project Server code, but it maps to a raw Unified Logging Service (ULS) event.
ServerEventRemoteCouldNotReachProxy = 22005
The remote Project Web App could not reach the proxy Project Server event manager. This error is not used in Project Server code, but it maps to a raw ULS event.
ServerEventManagerCouldNotReachRemote = 22006
The Project Server event manager could not reach the remote Project Web App. This error is not used in Project Server code, but it maps to a raw ULS event.
ServerEventHandlerNotSigned = 22007
The Project Server event handler is not signed.
ServerEventHandlerMalformedAssemblyName = 22008
The assembly name for the Project Server event handler is not valid.
ServerEventHandlerOrderInvalid = 22009
The order for the Project Server event handler is not valid.
ServerEventHandlerDuplicateEntry = 22010
Duplicate entry for the Project Server event handler.
ServerEventHandlerNotFound = 22011
Project Server event handler not found.
ServerEventHandlerDuplicateName = 22012
Duplicate name for the Project Server event handler.
ServerEventHandlerNullAssemblyNameAndEndpointUrl = 22013
Validate that there is either an endpoint URL or an assembly name.

Table 25. Statusing web service

Statusing web service error code Description
StatusingInvalidEntity = 3102
The entity for Statusing is not valid.
StatusingGetDataForTaskFailed = 3103
Failed to get data for task status.
StatusingGetTaskOrAssnCntrFailed = 3104
Failed to get task or Assignment Center for status.
StatusingInvalidPIDForProjCntr = 3105
The Statusing property identification number for Project Center is not valid.
StatusingDeleteAssnFailed = 3106
Failed to delete assignment in Statusing process.
StatusingAssnSaveFailed = 3107
Failed to save assignment in Statusing process.
StatusingTaskSaveFailed = 3108
Failed to save task in Statusing process.
StatusingInvalidPID = 3109
The Statusing property identification number is not valid.
StatusingSetDataValueInvalid = 3111
The Statusing data value is not valid.
StatusingSetDataFailed = 3112
Failed to set Statusing data value.
StatusingInvalidDelegationStart = 3113
The start time for an assignment in the DelegateAssignments method is not valid.
StatusingApprovalUpdateFailed = 3114
Failed to update status approval.
StatusingInvalidApprovalType = 3115
The status approval type is not valid.
StatusingInternalError = 3116
Internal processing error in a Statusing method.
StatusingInvalidUpdateData = 3117
The update data in a Statusing method is not valid.
StatusingProjectUpdateFailed = 3118
Statusing update of project failed.
StatusingInvalidPreviewData = 3119
The Statusing preview data is not valid.
StatusingInvalidTransaction = 3120
The Statusing transaction is not valid.
StatusingTooManyResults = 3121
Too many results. More than 5000 rows would be returned when reading timephased status data.
StatusingInvalidInterval = 3122
The interval in a Statusing method is not valid. The interval must in minutes and must be greater than zero.
StatusingApplyUpdatesFailed = 3123
Failed to apply Statusing updates when enqueuing the request.
StatusingApplyUpdatesFailure = 3124
Failed to apply Statusing updates during queue processing.
StatusingInvalidWorkData = 3125
The work data for Statusing is not valid.
StatusingMissingNameAttribute = 3126
Missing name attribute for Statusing.
StatusingInvalidNameAttribute = 3127
The name attribute for Statusing is not valid.
StatusingInvalidData = 3128
The Statusing data is not valid.
StatusingInvalidChangelist = 3130
The XML data is not valid in the changexml parameter of the UpdateStatus method.
StatusingInsufficientAssignmentRights = 3131
SetAssignmentWorkData cannot update an assignment because the user does not have permission.
StatusingInvalidChangeNumber = 3132
The Statusing change number is not valid.
StatusingPidNotEditable = 3133
The Statusing property identification number is not editable.
StatusingCannotSetTimephasedDataInManualTasks = 3134
Cannot set timephased data in manual tasks for Statusing.
StatusingCannotChangeTaskMode = 3135
Cannot change the task mode for Statusing.

The error codes in Table 26 are for StatusReports methods in the PWA web service. They are used internally in Project Web App.

Table 26. StatusReports

Status report error code Description
StatusReportsUnknownError = 12100
Unknown error in StatusReports.
StatusReportsPeriodUnmatched = 12101
Cannot match the status report period.
StatusReportsPeriodUnavailable = 12102
The status report period is unavailable.
StatusReportsInvalidFormInput = 12103
Data in the status report form is not valid.

Table 27. Task

Task error code Description
TaskIDInvalid = 7001
The task GUID is not valid.
TaskNameTooLong = 7003
Task name too long.
TaskTypeInvalid = 7005
The task type is not valid.
TaskPriorityInvalid = 7006
The task priority is not valid.
TaskConstraintTypeInvalid = 7007
The task constraint type is not valid.
TaskNameInvalid = 7008
The task name is not valid.
TaskConstraintTypeRequiresConstraint = 7010
The task requires a constraint type.
TaskConstraintTypeCannotHaveConstraintDate = 7011
Cannot have a constraint date for the type of constraint.
TaskSummaryTaskCannotBeMilestone = 7013
The summary task cannot be a milestone.
TaskFixedCostAccrualInvalid = 7014
The fixed cost accrual for a task is not valid.
TaskPercentCompleteInvalid = 7015
The task percent complete value is not valid.
TaskWorkPercentCompleteInvalid = 7016
The task work percent complete value is not valid.
TaskPhysicalPercentCompleteInvalid = 7017
The task physical percent complete value is not valid.
TaskLinkTypeInvalid = 7018
The task link type is not valid.
TaskAlreadyExists = 7019
The task already exists.
TaskLinkAlreadyExists = 7020
The task link already exists.
TaskNotFound = 7021
Task not found.
TaskLinkNotFound = 7022
Task link not found.
TaskLinkLagInvalid = 7023
The lag time on a task link is not valid.
TaskUnableToInsert = 7025
Cannot insert a task.
TaskAddPositionInvalid = 7026
The add position for a task is not valid.
TaskOutlineLevelInvalid = 7027
The task outline level is not valid.
TaskDurationFormatInvalid = 7028
The task duration format is not valid.
TaskCannotAddWhereSpecified = 7029
Cannot add task where specified.
TaskEarnedValueMethodInvalid = 7030
The method for task earned value is not valid.
TaskCannotModifyProjectSummary = 7031
Cannot modify project summary task.
TaskCannotDeleteProjectSummary = 7032
Cannot delete project summary task.
TaskCannotSetActualCost = 7033
Cannot set actual cost for task.
TaskLevelingDelayInvalid = 7034
The leveling delay for a task is not valid.
TaskCannotEditSummary = 7035
Cannot edit summary task.
TaskCannotCreateSubTasksUnderTasksWithAssignments = 7036
Cannot create subtasks under a task that has assignments.
TaskCannotDeleteSubProject = 7037
Cannot delete subproject for the task.
TaskCannotEditExternal = 7038
Cannot edit external task.
TaskCannotDeleteExternal = 7039
Cannot delete an external task.
TaskLinkCannotDeleteExternal = 7040
Cannot delete a link to an external task.
TaskCannotModifyNullTask = 7041
Cannot modify a null task.
TaskCannotModifyLeafTaskWithNoAssignment = 7042
Cannot modify a leaf task that has no assignment.
TaskCannotModifyExternalTask = 7043
Cannot modify an external task.
TaskStatusManagerInvalid = 7044
The task status manager is not valid.
TaskLinkCyclicDependency = 7045
The task link has a cyclic dependency.
TaskCannotCreateOrModifySubTasksUnderTasksWithAssignments = 7046
Cannot create or modify subtasks under a summary task that has assignments.
TaskLinkCannotEditExternal = 7047
Cannot edit the link to an external task.

Table 28. Timesheet

Timesheet error code Description
TimesheetMaxHourPerDayExceeded = 3201
Exceeded maximum hours per day for timesheet.
TimesheetHoursPerTSLimitExceeded = 3202
Exceeded the limit for number of hours in a timesheet.
TimesheetUnverifiedTSLineNotAllowed = 3203
An unverified timesheet line is not allowed in this case.
TimesheetIncorrectMode = 3204
The timesheet mode is not valid.
TimesheetInvalidApprover = 3205
The timesheet approver is not valid.
TimesheetFutureReportingNotAllowed = 3206
Reporting of future items not allowed for timesheet.
TimesheetIncorrectPeriod = 3208
The timesheet period is not valid.
TimesheetPeriodClosed = 3209
Timesheet period closed.
TimesheetPendingLines = 3210
Timesheet lines are pending.
TimesheetInvalidDateRange = 3211
The timesheet date range is not valid.
TimesheetLineClassDisabled = 3212
The timesheet line class is disabled.
TimesheetLineHasNonExistentItem = 3213
The timesheet line includes an item that does not exist.
TimesheetLineInvalidStatus = 3214
The status for the timesheet line is not valid.

Table 29. User delegation

User delegation error code Description
UserDelegationExpired = 43000
The user delegation has expired.
UserDelegationCannotSelfDelegate = 43001
A user cannot delegate to himself or herself.
UserDelegationInvalidDelegate = 43002
The user delegate is not valid.
UserDelegationInvalidUser = 43003
The user is not valid for delegation.
UserDelegationInvalidDates = 43004
The user delegation dates are not valid.
UserDelegationCannotDoubleDelegate = 43005
Cannot create two delegates.
UserDelegationDelegateCannotLogon = 43006
The user delegate cannot log on to Project Server.
UserDelegationDelegateIsInactive = 43007
The user delegate is inactive.
UserDelegationInvalidFilter = 43008
The user delegate filter is not valid.
UserDelegationUserCannotLogon = 43010
The user cannot log on to Project Server.
UserDelegationUserIsInactive = 43011
The user delegate is inactive.

Table 30. Workflow

Workflow error code Description
WorkflowPhasesCannotCreatePhase = 35000
Cannot create the workflow phase.
WorkflowPhasesCannotUpdatePhase = 35001
Cannot update the workflow phase.
WorkflowPhasesCannotDeletePhase = 35002
Cannot delete the workflow phase.
WorkflowPhaseNameIsRequired = 35003
The workflow PHASE_NAME is required.
WorkflowStagesCannotCreateStage = 35004
Cannot create the workflow stage.
WorkflowStagesCannotUpdateStage = 35005
Cannot update the workflow stage.
WorkflowStagesCannotDeleteStage = 35006
Cannot delete the workflow stage.
WorkflowStagesProjectsInStage = 35007
There are projects in the workflow stage.
WorkflowCannotAccessPDPLibrary = 35008
Cannot access the project detail page library.
WorkflowInvalidPDPUid = 35009
The project detail page GUID is not valid.
WorkflowInvalidCustomFieldUid = 35010
The custom field GUID is not valid.
WorkflowCustomFieldNotWorkflowControlled = 35011
The custom field is not controlled by a workflow.
WorkflowCustomFieldCannotBeRequiredAndReadOnly = 35012
The workflow custom field cannot be both required and read-only.
WorkflowInvalidWorkflowPhaseUid = 35013
The workflow PHASE_UID is not valid.
WorkflowInsertWorkflowPhaseNotAllowed = 35014
Cannot insert a workflow phase.
WorkflowInvalidWorkflowStageUid = 35015
The workflow STAGE_UID is not valid.
WorkflowPhaseHasStages = 35016
The workflow phase has stages.
WorkflowStageNameIsRequired = 35020
The workflow STAGE_NAME is required.
WorkflowStageAtLeastOnePDPIsRequired = 35021
At least one project detail page is required for the workflow stage.
WorkflowCannotStartWorkflow = 35100
Cannot start the workflow.
WorkflowStatusCannotUpdateStatus = 35101
Cannot update the workflow status.
WorkflowOnlyProjectsHaveWorkflow = 35102
Only projects can have a workflow.
WorkflowNoWorkflowsDefined = 35103
No workflows are defined.
WorkflowInvalidStageForProject = 35104
The workflow stage for the project is not valid.
WorkflowNoWorkflowForProject = 35105
The project does not have a workflow.
WorkflowCheckinRequiredAndProjectNotCheckedin = 35106
The project must be checked in for the workflow to operate.
WorkflowWaitingForRequiredData = 35107
The workflow is waiting for required data.
WorkflowFlagCustomFieldsCannotBeRequired = 35108
A flag custom field cannot be required in a workflow.
WorkflowCannotChangeWorkflow = 35109
Cannot change the workflow.
WorkflowWorkflowStatusPDPNotAllowed = 35110
A project detail page for workflow status is not allowed.
WorkflowInvalidWorkflowStatusPDPUid = 35111
The GUID for the workflow status project detail page is not valid.
WorkflowInvalidStageStatusValue = 35112
The value of the workflow stage status is not valid. When you set the stage status within the workflow, only the values InProgressRequestSent, InProgressRunning, or InProgressWaiting in Workflow.StageStatus are allowed.
WorkflowCannotCheckinNotify = 35113
Cannot notify the workflow that the project is checked in.
WorkflowCannotCommitNotify = 35114
Cannot notify the workflow that the project is committed in the Planner or the Optimizer.
WorkflowExceptionStartingWorkflow = 35115
There is an error when starting the workflow.
WorkflowStatusPDPMustBeSupplied = 35116
A project detail page for the workflow status is required.
WorkflowWorkflowProxyAccountNotFound = 35117
The workflow proxy account is not found.
WorkflowInvalidCurrentStage = 35118
The current stage of the workflow is not valid.
WorkflowMultipleStagesInProgress = 35119
There are multiple stages in progress in the workflow.
WorkflowActivityInvalidArgument = 35120
The message that is received if a workflow activity received an invalid.
WorkflowMTWConfigurationError = 35121
Microsoft Azure Workflow configuration error.
EnterpriseProjectTypeInvalidEnterpriseProjectTypeUid = 35200
EnterpriseProjectTypeCannotCreateEnterpriseProjectType = 35201
Cannot create the enterprise project type.
EnterpriseProjectTypeCannotUpdateEnterpriseProjectType = 35202
Cannot update the enterprise project type.
EnterpriseProjectTypeCannotDeleteEnterpriseProjectType = 35203
Cannot delete the enterprise project type.
EnterpriseProjectTypeCannotCreateMultipleEnterpriseProjectTypes = 35204
Cannot create multiple enterprise project types.
EnterpriseProjectTypeCannotUpdateMultipleEnterpriseProjectTypes = 35205
Cannot update multiple enterprise project types.
EnterpriseProjectTypeInvalidCreatePDPUid = 35206
An enterprise project template (EPT) requires an associated project detail page (PDP) to create a project using the EPT. If the EPT is for a workflow, this error occurs during EPT validation when the project detail page (PDP) is not the Create type. Other PDP types are Normal for editing a project and Workflow Status for showing details of a project related to workflow.
EnterpriseProjectTypeInvalidProjectPlanTemplateUid = 35207
EnterpriseProjectTypeInvalidWorkspaceTemplateName = 35208
EnterpriseProjectTypeInvalidWorkflowAssociationUid = 35209
EnterpriseProjectTypeCannotReadWssSettings = 35210
Cannot read the SharePoint settings.
EnterpriseProjectTypeCannotReadWssLanguagesAndTemplates = 35211
Cannot read the SharePoint languages and site templates.
EnterpriseProjectTypeInvalidDepartmentUid = 35212
The DEPARTMENT_UID is not valid.
EnterpriseProjectTypeInvalidUri = 35213
EnterpriseProjectTypeUriRequiresHttp = 35214
The enterprise project type URI requires the HTTP protocol.
EnterpriseProjectTypeCannotDeleteDefault = 35215
Cannot delete the default enterprise project type.
EnterpriseProjectTypeCannotChangeDefault = 35216
Cannot change the default enterprise project type.
EnterpriseProjectTypeHasProjectsCannotDelete = 35217
Cannot delete an enterprise project type that has projects.
EnterpriseProjectTypeCreatePDPIsRequired = 35218
An enterprise project template (EPT) for a workflow requires an associated Create type project detail page (PDP) to create a project using the EPT. This error occurs when the PDP is not included in the EPT definition. Other PDP types are Normal for editing a project and Workflow Status* for showing details of a project related to workflow.
EnterpriseProjectTypeOnlyOneCreatePDPAllowed = 35219
The EPT definition allows only one Create type project detail page.
EnterpriseProjectTypeHasWorkflowOnlyCreatePDPAllowed = 35220
An enterprise project template (EPT) for a workflow requires an associated Create type project detail page (PDP) to create a project using the EPT. This error occurs when the PDP in the workflow EPT definition is of another type. Other PDP types are Normal for editing a project and Workflow Status for showing details of a project related to workflow.
EnterpriseProjectTypeInvalidData = 35221
The WorkflowDataSet for the enterprise project type has data that is not valid.
EnterpriseProjectNoDefaultEnterpriseProjectTypeDefined = 35222
No default enterprise project type is defined.
EnterpriseProjectTypeAtLeastOnePDPIsRequired = 35223
At least one project details page is required for the enterprise project type.
EnterpriseProjectTypeWorkflowStatusPDPNotAllowed = 35224
A project details page for the workflow status is not allowed for the enterprise project type.
EnterpriseProjectTypeCannotChangeWorkflowAssociation = 35225
The project already has an enterprise project type (EPT); you cannot change the EPT for the project.

Table 31. WssInterop and ObjectLinkProvider (SharePoint integration)

SharePoint integration error code Description
WSSCreateSiteFailure = 16400
Failed to create SharePoint site for project workspace.
WSSCannotCreateWebWithBlankName = 16401
Cannot create SharePoint website with a blank name.
WSSWebAlreadyExists = 16402
The SharePoint website already exists.
WSSInvalidProjectUID = 16403
The project GUID is not valid for the SharePoint project workspace.
WSSProjectAlreadyHasSpWeb = 16404
The project already has a SharePoint workspace site.
WSSWebDoesNotExist = 16405
The SharePoint website does not exist.
WSSSpWebAlreadyLinkedToProject = 16406
The SharePoint website is already linked to a project.
WSSWebHierarchyDoesNotExist = 16407
The SharePoint web hierarchy does not exist.
WSSSPWebHasChildren = 16408
The SharePoint web has child webs.
WSSURIInvalidFormat = 16409
The format for a SharePoint web URI is not valid.
WSSSyncReportingDataFailed = 16410
Failed to synchronize reporting data for SharePoint.
WSSWorkspaceUrlPathTooLong = 16411
SharePoint project workspace URL path too long.
WSSWorkspaceNameContainsIllegalChars = 16412
One or more characters in a SharePoint project site name are not valid. The following characters are not valid in a project name: / " : < > | , . ' ? * #
WSSInvalidWssServerUid = 16413
The SharePoint server GUID is not valid.
WSSSyncUsersFailed = 16414
Failed to synchronize Project Server users with SharePoint.
WSSWrongWebTemplateLCID = 16415
The SharePoint web template locale identifier (language ID) is not valid.
WSSWrongWebTemplate = 16416
The SharePoint web template is not valid.
WSSWebIsNotProjectWorkspace = 16417
The SharePoint website is not a project workspace.
WSSWebCannotStartOrEndOnPeriod = 16418
A SharePoint web name cannot start or end with a period.
WSSCannotDeleteSiteCollection = 16419
Cannot delete the website collection.
WSSListUidInvalid = 16420
The SharePoint list GUID is not valid.
WSSSyncDataSetListUidMismatch = 16421
The SharePoint list GUID does not match the list GUID in the synchronizing DataSet.
WSSSyncDataSetMissingProjectSettingsRow = 16422
The DataSet for synchronizing with SharePoint is missing the project settings row.
WSSSyncDataSetTaskMappingsNotAllowed = 16423
Task mappings are not allowed in the DataSet for synchronizing with SharePoint.
WSSSyncDataSetWssListUidEmpty = 16424
The SharePoint list GUID is empty in the DataSet for synchronizing with SharePoint.
WSSSyncDataNotFound = 16425
There is data missing in the synchronization with SharePoint.
WSSSyncCriticalDataValidationError = 16426
There is a critical data validation error in the synchronization with SharePoint.
WSSSyncSharePointListNotAccessibleError = 16427
The SharePoint list is not accessible.
WSSSyncInvalidEntityUids = 16428
The entity GUIDs are not valid for synchronizing with SharePoint.
WSSSyncInvalidSyncData = 16429
SharePoint synchronization has data that is not valid.
WSSSyncSPSummaryTaskAssignedToResourceError = 16430
The SharePoint synchronization has a summary task assigned to a resource.
WSSSyncInsufficientPermissionsToCreateWinUser = 16431
Permissions are not sufficient to create a Windows user when synchronizing with SharePoint.
WSSSyncNoDefaultValueForCustomField = 16432
A custom field does not have a default value in the SharePoint synchronization.
WSSOLPCreateLinkFailure = 18000
Failed to create link for the SharePoint object link provider.
WSSOLPDeleteWebObjectLinkError = 18001
Error deleting a web object link in the SharePoint object link provider.
WSSInvalidPermissionsToWssList = 18002
Permissions are not valid for the SharePoint list.
WSSWebIsNotUnderDefaultCollection = 18003
The SharePoint web is not in the default collection.
WSSWorkspaceUrlIsNotUnderPrimaryCollection = 18004
The specified workspace url is not in the site collection associated with this instance of project server. This is required by the current permission mode.
WSSWorkspacesMustBeRestrictedToDefaultCollection = 18005
Workspaces must be restriced to the default site collection in the current permission mode.

Error code example for ASMX

To get a list of errors if you get an exception when you call a PSI method, pass the SoapException object to the Microsoft.Office.Project.Server.Library.PSClientError class constructor. You can then use GetAllErrors to store the error information in a PSErrorInfo array and enumerate the errors, as in the following example.


The PSErrorInfo object does not include all of the information you might need. For example, if you use Resource.CheckOutResources where one of the resources is already checked out, PSErrorInfo shows the reason for failure for each resource that cannot be checked out, but does not include the resource name or GUID. For a way to get more information in an ASMX-based application, see CheckOutResources.

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.Services.Protocols;
using System.Windows.Forms;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
    /* Call a PSI method. */
catch (SoapException ex)
    string errAttributeName;
    string errAttribute;
    string errMess = "".PadRight(30, '=') + "\r\n" + "Error: " + "\r\n";
    PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);
    PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
    PSLibrary.PSErrorInfo thisError;
    for (int i = 0; i < errors.Length; i++)
        thisError = errors[i];
        errMess += "\n" + ex.Message.ToString() + "\r\n";
        errMess += "".PadRight(30, '=') + "\r\nPSCLientError Output:\r\n \r\n";
        errMess += thisError.ErrId.ToString() + "\n";
        for (int j = 0; j < thisError.ErrorAttributes.Length; j++)
            errAttributeName = thisError.ErrorAttributeNames()[j];
            errAttribute = thisError.ErrorAttributes[j];
            errMess += "\r\n\t" + errAttributeName +
                       ": " + errAttribute;
        errMess += "\r\n".PadRight(30, '=');
    MessageBox.Show(errMess, "Error", MessageBoxButtons.OK,

Error code example for WCF

To get a list of errors if you get a System.ServiceModel.FaultException when you call a PSI method in a WCF-based application, you can extract a PSClientError object from the FaultException object. You can then use GetAllErrors to store the error information in a PSErrorInfo array and enumerate the errors, as in the previous ASMX example.

using System;
using System.Text;
using System.ServiceModel;
using System.Xml;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
    /* Call a PSI method. */
catch(FaultException fault)
    // Use the WCF FaultException, because the ASMX SoapException does not 
    // exist in a WCF-based application.
// Get a PSClientError object from the WCF FaultException object, and
// then display the exception details and each error in the PSClientError stack.
private static void WriteFaultOutput(FaultException fault)
    string errAttributeName;
    string errAttribute;
    string errOut;
    string errMess = "".PadRight(30, '=') + "\r\n"
        + "Error details: " + "\r\n";
    PSLibrary.PSClientError error = GetPSClientError(fault, out errOut);
    errMess += errOut;
    PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
    PSLibrary.PSErrorInfo thisError;
    for (int i = 0; i < errors.Length; i++)
        thisError = errors[i];
        errMess += "\r\n".PadRight(30, '=') + "\r\nPSClientError output:\r\n";
        errMess += thisError.ErrId.ToString() + "\n";
        for (int j = 0; j < thisError.ErrorAttributes.Length; j++)
            errAttributeName = thisError.ErrorAttributeNames()[j];
            errAttribute = thisError.ErrorAttributes[j];
            errMess += "\r\n\t" + errAttributeName
                + ": " + errAttribute;
    Console.ForegroundColor = ConsoleColor.Red;
/// <summary>
/// Extract a PSClientError object from the ServiceModel.FaultException,
/// for use in output of the GetPSClientError stack of errors.
/// </summary>
/// <param name="e"></param>
/// <param name="errOut">Shows that FaultException has more information 
/// about the errors than PSClientError has. FaultException can also contain 
/// other types of errors, such as failure to connect to the server.</param>
/// <returns>PSClientError object, for enumerating errors.</returns>
public static PSLibrary.PSClientError GetPSClientError(FaultException e, 
                                                        out string errOut)
    const string PREFIX = "GetPSClientError() returns null: ";
    errOut = string.Empty;
    PSLibrary.PSClientError psClientError = null;
    if (e == null)
        errOut = PREFIX + "Null parameter (FaultException e) passed in.";
        psClientError = null;
        // Get a ServiceModel.MessageFault object.
        var messageFault = e.CreateMessageFault();
        if (messageFault.HasDetail)
            using (var xmlReader = messageFault.GetReaderAtDetailContents())
                var xml = new XmlDocument();
                var serverExecutionFault = xml["ServerExecutionFault"];
                if (serverExecutionFault != null)
                    var exceptionDetails = serverExecutionFault["ExceptionDetails"];
                    if (exceptionDetails != null)
                            errOut = exceptionDetails.InnerXml + "\r\n";
                            psClientError = 
                                new PSLibrary.PSClientError(exceptionDetails.InnerXml);
                        catch (InvalidOperationException ex)
                            errOut = PREFIX + "Unable to convert fault exception info ";
                            errOut += "a valid Project Server error message. Message: \n\t";
                            errOut += ex.Message;
                            psClientError = null;
                        errOut = PREFIX + "The FaultException e is a ServerExecutionFault, "
                            + "but does not have ExceptionDetails.";
                    errOut = PREFIX + "The FaultException e is not a ServerExecutionFault.";
        else // No detail in the MessageFault.
            errOut = PREFIX + "The FaultException e does not have any detail.";
    errOut += "\r\n" + e.ToString() + "\r\n";
    return psClientError;

In addition to the data in the PSClientError object, the FaultException object can include other types of errors, such as failure to connect to Project Server. The errOut parameter of the GetPSClientError method in the previous example shows additional information. For example, the CreateProject4Department code sample in the QueueCreateProject method includes comments that show how to create errors when setting properties in the ProjectCustomFields table. When the application is run, the errOut parameter includes the errinfo element and other data (formatted here from the console output).

Error details:
<errinfo xmlns="">
  <dataset name="ProjectDataSet">
    <table name="ProjectCustomFields">
      <row CUSTOM_FIELD_UID="976d3bd9-95ff-40a2-a938-960c410b0341">
        <error id="11704" name="CustomFieldInvalidTypeColumnFilledIn" 
        <error id="11713" name="CustomFieldRequiredValueNotProvided" 
ProjectServerError(s) LastError=CustomFieldRequiredValueNotProvided Instructions: 
Pass this into PSClientError constructor to access all error information 
(Fault Detail is equal to SvcProject.ServerExecutionFault).
PSClientError output:
PSClientError output:

See also