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.
Then I 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.
Today, 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, Tom