PwsSaveContractLineItemMilestone

Overview


This web service inserts or updates a single contract line item milestone based on a detailed contract line item milestone structure (PwsContractLineItemMilestoneDetail). The service returns the identity (PwsContractLineItemMilestoneRef) of the contract line item milestone that has been inserted or updated. 

Request Format


PwsSaveContractLineItemMilestone Request
  • PwsSaveContractLineItemMilestone

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.

1

SessionTicket

String

Yes


Click here for more information.

AdDMw48w49OxnEUPGUuMSw==

AchievedDateClearFlag

Boolean

No

false

If 'true', the milestone's achieved date will be cleared.

false

ContractLineItemMilestone

PwsContractLineItemMilestoneDetail

Yes


The detailed contract line item milestone information to be inserted or updated.


DescriptionClearFlag

Boolean

No

false

If set to 'true', the contract line item milestone description will be set to null.

false

EngagementCurrencyIdentity

PwsCurrencyRef

Yes


The currency of the engagement this contract line item milestone resides under.


EngagementTimestamp

String

**deprecated**




PlannedDateClearFlag

Boolean

No

false

If set to 'true', the milestone planned date will be set to null.

false

ProjectClearFlag

Boolean

No

false

If set to 'true', the project associated with the contract line item milestone will be set to null.

false

ProjectTaskClearFlag

Boolean

No

false

If set to 'true', the project task associated with the contract line item milestone will be set to null.

false

StealLockFlag

Boolean

**deprecated**




ContractLineItemTimestampStringNo
This is an optimistic locking timestamp that, if provided on update request, will cause the request to fail when the timestamp stored in the database does not match the provided value.
LocksToStealPwsEntityLockSummary[1.100]No
The detailed information of the locks that are to be stolen. If not specified, the request will fail if any requested locks are already held. If specified, the information supplied must exactly match the current state of existing locks or the attempt to steal the existing locks will fail. Typically, this service is invoked with LocksToSteal empty or null. If there are existing locks, they will be returned in the LockHolders member of PwsFault. This data can then be sent, as is, back to the server in a second invocation of this service, as LocksToSteal, if the caller desires to steal the locks.
ProjectorLockSetIdInt32No
A projector lock set id is an identifier for a group of one or more locks held as a unit.

Request Usage Example(s)


Example 01 - insert - not associated with a project
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveContractLineItemMilestone>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AdDMw48w49OxnEUPGUuMSw==</req:SessionTicket>
            <sch:AchievedDateClearFlag>false</sch:AchievedDateClearFlag>
            <sch:ContractLineItemMilestone>
               <com:ContractLineItemIdentity>
                  <com:ContractLineItemCode>P001320-CL8</com:ContractLineItemCode>
               </com:ContractLineItemIdentity>
               <com:ContractLineItemMilestoneName>P001320-CL8-M1</com:ContractLineItemMilestoneName>
               <com:MilestoneAmount>1551.50</com:MilestoneAmount>
               <com:PlannedDate>2018-01-30T00:00:00.000Z</com:PlannedDate>
               <com:Description>Milestone 1</com:Description>
               <com:ForegoneFlag>false</com:ForegoneFlag>
            </sch:ContractLineItemMilestone>
            <sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
            <sch:EngagementCurrencyIdentity>
               <com:CurrencyCode>USD</com:CurrencyCode>
            </sch:EngagementCurrencyIdentity>
            <sch:PlannedDateClearFlag>false</sch:PlannedDateClearFlag>
            <sch:ProjectClearFlag>false</sch:ProjectClearFlag>
            <sch:ProjectTaskClearFlag>false</sch:ProjectTaskClearFlag>
            <sch:StealLockFlag>true</sch:StealLockFlag>
         </pws:serviceRequest>
      </pws:PwsSaveContractLineItemMilestone>
   </soapenv:Body>
</soapenv:Envelope>
Example 02 - insert - associated with a project and task
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveContractLineItemMilestone>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AdDMw48w49OxnEUPGUuMSw==</req:SessionTicket>
            <sch:AchievedDateClearFlag>false</sch:AchievedDateClearFlag>
            <sch:ContractLineItemMilestone>
               <com:ContractLineItemIdentity>
                  <com:ContractLineItemCode>P001320-CL8</com:ContractLineItemCode>
               </com:ContractLineItemIdentity>
               <com:ContractLineItemMilestoneName>P001320-CL8-M1</com:ContractLineItemMilestoneName>
               <com:MilestoneAmount>1551.50</com:MilestoneAmount>
               <com:Description>Milestone 1</com:Description>
               <com:ForegoneFlag>false</com:ForegoneFlag>
               <com:ProjectIdentity>
                  <com:ProjectCode>P001320-004</com:ProjectCode>
               </com:ProjectIdentity>
               <com:ProjectTaskIdentity>
                  <com:ProjectTaskUid>1152921504608716773</com:ProjectTaskUid>
               </com:ProjectTaskIdentity>
            </sch:ContractLineItemMilestone>
            <sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
            <sch:EngagementCurrencyIdentity>
               <com:CurrencyCode>USD</com:CurrencyCode>
            </sch:EngagementCurrencyIdentity>
            <sch:PlannedDateClearFlag>false</sch:PlannedDateClearFlag>
            <sch:ProjectClearFlag>false</sch:ProjectClearFlag>
            <sch:ProjectTaskClearFlag>false</sch:ProjectTaskClearFlag>
            <sch:StealLockFlag>true</sch:StealLockFlag>
         </pws:serviceRequest>
      </pws:PwsSaveContractLineItemMilestone>
   </soapenv:Body>
</soapenv:Envelope>
Example 03 - update
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveContractLineItemMilestone>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AdDMw48w49OxnEUPGUuMSw==</req:SessionTicket>
            <sch:AchievedDateClearFlag>false</sch:AchievedDateClearFlag>
            <sch:ContractLineItemMilestone>
               <com:ContractLineItemMilestoneUid>1152921504607106677</com:ContractLineItemMilestoneUid>
               <com:ContractLineItemIdentity>
                  <com:ContractLineItemCode>P001320-CL8</com:ContractLineItemCode>
               </com:ContractLineItemIdentity>
               <com:ContractLineItemMilestoneName>P001320-CL8-M2</com:ContractLineItemMilestoneName>
               <com:MilestoneAmount>2000.00</com:MilestoneAmount>
               <com:Description>Milestone 1A</com:Description>
               <com:ForegoneFlag>false</com:ForegoneFlag>
            </sch:ContractLineItemMilestone>
            <sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
            <sch:EngagementCurrencyIdentity>
               <com:CurrencyCode>USD</com:CurrencyCode>
            </sch:EngagementCurrencyIdentity>
            <sch:PlannedDateClearFlag>false</sch:PlannedDateClearFlag>
            <sch:ProjectClearFlag>false</sch:ProjectClearFlag>
            <sch:ProjectTaskClearFlag>false</sch:ProjectTaskClearFlag>
            <sch:StealLockFlag>true</sch:StealLockFlag>
         </pws:serviceRequest>
      </pws:PwsSaveContractLineItemMilestone>
   </soapenv:Body>
</soapenv:Envelope>

Response Format


PwsSaveContractLineItemMilestone Response

Response Elements


Element

Data Type

Description

Sample Data

Messages

PwsMessage[]

The web service response status and message. Click here for more information.


ResponseId

Int32

Click here for more information.

1

Status

RequestStatus

Click here for more information.

Ok

ServerTimestampUtc

DateTime

Click here for more information.

2018-01-22T19:30:03.4141326Z

ContractLineItemMilestoneIdentity

PwsContractLineItemMilestoneRef

The unique keys used to identify the contract line item milestone.


EngagementTimestamp

String

**deprecated**


LockStolenFromUserIdentity

PwsUserRef

**deprecated**


ContractLineItemTimestampStringThis is an optimistic locking timestamp that, if provided on update request, will cause the request to fail when the timestamp stored in the database does not match the provided value.
StolenLocksPwsEntityLockSummaryThis structure contains information about the locks that were stolen in order to complete this request, Will be included only when LocksToSteal is specified in the request.

Response Usage Example(s)


Example 01
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveContractLineItemMilestoneResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveContractLineItemMilestoneResult xmlns:a="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">1</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-01-22T19:30:03.4141326Z</ServerTimestampUtc>
            <a:ContractLineItemMilestoneIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ContractLineItemMilestoneId i:nil="true"/>
               <b:ContractLineItemMilestoneUid>1152921504607106677</b:ContractLineItemMilestoneUid>
            </a:ContractLineItemMilestoneIdentity>
            <a:EngagementTimestamp>AAAAAA9/798=</a:EngagementTimestamp>
            <a:LockStolenFromUserIdentity i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
         </PwsSaveContractLineItemMilestoneResult>
      </PwsSaveContractLineItemMilestoneResponse>
   </s:Body>
</s:Envelope>

PwsSaveContractLineItemMilestone - Common Errors and Warnings

ErrorNumber

ErrorCode

ErrorText

33001

ContractLineItemMilestoneDescriptionMayNotBeSpecifiedWhenClearFlagSet

Contract Line Item Milestone Description was specified when Clear Flag Was Set.

33002ContractLineItemMilestonePlannedDateMayNotBeSpecifiedWhenClearFlagSetContract Line Item Milestone Planned Date was specified when Clear Flag Was Set.
33003ContractLineItemMilestoneAchievedDateMayNotBeSpecifiedWhenClearFlagSetContract Line Item Milestone Acheived Date was specified when Clear Flag Was Set.
54260ContractLineItemMilestoneNotFoundSpecified contract line item milestone not found.
54261ContractLineItemMilestoneRequiredA contract line item must be specified.
54976CannotClearAchievedDateOnInvoicedMilestoneAchieved date may not be cleared for milestones that are on an invoice.
54977CannotForegoInvoicedMilestoneAchieved milestones may not be marked as foregone.
54978NoPermissionToMaintainMilestonesYou do not have permission to maintain milestones.
54979MilestonProjectMismatchSpecified project task does not belong to specified project.
54981CannotLinkMilestoneToInternalOrOpenTaskMilestones cannot be linked to tasks that are open for time or that are parent tasks.
54982CannotLinkMilestoneToTaskWithAssignedRoleMilestones cannot be linked to tasks that have roles assigned.
54983ProjectTaskSpecifiedWithoutProjectTask may not be specified when no project is specified.
54986ContractLineItemMilestoneNameInUseThere is already a milestone in the specified contract line item with the specified name.
55002BillingMilestonesInvalidOnNonbillableEngagementsBilling milestones can only be associated with contract line items on billable engagements.
55112CannotDisableDtmDueToMilestoneOrWatchedTasksDTM cannot be disabled for this project because there are tasks that are either associated with milestones or are being watched