3

I'm trying to update Status information on assignments via Statusing Web Service (PSI). Problem is, that the results are not as expected. I'll try to explain what I'm doing in detail:

Two cases:

1) An assignment for the resource exists on specified tasks. I want to report work actuals (update status).

2) There is no assignment for the resource on specified tasks. I want to create the assignment and report work actuals.

I have one task in my project (Auto scheduled, Fixed work). Resource availability of all resources is set to 100%. They all have the same calendar.

  • Name: Task 31 - Fixed Work
  • Duration: 12,5 days?
  • Start: Thu 14.03.13
  • Finish: Tue 02.04.13
  • Resource Names: Resource 1
  • Work: 100 hrs

First I execute an UpdateStatus with the following ChangeXML

<Changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Proj ID="a8a601ce-f3ab-4c01-97ce-fecdad2359d9">
    <Assn ID="d7273a28-c038-486b-b997-cdb2450ceef5" ResID="8a164257-7960-4b76-9506-ccd0efabdb72">
      <Change PID="251658250">900000</Change>
    </Assn>
  </Proj>
</Changes>

Then I call a SubmitStatusForResource

client.SubmitStatusForResource(new Guid("8a164257-7960-4b76-9506-ccd0efabdb72"), null, "auto submit PSIStatusingGateway");

The following entry pops up in approval center (which is as I expected it):

Status Update; Task 31; Task update; Resource 1; 3/20/2012; 15h; 15%; 85h

Update in Project (still looks fine):

  • Task Name: Task 31 - Fixed Work
  • Duration: 12,5 days?
  • Start: Thu 14.03.13
  • Finish: Tue 02.04.13
  • Resource Names: Resource 1
  • Work: 100 hrs
  • Actual Work: 15 hrs
  • Remaining Work: 85 hrs

Then second case is executed: First I create a new assignment...

client.CreateNewAssignmentWithWork(
                            sName: Task 31 - Fixed Work,
                            projGuid: "a8a601ce-f3ab-4c01-97ce-fecdad2359d9",
                            taskGuid: "024d7b61-858b-40bb-ade3-009d7d821b3f",
                            assnGuid: "e3451938-36a5-4df3-87b1-0eb4b25a1dab",
                            sumTaskGuid: Guid.Empty,
                            dtStart: 14.03.2013 08:00:00,
                            dtFinish: 02.04.2013 15:36:00,
                            actWork: 900000,
                            fMilestone: false,
                            fAddToTimesheet: false,
                            fSubmit: false,
                            sComment: "auto commit...");

Then I call the UpdateStatus again:

<Changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Proj ID="a8a601ce-f3ab-4c01-97ce-fecdad2359d9">
    <Assn ID="e3451938-36a5-4df3-87b1-0eb4b25a1dab" ResID="c59ad8e2-7533-47bd-baa5-f5b03c3c43d6">
      <Change PID="251658250">900000</Change>
    </Assn>
  </Proj>
</Changes>

And finally the SubmitStatusForResource again

client.SubmitStatusForResource(new Guid("c59ad8e2-7533-47bd-baa5-f5b03c3c43d6"), null, "auto submit PSIStatusingGateway");

This creates the following entry in approval center:

Status Update; Task 31 - Fixed Work; New reassignment request; Resource 2; 3/20/2012; 15h; 100%; 0h

I accept it and update my project:

  • Name: Task 31 - Fixed Work
  • Duration: 6,76 days?
  • Start: Thu 14.03.13
  • Finish: Mon 25.03.13
  • Resource Names: Resource 1;Resource 2
  • Work: 69,05 hrs
  • Actual Work: 30 hrs
  • Remaining Work: 39,05 hrs

And I really don't get, why the new work would be 69,05 hours. The results I expected would have been:

  • Name: Task 31 - Fixed Work
  • Duration: 6,76 days?
  • Start: Thu 14.03.13
  • Finish: Mon 25.03.13
  • Resource Names: Resource 1;Resource 2
  • Work: 65 hrs
  • Actual Work: 30 hrs
  • Remaining Work: 35 hrs

I've spend quite a bunch of time, trying to find out, how to update the values to get the results that I want. I really would appreciate some help. This makes me want to rip my hair out!

Thanks in advance

PS: Forgot to say that I'm working with MS Project Server 2010 and MS Project Professional 2010

Kiran
  • 20,167
  • 11
  • 67
  • 99
bricaro
  • 31
  • 3
  • Hm... seems that I could narrow down this odd (at least for me) behaviour a bit... it looks like it has something to do with the order I approve the updates. I'll post again, when I confirmed my suspicions. – bricaro Mar 21 '12 at 12:54
  • Keep in mind that Assignments are different then tasks: when you create your second assignment, for example you are adding another 15 hours of actual work to the task, for 30 total. You can play around with some of this directly in MS PRoject and get some sense of a lot of the math that is going on when you add another assignment after a task already has actual work. – Jamie F Mar 21 '12 at 15:44
  • @JamieF: Thank you for the hint. You are right. Playing around directly in MS Project is helpful as I get a feeling for what's happening if I add/remove an assignment or set a new finish date etc. – bricaro Mar 22 '12 at 10:11

0 Answers0