Overview
This web service inserts a single project cost baseline based on a detailed project cost baseline structure (PwsProjectCostBaselineDetail). A project cost baseline is the basis for a budget. A baseline can be very simple - this project cannot have costs of more than $5000. Or very complex - this project has a senior sales rep and a junior sales rep. Each is budgeted a specific amount of money per diem. The service returns the identity of the project cost baseline (PwsProjectCostBaselineRef) that has been inserted. The caller can optionally request that the full project cost baseline detail (PwsProjectCostBaselineElement) be included in the response.
...
Panel | ||
---|---|---|
| ||
|
...
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. | AXoSoNYPC/IRu5ISV3f2Ew== | |
ActualsCutoffDate | DateTime | No | The actuals cut off date for the project cost baseline. Currently, this is not used in any way, but is present for future use. | 2018-03-31T00:00:00.000Z | |
Basis | String | Yes | The project cost baseline basis. This is used to determine how to populate the initial baseline buckets. For example, if the basis is specified as 'P', the initial budget values will be set based on the project's current cost plan. This should be one of: "P" for project cost plan "N" for none (buckets specified manually within the ProjectCostBaseline structure) | N | |
Dimension | String | Yes | The project cost baseline dimension. The dimension identifies how the budget is to be broken up. For example, a budget with a dimension of 'E' allows for a budget number to be specified for each expense type available on the project. This should be one of: "N" for none "E" for expense type "G" for expense type group | E | |
EngagementTimestamp | String | **deprecated** | |||
FullDetailFlag | Boolean | No | false | If set to 'true', the full detailed project cost baseline element will be included in the response | true |
IntervalCount | Int32 | Yes | The interval count or number of buckets of the project cost baseline. This applies for time phases other than 'N' (None). Leave NULL for non time-phased budgets. | 2 | |
ProjectCostBaseline | Yes | Details of the project cost baseline to be created. This structure identifies important properties of the baseline, such as the baseline name, which metrics are active and which one is the primary metric. It also contains, when Basis is "N", the individual baseline buckets, broken out by the selected dimension and time phase. | |||
ProjectIdentity | Yes | The project to which the cost baseline should be added. | |||
StartDate | DateTime | Yes | The overall start date of the project cost baseline. Leave NULL for non time-phased baselines. | 2018-01-01T00:00:00.000Z | |
StealEngagementLockFlag | Boolean | **deprecated** | |||
TimePhase | String | Yes | The time phase associated with the project cost baseline: "N" for none "D" for daily "W" for weekly "H" for hourly "M" for monthly "Q" for quarterly "Y" for yearly | M | |
LocksToSteal | PwsEntityLockSummary[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. | ||
ProjectTimestamp | String | No | 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. | AAAAAA62D3k= | |
ProjectorLockSetId | Int32 | No | A projector lock set id is an identifier for a group of one or more locks held as a unit. If the session ticket owner for this request is also the holder of a lock in this set, the response will succeed. |
Request Usage Example(s)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<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:PwsCreateProjectCostBaseline> <pws:serviceRequest> <req:RequestId>1</req:RequestId> <req:SessionTicket>AXoSoNYPC/IRu5ISV3f2Ew==</req:SessionTicket> <sch:ActualsCutoffDate>2018-03-31T00:00:00.000Z</sch:ActualsCutoffDate> <sch:Basis>N</sch:Basis> <sch:Dimension>E</sch:Dimension> <sch:FullDetailFlag>true</sch:FullDetailFlag> <sch:IntervalCount>2</sch:IntervalCount> <sch:ProjectCostBaseline> <com:ActiveProjectCostBaselineFlag>true</com:ActiveProjectCostBaselineFlag> <com:CaMetricActiveFlag>true</com:CaMetricActiveFlag> <com:DaMetricActiveFlag>false</com:DaMetricActiveFlag> <com:Description>Client Amount Cost Baseline</com:Description> <com:EaMetricActiveFlag>false</com:EaMetricActiveFlag> <com:PrimaryMetric>C</com:PrimaryMetric> <com:ProjectCostBaselineName>Client Amount Budget</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>Per Diem</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>Per Diem</com:ExpenseTypeName> </com:ExpenseTypeIdentity> <com:StartDate>2018-02-01T00:00:00.000Z</com:StartDate> </com:PwsProjectCostBaselineBucket> </com:ProjectCostBaselineBuckets> </sch:ProjectCostBaseline> <sch:ProjectIdentity> <com:ProjectCode>P001407-001</com:ProjectCode> </sch:ProjectIdentity> <sch:StartDate>2018-01-01T00:00:00.000Z</sch:StartDate> <sch:StealEngagementLockFlag>false</sch:StealEngagementLockFlag> <sch:TimePhase>M</sch:TimePhase> </pws:serviceRequest> </pws:PwsCreateProjectCostBaseline> </soapenv:Body> </soapenv:Envelope> |
...
Panel | ||
---|---|---|
| ||
|
...
Element | Data Type | Description | Sample Data |
---|---|---|---|
Messages | The web service response status and message. Click here for more information. | ||
ResponseId | Int32 | Click here for more information | 1 |
Status | Click here for more information. | Ok | |
ServerTimestampUtc | DateTime | Click here for more information | 2018-01-29T21:55:08.7579802Z |
EngagementLockStolenFromUserIdentity | **deprecated** | ||
EngagementTimestamp | String | **deprecated** | AAAAAA62DGw= |
ProjectCostBaseline | The complete set of information about the project cost baseline. Specify FullDetailFlag = true in request to get this value returned in the response. | ||
ProjectCostBaselineIdentity | The unique keys used to identify the project cost baseline | ||
ProjectTimestamp | String | 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. | AAAAABFFCOw= |
StolenLocks | PwsEntityLockSummary | This 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. |
...
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. |
34003 | InvalidValueForProjectCostBaselineDimension | The value specified for cost baseline dimension is invalid. Valid values are E for Expense Type, G for Expense Type Group, and N for None. |
34005 | SpecifyUpToOneDimensionInBaselineBucket | More than one dimension specified in Baseline Bucket. |
34007 | ParametersIgnoredForTimePhaseNone | Time Phase Parameters StartDate and IntervalCount are ignored when Time Phase specified as N for None. |
34010 | BaselineMustHaveAtLeastOneMetric | Baseline must have at least one metric. |
34013 | NoBucketsSpecifiedOnUnseededBaselineCreation | No buckets were specified on baseline creation with no basis/seed. |
34015 | BaselineDescriptionMayNotBeSpecifiedWhenClearFlagSet | Baseline Description may not be specified when clear flag is set. |
34016 | BaselineBucketsMayNotBeProvidedWhenClearFlagSet | Baseline Buckets may not be provided when clear flag is set. |
50024 | EntityNotFound | Entity PwsExpenseTypeRef was not found. |
50469 | EntityAlreadyLocked | One or more existing locks prevent acquisition of requested lock |
50472 | LockReleased | Lock xxxxx of type P has been released. |
50473 | InvalidLock | Invalid lock specified. |
54195 | InvalidValueForPrimaryMetric | An invalid value was specified for project baseline primary metric. |
54284 | CannotUseThisServiceToUpdateBaselines | This service can be used to create new baselines only, not to update an existing baseline. |
54285 | BaselineNameIsRequired | A baseline name is required. |
54286 | AtLeastOneBaselineMetricMustBeActive | At least one metric must be made active. |
54292 | PrimaryBaselineMetricMustBeEnabled | Primary baseline metrics must be an enabled metric in the baseline. |
54324 | InvalidValueSpecifiedForBasisDimensionOrTimephase | An invalid value was specified for basis, dimension or time phase when creating a project baseline. |
54483 | StartDateOrIntervalCountSpecifiedForNonTimephasedBaseline | Non-timephased baselines must not have a start date or an interval count other than zero. |
54484 | StartDateAndIntervalCountRequiredForTimephasedBaseline | Timephased baselines require a start date and a positive interval count. |
54488 | NoPermissionToCreateProjectBaseline | You do not have appropriate permissions to create this project baseline. |
54489 | BaselineDimensionMismatch | A value for a dimension that does not match the project baseline's dimension setting was specified. |
54490 | BudgetValueSpecifiedForInactiveMetric | A budget value was specified for a metric that is not active in the project baseline. |
54517 | NegativeBudgetAmountSpecifiedForProjectBaseline | Project baselines may not contain negative budgeted amounts. |
54518 | SpecifiedProjectBaselineBucketDatesInvalid | The specified bucket dates for a project baseline bucket are invalid. |
54519 | DuplicateKeyFoundInBaselineBuckets | Duplicate key found in specified baseline buckets. |
54520 | ProjectBaselineNameAlreadyInUse | The specified project baseline name is already in use. |
54526 | ProjectBaselineExternalSystemIdentifierAlreadyInUse | The specified project baseline external system identifier is already in use. |
54795 | InvalidArgumentsToPwsGetBaselineBucketDateIntervals | Invalid arguments have been specified to this service. |
54991 | NoPermissionToUpdateProjectBaseline | You do not have appropriate permissions to update this project baseline. |
55140 | NoPermissionToSetActiveBaselines | No permission to switch active baselines. |