![]() |
| |||
| Hello, I am using the ERP Connector for integration with an ERP system that is not SAP. I need to update the status of project tasks to indicate that the finish date has changed. The basis of the change is actually quantity completed information from the ERP system but my code will calculate a new finish date to be updated to the task. My questions are: 1. Project server is not used as the Timesheet system so I am not looking at TimephasedActuals related examples or concepts. Am I correct in this assumption? 2. Should I be using the task uid and resource uid to select an assignment and be updating that assignment? Or can I accomplish what I want by statusing the Task only? 3. What is the difference between the ProjectDataset available in the Project Server and the ProjectDataset available in the Statusing service? 4. What could possibly go wrong with the update? That is, will the scheduling engine 'automagically' push out all related task/assignment dates? Or does this need to be kicked off by my code. 5. The ERP Connector has a pretty robust synchronization pattern that includes checkin, publish and approvals. This is accomplished by delta DataSet management and updating the Project on Project Server by submitting the changed dataset to the appropriate PSI service. Should I be looking at an update by means of an xml string change to a single row such as is demonstrated in the TimePhased (Timesheet) sdk examples? Thanks for your help on any one or all of these questions, Kimball |
| Sponsored links |
| |
| |||
| I'm continuing to look at this. Would this method be correct? Statusing.SetAssignmentWorkData Method (WebSvcStatusing) I'm looking at the page found here: Statusing.SetAssignmentWorkData Method (WebSvcStatusing) which contains this code: Code: #region Create updates to assignments
//Create ChangeXML.
StringBuilder changeXml = new StringBuilder();
changeXml.AppendFormat("<Changes><Proj ID=\"{0}\">", projectUid.ToString());
changeXml.AppendFormat("<Assn ID=\"{0}\">", assn.ToString());
changeXml.AppendFormat("<Change><ActualWork>{0}</ActualWork>", 60 * 1000 * 8); //8 hours
changeXml.AppendFormat("<RemainingWork>{0}</RemainingWork>", 60 * 1000 * 24); //16 hours
changeXml.AppendFormat("<TotalWork>{0}</TotalWork>", 60 * 1000 * 24); //24 hours
changeXml.AppendFormat("<Comments>{0}</Comments>", "I started this early because I didn't have enough to do"); //comments are added to the Task Note
changeXml.AppendFormat("<Status>{0}</Status>", "Early");
changeXml.AppendFormat("<StatusGuid>{0}</StatusGuid>", "00001441-3cf6-4710-b877-2e17914fa97c");
changeXml.Append("</Change></Assn></Proj></Changes>");
Console.WriteLine("Updating Status");
#endregion
#region Update Status
statusingSvc.SetAssignmentWorkData(changeXml.ToString());
#endregion
Kimball |
| ||||
| Take a look at How to: Generate ChangeXML for Statusing Updates
__________________ Stephen Sanderlin Founder/Owner - EPMFAQ VP of Technology - MSProjectExperts Microsoft Project MVP If you found this message useful, please click the Thanks button in the post! This electronic message, along with any information, advice, and opinions it contains, are mine alone and are not representative of my employer. All information is provided in "GOOD FAITH" and on an "AS IS" basis only. I provide no presentations or warranties, express or implied, including implied warranties of fitness for a particular purpose, merchantability, title, and noninfringement. I strongly advise you to extensively test any changes, workarounds, or techniques described herein on a development system prior to implementation in a production environment, and you are hereby notified that I bear no responsibility whatsoever for any loss, harm, or otherwise negative outcomes resulting from your actions, whether or not said actions were a result of this electronic message, directly or indirectly. |
![]() |
| Tags |
| assignment, erp connector, statusing, task |
| Thread Tools | |
| Display Modes | |
|
|