AssignmentUidInvalid Error on UpdateStatus() RRS feed

  • Question

  • Hello,

    we want to update actual work via statusing.UpdateStatus(changeXML) for specific assignments.

    For this purpose we built a changeXML that includes ResID (equally ResUID of assignment owner) and call UpdateStatus with this changeXML. Now, everything goes fine for administrators, i.e. they can update the status and submit it to project afterwards for themselves or other resources. Just for some other users (which do possess the StatusBrokerPermission) we get an "AssignmentUIDInvalid" exception. But the assignment UID is valid, ie. there are in fact assignments with that UID. 

    My guess is, that the AssignmentUIDInvalid exception just wrapped some other problem which I can't figure out. Maybe it's a permission problem? 

    Would be great if you have some advice how to track down this issue. As the source code of the PSI implementation is not made public I don't know what could have caused this error, but my instinct tells me that it has nothing to do with our code - it still works fine for administrator users.

    Thank you very much, Tom

    Monday, February 4, 2013 4:31 PM

All replies

  • Addition:

    Tried the same changeXML with the ChangeXML utility from Project SDK 2010 which gave me the same error. The ResID equals the assignment owner which is in this case equal to the uid of the assigned resource. But this resource is not shown in the list of resources I can make status updates for in the ChangeXML utility, it is an enterprise resource that cannot logon to PWA. 

    Hence my question: Are status updates only possible for enterprise resources that can log on to project?

    Thank you again, Tom

    Monday, February 4, 2013 4:52 PM
  • Addition 2:

    Ok, I digged a bit deeper, ran SQL Profiler on the database system.

    There I saw that the PSI executes the stored proc "MSP_DATAEDIT_GET_ASSIGNMENTSAVED_DATA" of the project draft database, but with the given proj and assignment uid this yields no rows in return. If we execute MSP_DATAEDIT_GET_ASSIGNMENT_DATA, we get the correct assignment. So there must be some corruption between the two table MSP_ASSIGNMENTS_SAVED and MSP_ASSIGNMENTS. But those tables are not documented in any way. So what could the problem be? It is obviously not a permission problem.

    Thank you again, Tom

    Tuesday, February 5, 2013 3:43 PM
  • Hey Tom,

    you can only submit status updates for users which can log on to project. To be more specific, the "Default Assignment Owner" of a resource must be a valid project account that can log on to project. 

    Btw, the "AssignmentUidInvalid" error will also be thrown if the corresponding task is set to publish no.


    Wednesday, February 6, 2013 5:57 AM
  • Hey Maik,

    Thank you for your response! :)

    We've experienced something differenct. In fact for us it is possible to update and submit status for users that can't log on to project. We've done that several times and it always worked out well. But this time it has to be something with the task/project itself. Since we created another project and assigned the problematic resource to a task and we could submit status updates for this resource on that other project. In addition, the resource has itself as assignment owner in both projects, so that shouldn't be the problem.

    We checked your second hint as well but the tasks are all set to publish 'yes' in both projects. 

    What else could make a difference for assignments to be saved in the ASSIGNMENTS_SAVED table when publishing the project?

    Best regards, Tom

    Wednesday, February 6, 2013 2:04 PM