Project Server or Project Online: Please don’t use PROJ_UID as a TASK_UID

This post has been republished via RSS; it originally appeared at: Project Support Blog articles.

First published on MSDN on Aug 11, 2016

When creating Projects using PWA or Project Professional each task, and assignment will get a fresh GUID – which is unique.  Usually if using CSOM then new GUIDs would also be generated for each new entity, although it is possible that you can specify a specific GUID to be used.  It is technically possible to use the same GUID that you have used for the plan’s PROJ_UID and set it as a task’s TASK_UID.  However, please don’t.  In Project Web App when editing a plan (changing a custom field or description for example) the code we run on the server is checking to ensure that the GUIDs are all as they should be and finding that a GUID exists that is used for a type it is not expecting (as well as the type it is expecting of course) and you will get an error: An error has occurred when saving your project to the server. Please contact your administrator for assistance.

And in the queue you will find a Failed and Blocking Correlation job for the Project Update from PSI, and the error message will look something like this”

Datasets:

  • ProjectDataSet
    • Table Project
      • Row: PROJ_UID='94a00658-4418-4851-9437-378fc226eb94'
        • Error ProjectNotFound (1000) - column

General
  • Queue:
    • GeneralQueueJobFailed (26000) - ProjectUpdate.ProjectUpdateMessage . Details: id='26000' name='GeneralQueueJobFailed' uid='fae360d7-1560-e611-80ee-001dd8b73698' JobUID='5ac936d4-1560-e611-80ee-001dd8b73698' ComputerName='6f80c7c5-1fd9-447c-aa6d-f60e3e3ab4ec' GroupType='ProjectUpdate' MessageType='ProjectUpdateMessage' MessageId='2' Stage='' CorrelationUID='87df989d-ca7c-e0fd-0000-01df4be1e070'. For more details, check the ULS logs on machine 6f80c7c5-1fd9-447c-aa6d-f60e3e3ab4ec for entries with JobUID 5ac936d4-1560-e611-80ee-001dd8b73698 .

ProjectNotFound is the error returned from our code that is validating that everything GUID-wise is as it should be – and in this case it finds that the GUID used for the plan is also used for one of the tasks.

The best resolution (after stopping using the same GUID in multiple places for any new plans) is to open the affected plan in Project Professional (the desktop client) and delete this task and re-create it – which will get a brand new unique and distinct GUID.  Probably easier to create the new task and then delete the bad one – just so you can see what values you need to set.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.