Submitting time-phased updates to tasks via PSI

M

Mike

Question about submitting updates to tasks via the PSI - Basically, we are
synching up data (tasks, assignments, and time-phased actuals) from an
outside source to create a MSP 2007 Plan. The Project is created
successfully, as are the tasks and assignments (using enterprise resources).
However, attempting to push timephased actual hours into the plan results in
sporadic updates being dropped or ignored.

Here it fails with oh-so-helpful "unhandled exception error" (change xml
that it failed on listed below)
2:00:56 PM : Failed to update status for: 15eea254-deda-4ebc-a74a-7c0c3ccf80aa
2:00:56 PM : System.Web.Services.Protocols.SoapException:
ProjectServerError(s) LastError=GeneralUnhandledException Instructions:
Pass this into PSClientError constructor to access all error information
at
Microsoft.Office.Project.Server.WebService.Statusing.SetAssignmentWorkData(String changeXML)
2:00:56 PM :
<Changes><Proj ID="2b6d182c-4438-42db-8ce2-fd5cae7693f3">
<Assn ID="15eea254-deda-4ebc-a74a-7c0c3ccf80aa">
<PeriodChange>
<ActualWork Start="2008-04-08T12:00:00"
End="2008-04-08T14:00:00">120000</ActualWork>
</PeriodChange></Assn></Proj></Changes>


Here, 37 seconds later in the processing job, the exact same assignment does
successfully accept a status update, for the same amount of time, on a period
4 days later:
2:01:33 PM : Assignment period updated:
2:01:33 PM :
<Changes><Proj ID="2b6d182c-4438-42db-8ce2-fd5cae7693f3">
<Assn ID="15eea254-deda-4ebc-a74a-7c0c3ccf80aa">
<PeriodChange>
<ActualWork Start="2008-04-14T12:00:00"
End="2008-04-14T14:00:00">120000</ActualWork>
</PeriodChange></Assn></Proj></Changes>


Futher complicating the issue, when I use the SetAssignmentWorkData method,
the results are not consistent. It appears to be dropping certain timesheets
(if I go into PWA and view the assignments transaction comments, the do not
show any updates for the days being dropped. However, the XML success
submissions DO show up in the log as being given to the system - sometimes
even without erroring out, they just get ignored.) These ignored timesheets
seem scattered throughout (not isolated to only the first or last instances -
in one instance they were smack in the middle of the assignments duration)

As an illustration, the following XML gets ignored.
<Changes><Proj ID="7e909e1d-5e47-47a1-963c-c6bcb1f029f3">
<Assn ID="5d0c9cab-4453-4242-82d8-638c549c206a">
<PeriodChange><ActualWork Start="2008-04-14T12:00:00"
End="2008-04-14T14:00:00">120000</ActualWork>
</PeriodChange></Assn></Proj></Changes>


These, however, are ok.
<Changes><Proj ID="7e909e1d-5e47-47a1-963c-c6bcb1f029f3">
<Assn ID="5d0c9cab-4453-4242-82d8-638c549c206a">
<PeriodChange><ActualWork Start="2008-04-11T12:00:00"
End="2008-04-11T14:00:00">120000</ActualWork>
</PeriodChange></Assn></Proj></Changes>

<Changes><Proj ID="7e909e1d-5e47-47a1-963c-c6bcb1f029f3">
<Assn ID="5d0c9cab-4453-4242-82d8-638c549c206a">
<PeriodChange><ActualWork Start="2008-04-21T12:00:00"
End="2008-04-21T14:00:00">120000</ActualWork>
</PeriodChange></Assn></Proj></Changes>

(Below is the log from the PWA - you can see it skipped the work on the
14th, but accepted the other two. As an added bonus, for this same task,
other assignments DID accept time that day (Apr 14th), just this particular
assignment did not)
Actual Work On 4/8/2008 → 2h
Actual Work On 4/9/2008 → 3h
Actual Work On 4/10/2008 → 2h
Actual Work On 4/11/2008 → 2h
Actual Work On 4/16/2008 → 2h
Actual Work On 4/17/2008 → 2h

I've tried two different methods to push timephased actual hours into the
plan, and using both methods produces sporadic results with an "unhandled
exception error" on some submissions, and ignoring updates on other
submissions.
This happens using the statusing service, and both the
UpdateStatus(changeXml) method, and the SetAssignmentWorkData(changeXml)
methods. Any thoughts on why this is occurring?
 
M

Mike

Oh I did - all it came back with was "unhandled exception error", OR, no
errors, and just skipped the update.
 
M

Maik

Hi Mike,

have you tried the PID no. instead of ActualWork ?

( PID no. from ->
PSLibrary.AssnConstID.s_apid_actual_work.ToString(System.Globalization.CultureInfo.InvariantCulture))

like this:
<Changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Proj ID="14f1e6b7-ed05-4dc6-a02e-ddbda497609c">
<Assn ID="d4b04845-c8fa-4db4-b193-e084875a17dc">
<PeriodChange PID="251658250" Start="2008-09-18T00:00:00"
End="2008-09-18T23:59:00">480000</PeriodChange>
</Assn>
</Proj>
</Changes>

this ChangeXML string works fine for me.

Greets
Maik
 
M

Mike

Yes, I used that as a template - when I formatted it incorrectly earlier in
the process, it gave me a specific error telling me that. most of the time
it does work (I'm pushing over ~1500 hours or so, maybe 50 hours get dropped,
the rest push fine)

Maik, I believe I tried it both way, and saw issues using a PID also.
although, as I recall, using your method never saw hours mysteriously drop,
but I saw more frequent "unhandled exception" errors popping up.

Is there a way to dig deeper into that exception on Proj Server itself
perhaps? I tried enabling logging, but that didn;t seem to work, but I may
not have done it right - I should revisit that.
 
S

Stephen Sanderlin

Try going into Central Administration-Operations-Diagnostic Logging and
set the "All" category to the maximum and retry. You'll have to scan
through a lot of data, so I recommend that you repro the error, wait 4
minutes to let the logger write all the data out (the log can lag when
it's set to the max), and reset the diagnostic logging settings to their
defaults. Then, check the ULS and Event logs. Hopefully something should
show up.

--

Stephen Sanderlin

Principal Consultant

MSProjectExperts



For Project Server Consulting: http://www.msprojectexperts.com

For Project Server Training: http://www.projectservertraining.com



Read my blog at: http://www.projectserverhelp.com/

Join the community at: http://forums.epmfaq.com
 
S

Subramanian Vasudevan

Hi Stephen,

We are facing the exact same problem as outlined above by Mike. Some updates
are going through and some are not. I have analysed the ULS logs and come
across the exact error message logged. Here it is. I hope you can shed some
light on this problem.

I parsed the ULS logs and this is what I got, seemingly some Unique
constraint is being violated somewhere.

----------------------------------------------------

12/08/2008 11:56:33.72 w3wp.exe (0x0720)
0x106C Project Server Project Server - General

0 Medium PWA:http://aurexchedge/pwa, SSP:SharedServices1,
User:AURIGOBLR\axacc, PSI: Statusing.UpdateStatus

Undefined Attributes: PSError: GeneralUnhandledException Undefined
attributes list: System.ArgumentException: These columns don't currently have
unique values. at
System.Data.ConstraintCollection.AddUniqueConstraint(UniqueConstraint
constraint) at
System.Data.ConstraintCollection.Add(Constraint constraint, Boolean
addUniqueWhenAddingForeign) at
System.Data.DataTable.set_PrimaryKey(DataColumn[] value) at
Microsoft.Office.Project.Server.DataAccessLayer.Generated.StatusingDalBase.CreateSavedTask(Nullable`1 p0, Nullable`1 p1, Nullable`1 p2)
at
Microsoft.Office.Project.Server.BusinessLayer.Statusing.CreateSavedTask(PlatformContext context, DalDataAccess dataaccess,
ISvrDocEdi... f8d4c922-a9da-412b-8deb-c105ba2926ec

----------------------------------------------------
 
S

Subramanian Vasudevan

Hi Mike,

I seem to have found a workaround that maybe you can use for resolving this
issue.

After a status update on the assignment thats throwing a problem, you open
the project in Project Professional and include the 'Publish' Column in the
Gannt View. For the parent task of the assignment, set it to No. Save and
publish the project. Then set it back to Yes and save and Publish the Project.

Now try the second status update (that used to throw the Exception) and it
should succeed this time. It works for me. Try it and get back if it succeeds
for you too. For more info:

http://www.microsoft.com/communitie...b5fd871a79df&lang=en&cr=US&sloc=en-us&m=1&p=1

Best Regards,

Subramanian
 
S

Subramanian Vasudevan

Hi Stephen,

I seem to have found a workaround that maybe ppl can use for resolving this
issue.

After a status update on the assignment thats throwing a problem, you open
the project in Project Professional and include the 'Publish' Column in the
Gannt View. For the parent task of the assignment, set it to No. Save and
publish the project. Then set it back to Yes and save and Publish the Project.

Now try the second status update (that used to throw the Exception) and it
should succeed this time. It works for me, but I'm searching for a more
permanent fix. For more info:

http://www.microsoft.com/communitie...b5fd871a79df&lang=en&cr=US&sloc=en-us&m=1&p=1

Best Regards,

Subramanian
 
S

Subramanian Vasudevan

Hi Stephen,

Can you please tell me where to find the 'Publish' field for a task in the
ProjectDataSet? I'm trying to turn off publishing for a particular task
through the PSI. I'm able to see it in Project Professional.

Thanks and regards,

Subramanian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top