Overview
This web service inserts a single project time baseline based on a detailed project time baseline structure (PwsProjectTimeBaselineDetail). A project time baseline is the basis for a budget. A baseline can be very simple - this project must be completed within 100 hours. Or very complex - this project has three tasks and each task cannot cost the client more than $3,000 every week. This help document guides you through the baseline creation process. The service returns the identity of the project time baseline (PwsProjectTimeBaselineRef) that has been inserted. The caller can optionally request that the full project time baseline detail (PwsProjectTimeBaselineElement) be included in the response.
Request Format
- PwsCreateProjectTimeBaseline
- serviceRequest: PwsCreateProjectTimeBaselineRq
- RequestId: Int32
- SessionTicket: String
- ActualsCutoffDate: DateTime
- Basis: String
- Dimension: String
- EngagementTimestamp: String **deprecated**
- FullDetailFlag: Boolean
- IntervalCount: Int32
- ProjectIdentity: PwsProjectRef
- ProjectTimeBaseline: PwsProjectTimeBaselineDetail
- StartDate: DateTime
- StealEngagementLockFlag: Boolean
- TimePhase: String
- LocksToSteal: PwsEntityLockSummary[1.100]
- ProjectorLockSetId: Int32
- RateTaskTimestamp: String
- serviceRequest: PwsCreateProjectTimeBaselineRq
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 | ||
ActualsCutoffDate | DateTime | No | The actuals cutoff date for the project time baseline. This is used when you specify a basis of 'A' or 'B', and specifies the cutoff point after which scheduled (booked or requested) hours are used to populate the budget buckets instead of actuals. | ||
Basis | String | Yes | The project time baseline basis. This is used to determine how to populate the initial baseline buckets. For example, if the basis is specified as 'S', the initial budget values will be set based on the hours currently scheduled on the project (or the financial amounts associated with those hours, depending upon the selected metric(s)). This should be one of: "T" for task plan "R" for resource requested hours "P" for resource previously requested hours "S" for resource scheduled hours "A" for approved and currently requested hours "B" for approved and currently booked hours "N" for none (buckets specified manually within the ProjectTimeBaseline structure) | ||
Dimension | String | Yes | The project time baseline dimension. The dimension identifies how the budget is to be broken up. For example, a budget with a dimension of 'R' allows for a budget number to be specified for each role on the project. This should be one of: "M" for rate type "K" for task type "D" for resource department "T" for resource title "R" for role "S" for resource "N" for none | ||
EngagementTimestamp | String | **deprecated** | |||
FullDetailFlag | Boolean | No | false | If set to 'true', the full detailed project time baseline element will be included in the response | |
IntervalCount | Int32 | Yes | The interval count or number of buckets of the project time baseline. This applies for time phases other than 'N' (None). Leave NULL for non time-phased budgets. | ||
ProjectIdentity | Yes | The project to which the time baseline should be added | |||
ProjectTimeBaseline | Yes | Details of the project time 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. | |||
StartDate | DateTime | Yes | The overall start date of the project time baseline. Leave NULL for non time-phased baselines. | ||
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 | |
TimePhase | String | Yes | The time phase associated with the project time baseline: "N" for none "D" for daily "W" for weekly "H" for hourly "M" for monthly "Q" for quarterly "Y" for yearly | ||
LocksToSteal | PwsEntityLockSummary | 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. | ||
ProjectorLockSetId | Int32 | No | A projector lock set id is an identifier for a group of one or more locks held as a unit. | ||
RateTaskTimestamp | 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. |
Request Usage Example(s)
Response Format
- PwsCreateProjectTimeBaselineResponse
- PwsCreateProjectTimeBaselineResult: PwsCreateProjectTimeBaselineRs
- Messages: PwsMessage[]
- ResponseId: Int32
- Status: RequestStatus
- ServerTimestampUtc: DateTime
- EngagementLockStolenFromUserIdentity: PwsUserRef **deprecated**
- EngagementTimestamp: String **deprecated**
- ProjectTimeBaseline: PwsProjectTimeBaselineElement
- ProjectTimeBaselineIdentity: PwsProjectTimeBaselineRef
- RateTaskTimestamp: String
- StolenLocks: PwsEntityLockSummary
- PwsCreateProjectTimeBaselineResult: PwsCreateProjectTimeBaselineRs
Response Elements
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** | |
ProjectTimeBaseline | The complete set of information about the project time baseline. Specify FullDetailFlag = true in request to get this value returned in the response. | ||
ProjectTimeBaselineIdentity | The unique keys used to identify the project time baseline | ||
RateTaskTimestamp | 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. |
Response Usage Example(s)
PwsCreateProjectTimeBaseline - Common Errors and Warnings
- For all errors and warnings please refer to the Complete List of Errors and Warnings
ErrorNumber | ErrorCode | ErrorText |
---|---|---|
34000 | InvalidValueForProjectTimeBaselineBasis | The value specified for time baseline basis is invalid. Valid values are T for Task Plan, R for Resource Requests, P for Previous Resource Requests, S for Scheduled Resources, A for Approved And Current Requested, B for Approved And Current Booked, and for None. |
34002 | InvalidValueForProjectTimeBaselineDimension | The value specified for time baseline dimension is invalid. Valid values are M for Rate Type, K for Task Type, D for Resource Department, T for Resource Title, R for Role, S for Resource, and N for None. |
34004 | InvalidValueForBaselineTimePhase | The value specified for baseline time phase is invalid. Valid values are D for Daily, W for Weekly, H for Hourly, M for Monthly, Q for Quarterly, Y for Yearly, and N for None. |
34005 | SpecifyUpToOneDimensionInBaselineBucket | More than one dimension specified in Baseline Bucket. |
34010 | BaselineMustHaveAtLeastOneMetric | Baseline must have at least one metric. |
34011 | PrimaryMetricNotAvailable | Specified primary metric is not listed as active metric in baseline. |
34012 | InvalidToSpecifyBucketsOnSeededBaselineCreation | Invalid to specify any buckets on baseline creation with basis/seed. |
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 PwsProjectRef was not found. |
50469 | EntityAlreadyLocked | One or more existing locks prevent acquisition of requested lock. |
54138 | ProjectTaskTypeAssignedToTimeBaseline | This project task type cannot be deleted because it is referenced by at least one time baseline bucket. |
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. |
54487 | BucketsSpecifiedOnCreatedForBaselineWithBasis | Only baselines created from no basis may have bucket values specified at creation. |
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. |
54961 | ProjectTimeBaselineRefRequired | A project time baseline must be specified. |
54991 | NoPermissionToUpdateProjectBaseline | You do not have appropriate permissions to update this project baseline. |
54996 | CannotCreateBaselineSummarizationPending | A baseline based on the task plan cannot be created at the moment because task plan summarization is still pending. |
55140 | NoPermissionToSetActiveBaselines | No permission to switch active baselines. |