Overview
This web service inserts or updates a single contract line item based on a detailed contract line item structure (PwsContractLineItemDetail). The service returns the identity (PwsContractLineItemRef) of the contract line item that has been inserted or updated.
Request Format
- PwsSaveContractLineItem
- serviceRequest: PwsSaveContractLineItemRq
- RequestId: Int32
- SessionTicket: String
- ContractLineItem: PwsContractLineItemDetail
- EngagementCurrencyIdentity: PwsCurrencyRef
- EngagementTimestamp: String
- StealLockFlag: Boolean
- ContractTypeClearFlag: Boolean
- OverageProjectClearFlag: Boolean
- NewContractLineItemCode: String (27)
- LocksToSteal: PwsEntityLockSummary[1.100]
- ProjectorLockSetId: Int32
- serviceRequest: PwsSaveContractLineItemRq
Request Elements
Element | Data Type | Required? | Default | Description | Sample Data |
---|---|---|---|---|---|
Int32 | No | Click here for more information. | 1 | ||
String | Yes | Click here for more information. | AdDMw48w49OxnEUPGUuMSw== | ||
ContractLineItem | Yes | The detailed contract line item information to be inserted or updated. | |||
EngagementCurrencyIdentity | Yes | The currency of the engagement this contract line item resides under. | |||
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 PwsGetContractLineItem (or a prior call to PwsSaveContractLineItem). This will cause the request to fail if any change has been made between invocations of PwsGetContractLineItem and PwsSaveContractLineItem. | ||
StealLockFlag | Boolean | deprecated | |||
ContractTypeClearFlag | Boolean | No | false | If set to 'true', the contract type associated with the contract line item will be set to null. This is equivalent to using a 'custom' contract type. | false |
OverageProjectClearFlag | Boolean | No | false | If set to 'true', the overage project associated with the contract line item will be set to null. | false |
NewContractLineItemCode | String (27) | No | |||
Request Usage Example(s)
Response Format
- PwsSaveContractLineItemResponse
- PwsSaveContractLineItemResult: PwsSaveContractLineItemRs
- Messages: PwsMessage[]
- ResponseId: Int32
- Status: RequestStatus
- ServerTimestampUtc: DateTime
- ContractLineItemIdentity: PwsContractLineItemRef
- EngagementTimestamp: String
- LockStolenFromUserIdentity: PwsUserRef
- PwsSaveContractLineItemResult: PwsSaveContractLineItemRs
Response Elements
Element | Data Type | Description | Sample Data |
---|---|---|---|
Messages | The web service response status and message. Click here for more information. | ||
Int32 | Click here for more information | 1 | |
Status | Click here for more information | Ok | |
DateTime | Click here for more information | 2018-01-22T15:02:41.6835065Z | |
ContractLineItemIdentity | The unique keys used to identify the contract line item. | ||
EngagementTimestamp | String | This is a Base64 encoded timestamp utilized for engagement locking. To protect against overwriting other changes. See Request Elements above for more details. | AAAAAA9/RYg= |
LockStolenFromUserIdentity | If a lock is stolen in the process of updating an contract line item, this identifies the user from whom the lock was stolen. |
Response Usage Example(s)
PwsSaveContractLineItem - Common Errors and Warnings
- For all errors and warnings please refer to the Complete List of Errors and Warnings
ErrorNumber | ErrorCode | ErrorText |
---|---|---|
12005 | InvalidValueForTimeContractTerms | The value specified for time contract terms is invalid. Valid values are T for time and materials, F for fixed price, C for not to exceed and N for non-chargeable. |
12010 | TimeContractAmountsCannotBeSpecified | Minimum and maximum time contract amounts may not be specified if time contract terms are not specified. |
12011 | InvalidValueForCostContractTerms | The value specified for cost contract terms is invalid. Valid values are T for time and materials, F for fixed price, C for not to exceed and N for non-chargeable. |
12016 | CostContractAmountsCannotBeSpecified | Minimum and maximum cost contract amounts may not be specified if cost contract terms are not specified. |
54248 | SpecifiedContractLineItemNotUnderSpecifiedEngagement | The specified contract line item is not under the specified engagement. |
54607 | HoldbackPercentMissingOrInvalid | The holdback percent is required when the holdback type is P, and it must be between 0 and 100. |
54608 | HoldbackAmountMissingOrInvalid | The holdback amount is required when the holdback type is A, and it must be between 0 and the time contract amount. |
54609 | InvalidValueForHoldbackType | The value specified for holdback type is invalid. Valid values are N for none, P for percent and A for amount. |
54620 | InvalidFixedPriceContractAmounts | For fixed price contract terms, both the minimum and maximum contract amounts must be specified and must be equal. |
54621 | InvalidNotToExceedContractAmounts | For not to exceed contract terms, the minimum contract amount may not be specified and the maximum contract amount must be specified. |
54622 | InvalidTimeAndMaterialsContractAmounts | Neither minimum nor maximum contract amounts may be specified for time and materials contract terms. |
54625 | HolbackAmountCannotBeSpecifiedForFpEngagement | The holdback amount may only be specified for fixed price contract line items |
54631 | NoPermissionToUpdateContractTerms | You do not have appropriate permission to update contract terms for this contract line item. |
54948 | SpecifiedContractLineItemNotFound | Specified contract line item not found. |
54949 | ContractLineItemMustBeSpecified | A contract line item identity must be specified. |
54965 | InvalidContractInfoForNonbillableEngagement | Invalid contract line item properties requested for non-billable engagement. |
54967 | RevenueScheduleBucketsInvalidForRevRecMethodP | Revenue schedule buckets only be specified on revenue schedules and service contracts. |
54968 | RevenueSchedulesAreForFixedPriceContractsOnly | Revenue recognition method may be specified for fixed price time contract terms only. |
54970 | ContractLineItemCodeIsRequired | Contract line item code is required for new contract line items because account is configured to use manual contract line item numbering. |
54971 | ContractLineItemCodeUnexpected | Contract line item code may not be specified because account is configured to use automatic contract line item numbering. |
54972 | ContractLineItemCodeAlreadyInUse | Specified contract line item code already in use. |
54985 | ContractLineItemCodeOrNameInvalidForNonbillableEngagement | Contract line item name and code cannot be specified for non-billable engagements. |
55043 | CliPurchaseOrderSpecifiedWithoutInheritFlag | Purchase order number may not be specified without inherit flag. |
55044 | CliPurchaseOrderSpecifiedWhenInheriting | Purchase order number may not be specified when inheriting purchase order number. |
55045 | CliSpecifiedContractTypeIsInactive | Specified contract type is not active. |
55046 | CannotSpecifyContractAttributesWhenContractTypeSpecified | For contract line items of a specific contract type, individual contract terms settings may not be specified. |
55047 | CliInvalidValueForTimeContractTerms | Invalid value for time contract terms. Valid values are F for fixed price, T for time and materials, C for time and materials with cap and N for non0chargeable. |
55048 | CliInvalidValueForCostContractTerms | Invalid value for cost contract terms. Valid values are F for fixed price, T for time and materials, C for time and materials with cap and N for non0chargeable. |
55049 | CliInvalidValueForRevRecMethod | Invalid value for revenue recognition method. Valid values are P for percent complete and R for revenue schedule. |
55050 | CliInvalidContractAmountsForSpecifiedTerms | Minimum and maximum contract amounts must be NULL for non-chargeable contract terms. |
55051 | CliHoldbackAmountOrPercentMayNotBeSpecifiedForHoldbackTypeN | Holdback percent and holdback amount may not be specified when holdback type is N. |
55052 | CliSpecifyOnlyHoldbackPercentForHoldbackTypeP | Holdback percent must be specified and holdback amount may not be specified when holdback type is P. |
55053 | CliSpecifyOnlyHoldbackAmountForHoldbackTypeA | Holdback amount must be specified and holdback percent may not be specified when holdback type is A. |
55054 | CliCannotModelContractHoursForCurrentContractTerms | Service contracts are not compatible with selected time contract terms. |
55055 | CliOverageProjectCannotBeSpecifiedNotModelingContractedHours | Overage project cannot be specified if not modelling contracted hours and overages. |
55056 | ScheduledRevenueCannotBeSpecifiedForRevRecMethodP | Scheduled revenue is required on and limited to revenue schedules. |
55057 | ContractedHoursCannotBeSpecifiedWhenNotModelingContractedHours | Contracted hours are required on and limited to service contracts. |
55058 | CliInheritPONumberFlagRequiredForNewContractLineItems | Inherit purchase order number flag is required for new contract line items. |
55101 | OverageProjectNotInSameEngagement | The project specified as the overage project must be a part of the same engagement. |
55102 | OverageProjectMayNotBeOnSameCli | The project specified as the overage project may not be on the same contract line item. |
55103 | OverageProjectMayNotBeDtm | The project specified as the overage project may not have the project management module enabled. |
55104 | InvalidOverageProjectContractTerms | Overage projects must be part of a contract line item with time contract terms of non-chargeable, time and materials or not to exceed. |
55105 | OverageProjectCannotBeServiceContract | Overage projects may not be part of another service contract. |
55106 | MultipleServiceContractsCannotShareOverageProject | Multiple service contracts may not refer to the same overage project. |
55107 | RevenueScheduleDataNotAllowed | Revenue schedule data may only be specified on contract line items that are revenue schedules or service contracts |
55108 | SpecifiedContractTermsNotComplete | Specified contract terms are incomplete. |
55109 | CannotModelContractedHoursPmEnabled | Model contracted hours and overages flag cannot be enabled because one or more projects associated with this contract line item have the PM module enabled, or the designated overage project has the PM module enabled |
55110 | CliCannotIncludeDtmProjects | Projects under a contract line item that is configured to model contracted hours and overages may not have the project management module enabled. |
55111 | DtmCannotBeEnabledForOverageProject | Projects designated as overage projects may not have the project management module enabled. |
55128 | CannotDeleteOverageProject | Project cannot be deleted because it has been designated as the overage project for a service contract. |
55129 | TimeContractTermsCannotBeSetNonchargeable | The time contract terms may not be changed for this contract line item because there are approved time cards associated with the contract line item. |
55130 | CostContractTermsCannotBeSetNonchargeable | The cost contract terms may not be changed for this contract line item because there are approved cost cards associated with the contract line item. |
55131 | ServiceContractHasInvoicedPeriods | Cannot disable modeling of contracted hours and overages because at least one service period has been invoiced. |
55130 | CostContractTermsCannotBeSetNonchargeable | The cost contract terms may not be changed for this contract line item because there are approved cost cards associated with the contract line item. |
55131 | ServiceContractHasInvoicedPeriods | Cannot disable modeling of contracted hours and overages because at least one service period has been invoiced. |
56004 | CannotConvertContractToRevenueSchedule | On conversion from percent complete to a revenue schedule, there must be a single bucket for revenue through the existing cutoff date for recognized revenue to date. |
56005 | CannotModifyScheduledBucketPriorToRevRecCutoffDate | Revenue schedule buckets prior to the revenue recognition cutoff date cannot be modified. |