Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 (PwsProjectCostBaselineElementPwsProjectCostBaselineRef) that has been inserted or updated. 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


Panel
titlePwsUpdateProjectCostBaseline Request
  • PwsUpdateProjectCostBaseline
    • serviceRequest: PwsUpdateProjectCostBaselineRq
      • RequestId: Int32
      • SessionTicket: String
      • BaselineBucketsClearFlag: Boolean
      • DescriptionClearFlag: Boolean
      • EngagementTimestamp: String
      • ExternalSystemIdentifierClearFlag: Boolean
      • FullDetailFlag: Boolean
      • NewExternalSystemIdentifier: String
      • ProjectCostBaseline: PwsProjectCostBaselineDetail
      • StealEngagementLockFlag: Boolean

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

 

 

 

No


This is a Base64 encoded timestamp utilized for engagement locking. To protect against overwriting other changes, you may optionally echo back the timestamp returned by a call to PwsSaveEngagement (or a prior call to PwsSaveEngagement). This will cause the request to fail if any change has been made between invocations of PwsGetEngagement and PwsSaveEngagement. 


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

 

 

 

 

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

  

No

 

 

false

If set to 'true', any locks on the engagement will be stolen if it is currently locked, otherwise, if it is set to 'false' and a lock is in place the service will fail

true

Request Usage Example(s)


Code Block
languagexml
titleExample 01
collapsetrue
<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>



Response Format


Panel
titlePwsUpdateProjectCostBaseline 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

 

 

EngagementTimestamp

String

 

 

ProjectCostBaseline

PwsProjectCostBaselineElement

 

 

ProjectCostBaselineIdentity

PwsProjectCostBaselineRef

 

 

...

If a lock is stolen in the process of updating an engagement, this identifies the user from which the lock was stolen from


EngagementTimestamp

String

This is a Base64 encoded timestamp utilized for engagement locking. To protect against overwriting other changes, you may optionally echo back the timestamp returned by a call to PwsSaveEngagement (or a prior call to PwsSaveEngagement). This will cause the request to fail if any change has been made between invocations of PwsGetEngagement and PwsSaveEngagement.


ProjectCostBaseline

PwsProjectCostBaselineElement

This structure contains the complete set of information about a project cost baseline (less any subordinate entities)


ProjectCostBaselineIdentity

PwsProjectCostBaselineRef

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


Response Usage Example(s)


Code Block
languagexml
titleExample 01
collapsetrue
<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>


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.
34005SpecifyUpToOneDimensionInBaselineBucketMore than one dimension specified in Baseline Bucket.
34006StartDateLaterThanEndDateStart Date specified is later than End Date.
34010BaselineMustHaveAtLeastOneMetricBaseline must have at least one metric.
34011PrimaryMetricNotAvailableSpecified primary metric is not listed as active metric in baseline.
34014NewExternalSystemIdentifierMayNotBeSpecifiedWhenClearFlagSetNew External System Identifier may not be specified when clear flag is set.
34015BaselineDescriptionMayNotBeSpecifiedWhenClearFlagSetBaseline Description may not be specified when clear flag is set.
34016BaselineBucketsMayNotBeProvidedWhenClearFlagSetBaseline Buckets may not be provided when clear flag is set.
54195InvalidValueForPrimaryMetricAn invalid value was specified for project baseline primary metric.
54286AtLeastOneBaselineMetricMustBeActiveAt least one metric must be made active.
54292PrimaryBaselineMetricMustBeEnabledPrimary baseline metrics must be an enabled metric in the baseline.
54489BaselineDimensionMismatchA value for a dimension that does not match the project baseline's dimension setting was specified.
54490BudgetValueSpecifiedForInactiveMetricA budget value was specified for a metric that is not active in the project baseline.
54517NegativeBudgetAmountSpecifiedForProjectBaselineProject baselines may not contain negative budgeted amounts.
54518SpecifiedProjectBaselineBucketDatesInvalidThe specified bucket dates for a project baseline bucket are invalid.
54519DuplicateKeyFoundInBaselineBucketsDuplicate key found in specified baseline buckets.
54520ProjectBaselineNameAlreadyInUseThe specified project baseline name is already in use.
54526ProjectBaselineExternalSystemIdentifierAlreadyInUseThe specified project baseline external system identifier is already in use.
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.
55139BaselineBelongsToDifferentProjectBaseline belongs to a different project than the one being updated.
55140NoPermissionToSetActiveBaselinesNo permission to switch active baselines.