PwsUpdateProjectCostBaseline

Overview


This web service updates a single project cost baseline based on a detailed project cost baseline detail structure (PwsProjectCostBaselineDetail). The service returns the identity of the project cost baseline (PwsProjectCostBaselineRef) that has been updated. If the FullDetailFlag is set to 'true', the full detailed project cost baseline element (PwsProjectCostBaselineElement) will also be returned in the response.

Request Format


PwsUpdateProjectCostBaseline Request
  • PwsUpdateProjectCostBaseline
    • serviceRequest: PwsUpdateProjectCostBaselineRq
      • RequestId: Int32
      • SessionTicket: String
      • BaselineBucketsClearFlag: Boolean
      • DescriptionClearFlag: Boolean
      • EngagementTimestamp: String **deprecated**
      • ExternalSystemIdentifierClearFlag: Boolean
      • FullDetailFlag: Boolean
      • NewExternalSystemIdentifier: String (50)
      • ProjectCostBaseline: PwsProjectCostBaselineDetail
      • StealEngagementLockFlag: Boolean **deprecated**
      • LocksToSteal: PwsEntityLockSummary[1.100]
      • ProjectorLockSetId: Int32

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.


SessionTicket

String

Yes


Click here for more information.

AUL1Tsqbhar4SWXC5j9T+w==

BaselineBucketsClearFlag

Boolean

No

false

If set to 'true', the baseline buckets are reset to 0.

false

DescriptionClearFlag

Boolean

No

false

If set to 'true', the baseline description is cleared.

false

EngagementTimestamp

String

**deprecated**




ExternalSystemIdentifierClearFlag

Boolean

No

false

If set to 'true', the external system identifier is cleared.

false

FullDetailFlag

Boolean

No

false

If set to true, include full detailed project cost baseline element (PwsProjectCostBaselineElement) in response.

true

NewExternalSystemIdentifier

String (50)

No


The external system identifier is a unique identifier for a project cost baseline (may be null, but once set can only be updated to a different, non-null value).

CB-A

ProjectCostBaseline

PwsProjectCostBaselineDetail

Yes

false

This structure contains the complete set of information about a project cost baseline.


StealEngagementLockFlag

Boolean

**deprecated**




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
<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:PwsUpdateProjectCostBaseline>
         <pws:serviceRequest>
            <req:SessionTicket>AUL1Tsqbhar4SWXC5j9T+w==</req:SessionTicket>
            <sch:BaselineBucketsClearFlag>false</sch:BaselineBucketsClearFlag>
            <sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
            <sch:ExternalSystemIdentifierClearFlag>false</sch:ExternalSystemIdentifierClearFlag>
            <sch:FullDetailFlag>true</sch:FullDetailFlag>
            <sch:NewExternalSystemIdentifier>CB-A</sch:NewExternalSystemIdentifier>
            <sch:ProjectCostBaseline>
               <com:ProjectCostBaselineUid>1152921504607272115</com:ProjectCostBaselineUid>
               <com:ActiveProjectCostBaselineFlag>true</com:ActiveProjectCostBaselineFlag>
               <com:CaMetricActiveFlag>true</com:CaMetricActiveFlag>
               <com:DaMetricActiveFlag>true</com:DaMetricActiveFlag>
               <com:Description>CB-A Update</com:Description>
               <com:EaMetricActiveFlag>true</com:EaMetricActiveFlag>
               <com:PrimaryMetric>C</com:PrimaryMetric>
               <com:ProjectCostBaselineName>CB-A</com:ProjectCostBaselineName>
               <com:ProjectCostBaselineBuckets>
                  <com:PwsProjectCostBaselineBucket>
                     <com:ClientAmount>1000</com:ClientAmount>
                     <com:DisbursedAmount>700</com:DisbursedAmount>
                     <com:EndDate>2018-01-31T00:00:00.000Z</com:EndDate>
                     <com:ExpenseAmount>700</com:ExpenseAmount>
                     <com:ExpenseTypeIdentity>
                        <com:ExpenseTypeName>Meals</com:ExpenseTypeName>
                     </com:ExpenseTypeIdentity>
                     <com:StartDate>2018-01-01T00:00:00.000Z</com:StartDate>
                  </com:PwsProjectCostBaselineBucket>
               </com:ProjectCostBaselineBuckets>
            </sch:ProjectCostBaseline>
            <sch:StealEngagementLockFlag>true</sch:StealEngagementLockFlag>
         </pws:serviceRequest>
      </pws:PwsUpdateProjectCostBaseline>
   </soapenv:Body>
</soapenv:Envelope>
Example 02
<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:PwsUpdateProjectCostBaseline>
         <!--Optional:-->
         <pws:serviceRequest>
            <req:SessionTicket>AipJ4w33vfWBJXooP5yvLg==</req:SessionTicket>
            <!--Optional:-->
            <sch:BaselineBucketsClearFlag>true</sch:BaselineBucketsClearFlag>
            <!--Optional:-->
            <sch:DescriptionClearFlag>true</sch:DescriptionClearFlag>
            <sch:FullDetailFlag>true</sch:FullDetailFlag>
            <sch:ProjectCostBaseline>
               <com:ProjectCostBaselineUid>2305843009214684354</com:ProjectCostBaselineUid>
               <com:ActiveProjectCostBaselineFlag>true</com:ActiveProjectCostBaselineFlag>
               <com:CaMetricActiveFlag>true</com:CaMetricActiveFlag>
               <com:DaMetricActiveFlag>false</com:DaMetricActiveFlag>
               <com:Description>Client Amount Cost Baseline-Test3</com:Description>
               <com:EaMetricActiveFlag>false</com:EaMetricActiveFlag>
               <com:PrimaryMetric>C</com:PrimaryMetric>
               <com:ProjectCostBaselineName>Client Amount Budget-3</com:ProjectCostBaselineName>
               <com:ProjectCostBaselineBuckets>
                  <com:PwsProjectCostBaselineBucket>
                     <com:ClientAmount>2000</com:ClientAmount>
                     <com:EndDate>2018-01-31T00:00:00.000Z</com:EndDate>
                     <com:ExpenseTypeIdentity>
                        <com:ExpenseTypeName>Meals</com:ExpenseTypeName>
                     </com:ExpenseTypeIdentity>
                     <com:StartDate>2018-01-01T00:00:00.000Z</com:StartDate>
                  </com:PwsProjectCostBaselineBucket>
                  <com:PwsProjectCostBaselineBucket>
                     <com:ClientAmount>2000</com:ClientAmount>
                     <com:EndDate>2018-02-28T00:00:00.000Z</com:EndDate>
                     <com:ExpenseTypeIdentity>
                        <com:ExpenseTypeName>Meals</com:ExpenseTypeName>
                     </com:ExpenseTypeIdentity>
                     <com:StartDate>2018-02-01T00:00:00.000Z</com:StartDate>
                  </com:PwsProjectCostBaselineBucket>
               </com:ProjectCostBaselineBuckets>
            </sch:ProjectCostBaseline>
         </pws:serviceRequest>
      </pws:PwsUpdateProjectCostBaseline>
   </soapenv:Body>
</soapenv:Envelope>

Response Format


PwsUpdateProjectCostBaseline 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.

0

Status

RequestStatus

Click here for more information.

Ok

ServerTimestampUtc

DateTime

Click here for more information.

2018-03-01T18:48:25.5474807Z

EngagementLockStolenFromUserIdentity

PwsUserRef

**deprecated**


EngagementTimestamp

String

**deprecated**


ProjectCostBaseline

PwsProjectCostBaselineElement

This structure contains the complete set of information about a project cost baseline.


ProjectCostBaselineIdentity

PwsProjectCostBaselineRef

This structure represents the unique key fields associated with identifying a project cost baseline.


CostBaselineTimestampStringThis 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.AAAAABFFCOw=
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>
      <PwsUpdateProjectCostBaselineResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsUpdateProjectCostBaselineResult 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/">0</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-03-01T18:48:25.5474807Z</ServerTimestampUtc>
            <a:EngagementLockStolenFromUserIdentity i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <a:EngagementTimestamp>AAAAAA64Kvc=</a:EngagementTimestamp>
            <a:ProjectCostBaseline xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:Basis>N</b:Basis>
               <b:CreatedByUser>
                  <b:UserDisplayName>Jack Spratt</b:UserDisplayName>
                  <b:UserId i:nil="true"/>
                  <b:UserReferenceSystemId>E123</b:UserReferenceSystemId>
                  <b:UserUid>1152921504607011056</b:UserUid>
                  <b:EmailAddress>jack@revcorp.bb</b:EmailAddress>
                  <b:FirstName>Jack</b:FirstName>
                  <b:LastName>Spratt</b:LastName>
                  <b:MiddleName i:nil="true"/>
               </b:CreatedByUser>
               <b:CreatedTimestamp>2018-03-01T18:17:21.45Z</b:CreatedTimestamp>
               <b:Dimension>E</b:Dimension>
               <b:EndDate>2018-03-31T00:00:00Z</b:EndDate>
               <b:EngagementTimestamp>AAAAAA64Kvc=</b:EngagementTimestamp>
               <b:LastUpdatedByUser>
                   <b:UserDisplayName>Jack Spratt</b:UserDisplayName>
                  <b:UserId i:nil="true"/>
                  <b:UserReferenceSystemId>E123</b:UserReferenceSystemId>
                  <b:UserUid>1152921504607011056</b:UserUid>
                  <b:EmailAddress>jack@revcorp.bb</b:EmailAddress>
                  <b:FirstName>Jack</b:FirstName>
                  <b:LastName>Spratt</b:LastName>
                  <b:MiddleName i:nil="true"/>
               </b:LastUpdatedByUser>
               <b:LastUpdatedTimestamp>2018-03-01T18:48:19.923Z</b:LastUpdatedTimestamp>
               <b:ProjectCostBaselineBucketDateIntervals>
                  <b:PwsDateInterval>
                     <b:EndDate>2017-12-31T00:00:00Z</b:EndDate>
                     <b:StartDate i:nil="true"/>
                  </b:PwsDateInterval>
                  <b:PwsDateInterval>
                     <b:EndDate>2018-01-31T00:00:00Z</b:EndDate>
                     <b:StartDate>2018-01-01T00:00:00Z</b:StartDate>
                  </b:PwsDateInterval>
                  <b:PwsDateInterval>
                     <b:EndDate>2018-02-28T00:00:00Z</b:EndDate>
                     <b:StartDate>2018-02-01T00:00:00Z</b:StartDate>
                  </b:PwsDateInterval>
                  <b:PwsDateInterval>
                     <b:EndDate>2018-03-31T00:00:00Z</b:EndDate>
                     <b:StartDate>2018-03-01T00:00:00Z</b:StartDate>
                  </b:PwsDateInterval>
                  <b:PwsDateInterval>
                     <b:EndDate i:nil="true"/>
                     <b:StartDate>2018-04-01T00:00:00Z</b:StartDate>
                  </b:PwsDateInterval>
               </b:ProjectCostBaselineBucketDateIntervals>
               <b:ProjectCostBaselineDetail>
                  <b:ExternalSystemIdentifier>CB-A</b:ExternalSystemIdentifier>
                  <b:ProjectCostBaselineId i:nil="true"/>
                  <b:ProjectCostBaselineUid>1152921504607272115</b:ProjectCostBaselineUid>
                  <b:ActiveProjectCostBaselineFlag>true</b:ActiveProjectCostBaselineFlag>
                  <b:CaMetricActiveFlag>true</b:CaMetricActiveFlag>
                  <b:DaMetricActiveFlag>true</b:DaMetricActiveFlag>
                  <b:Description>CB-A Update</b:Description>
                  <b:EaMetricActiveFlag>true</b:EaMetricActiveFlag>
                  <b:PrimaryMetric>C</b:PrimaryMetric>
                  <b:ProjectCostBaselineName>CB-A</b:ProjectCostBaselineName>
                  <b:ProjectCostBaselineBuckets>
                     <b:PwsProjectCostBaselineBucket>
                        <b:ClientAmount>1000</b:ClientAmount>
                        <b:DisbursedAmount>700</b:DisbursedAmount>
                        <b:EndDate>2018-01-31T00:00:00Z</b:EndDate>
                        <b:ExpenseAmount>700</b:ExpenseAmount>
                        <b:ExpenseTypeGroupIdentity i:nil="true"/>
                        <b:ExpenseTypeIdentity>
                           <b:ExpenseTypeId i:nil="true"/>
                           <b:ExpenseTypeName>Meals</b:ExpenseTypeName>
                           <b:ExpenseTypeUid>1152921504606878415</b:ExpenseTypeUid>
                        </b:ExpenseTypeIdentity>
                        <b:StartDate>2018-01-01T00:00:00Z</b:StartDate>
                     </b:PwsProjectCostBaselineBucket>
                  </b:ProjectCostBaselineBuckets>
                  <b:Timestamp>AAAAAA64Kv8=</b:Timestamp>
               </b:ProjectCostBaselineDetail>
               <b:StartDate>2018-01-01T00:00:00Z</b:StartDate>
               <b:TimePhase>M</b:TimePhase>
            </a:ProjectCostBaseline>
            <a:ProjectCostBaselineIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ExternalSystemIdentifier>CB-A</b:ExternalSystemIdentifier>
               <b:ProjectCostBaselineId i:nil="true"/>
               <b:ProjectCostBaselineUid>1152921504607272115</b:ProjectCostBaselineUid>
            </a:ProjectCostBaselineIdentity>
            <a:CostBaselineTimestamp>AAAAAA64Kv8=</a:CostBaselineTimestamp>
            <a:StolenLocks xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
         </PwsUpdateProjectCostBaselineResult>
      </PwsUpdateProjectCostBaselineResponse>
   </s:Body>
</s:Envelope>
Example 02
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsUpdateProjectCostBaselineResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsUpdateProjectCostBaselineResult 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/">
               <b:PwsMessage>
                  <b:AdditionalErrorText>Message 136: This request was executed against the QA [appqa.projectorpsa.com] environment.</b:AdditionalErrorText>
                  <b:ErrorCode>NonProductionEnvironment</b:ErrorCode>
                  <b:ErrorNumber>136</b:ErrorNumber>
                  <b:ErrorText>This web service request was executed against a non-production instance of Projector.</b:ErrorText>
                  <b:Type>Information</b:Type>
                  <b:ReferenceId1 i:nil="true"/>
                  <b:ReferenceId2 i:nil="true"/>
               </b:PwsMessage>
            </Messages>
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">0</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2020-05-04T18:02:27.6580464Z</ServerTimestampUtc>
            <a:EngagementLockStolenFromUserIdentity i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <a:EngagementTimestamp>AAAAAB9J55E=</a:EngagementTimestamp>
            <a:ProjectCostBaseline xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:Basis>N</b:Basis>
               <b:CreatedByUser>
                  <b:UserDisplayName>Luke Morrison, P. Eng.</b:UserDisplayName>
                  <b:UserId i:nil="true"/>
                  <b:UserReferenceSystemId>LSM</b:UserReferenceSystemId>
                  <b:UserUid>2305843009213878555</b:UserUid>
                  <b:EmailAddress>luke@plc.com</b:EmailAddress>
                  <b:FirstName>Luke</b:FirstName>
                  <b:LastName>Morrison</b:LastName>
                  <b:MiddleName i:nil="true"/>
               </b:CreatedByUser>
               <b:CreatedTimestamp>2020-05-04T18:02:06.257Z</b:CreatedTimestamp>
               <b:Dimension>E</b:Dimension>
               <b:EndDate i:nil="true"/>
               <b:EngagementTimestamp>AAAAAB9J55E=</b:EngagementTimestamp>
               <b:LastUpdatedByUser>
                  <b:UserDisplayName>Luke Morrison, P. Eng.</b:UserDisplayName>
                  <b:UserId i:nil="true"/>
                  <b:UserReferenceSystemId>LSM</b:UserReferenceSystemId>
                  <b:UserUid>2305843009213878555</b:UserUid>
                  <b:EmailAddress>luke@plc.com</b:EmailAddress>
                  <b:FirstName>Luke</b:FirstName>
                  <b:LastName>Morrison</b:LastName>
                  <b:MiddleName i:nil="true"/>
               </b:LastUpdatedByUser>
               <b:LastUpdatedTimestamp>2020-05-04T18:02:27.65Z</b:LastUpdatedTimestamp>
               <b:ProjectCostBaselineBucketDateIntervals/>
               <b:ProjectCostBaselineDetail>
                  <b:ExternalSystemIdentifier i:nil="true"/>
                  <b:ProjectCostBaselineId i:nil="true"/>
                  <b:ProjectCostBaselineUid>2305843009214684354</b:ProjectCostBaselineUid>
                  <b:ActiveProjectCostBaselineFlag>true</b:ActiveProjectCostBaselineFlag>
                  <b:CaMetricActiveFlag>true</b:CaMetricActiveFlag>
                  <b:DaMetricActiveFlag>false</b:DaMetricActiveFlag>
                  <b:Description i:nil="true"/>
                  <b:EaMetricActiveFlag>false</b:EaMetricActiveFlag>
                  <b:PrimaryMetric>C</b:PrimaryMetric>
                  <b:ProjectCostBaselineName>Client Amount Budget-3</b:ProjectCostBaselineName>
                  <b:ProjectCostBaselineBuckets/>
                  <b:Timestamp>AAAAAB9J55o=</b:Timestamp>
                  <b:UserDefinedFields/>
               </b:ProjectCostBaselineDetail>
               <b:StartDate i:nil="true"/>
               <b:TimePhase>M</b:TimePhase>
            </a:ProjectCostBaseline>
            <a:ProjectCostBaselineIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ExternalSystemIdentifier i:nil="true"/>
               <b:ProjectCostBaselineId i:nil="true"/>
               <b:ProjectCostBaselineUid>2305843009214684354</b:ProjectCostBaselineUid>
            </a:ProjectCostBaselineIdentity>
            <a:CostBaselineTimestamp>AAAAAB9J55o=</a:CostBaselineTimestamp>
            <a:StolenLocks i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
         </PwsUpdateProjectCostBaselineResult>
      </PwsUpdateProjectCostBaselineResponse>
   </s:Body>
</s:Envelope>


PwsUpdateProjectCostBaseline - Common Errors and Warnings


ErrorNumber

ErrorCode

ErrorText

34001

InvalidValueForProjectCostBaselineBasis

The value specified for cost baseline basis is invalid. Valid values are P for Cost Plan and N for None.

34003InvalidValueForProjectCostBaselineDimensionThe value specified for cost baseline dimension is invalid. Valid values are E for Expense Type, G for Expense Type Group, and N for None.
54518SpecifiedProjectBaselineBucketDatesInvalidThe specified bucket dates for a project baseline bucket are invalid.
54879SpecifiedProjectCostBaselineNotFoundSpecified project cost baseline was not found.
54883ProjectCostBaselineRefRequiredA project cost baseline must be specified.
54991NoPermissionToUpdateProjectBaselineYou do not have appropriate permissions to update this project baseline.