Versions Compared

Key

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

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. 

...

Panel
titlePwsSaveContractLineItem Request

Request Elements


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.

AdDMw48w49OxnEUPGUuMSw==

ContractLineItem

PwsContractLineItemDetail

Yes 


The detailed contract line item information to be inserted or updated.


EngagementCurrencyIdentity

PwsCurrencyRef

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
NewContractLineItemCodeString (27)No














Request Usage Example(s)


Code Block
languagexml
titleExample 01 - insert
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:PwsSaveContractLineItem>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AdDMw48w49OxnEUPGUuMSw==</req:SessionTicket>
            <sch:ContractLineItem>
               <com:ContractLineItemName>Phase 2</com:ContractLineItemName>
               <com:EngagementIdentity>
                  <com:EngagementCode>P001320</com:EngagementCode>
               </com:EngagementIdentity>
               <com:HoldbackAmount>5000</com:HoldbackAmount>
               <com:HoldbackType>A</com:HoldbackType>
               <com:MaxTimeContractAmount>50000</com:MaxTimeContractAmount>
               <com:MinTimeContractAmount>50000</com:MinTimeContractAmount>
               <com:RevenueEarnedByDate>2017-06-30T00:00:00.000Z</com:RevenueEarnedByDate>
               <com:RevenueRecognitionMethod>P</com:RevenueRecognitionMethod>
               <com:ContractTypeIdentity>
                  <com:ContractTypeName>Fixed Price Plus Expenses</com:ContractTypeName>
               </com:ContractTypeIdentity>
               <com:InheritPurchaseOrderNumberFlag>false</com:InheritPurchaseOrderNumberFlag>
               <com:ModelContractedHoursAndOveragesFlag>false</com:ModelContractedHoursAndOveragesFlag>
               <com:PurchaseOrderNumber>WS1320-P1</com:PurchaseOrderNumber>
            </sch:ContractLineItem>
            <sch:EngagementCurrencyIdentity>
               <com:CurrencyCode>USD</com:CurrencyCode>
            </sch:EngagementCurrencyIdentity>
            <sch:StealLockFlag>false</sch:StealLockFlag>
            <sch:ContractTypeClearFlag>false</sch:ContractTypeClearFlag>
            <sch:OverageProjectClearFlag>false</sch:OverageProjectClearFlag>
         </pws:serviceRequest>
      </pws:PwsSaveContractLineItem>
   </soapenv:Body>
</soapenv:Envelope>
Code Block

...

panel
language
xml
titlePwsSaveContractLineItem 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

...

1

...

Status

...

RequestStatus

...

Click here for more information

...

Ok

...

ServerTimestampUtc

...

DateTime

...

Click here for more information

...

2018-01-22T15:02:41.6835065Z

...

ContractLineItemIdentity

...

PwsContractLineItemRef

...

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

...

PwsUserRef

...

If a lock is stolen in the process of updating an contract line item, this identifies the user from whom the lock was stolen.

...

Example 02 - update
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:PwsSaveContractLineItem>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>Ade8vXDjCIr0kcDpdVTbCw==</req:SessionTicket>
            <sch:ContractLineItem>
            	<com:ContractLineItemCode>P001125-CL2</com:ContractLineItemCode>
               <com:ContractLineItemName>P001125-CL2 Name</com:ContractLineItemName>
               <com:EngagementIdentity>
                  <com:EngagementCode>P001125</com:EngagementCode>
               </com:EngagementIdentity>
               <com:ContractTypeIdentity>
                  <com:ContractTypeName>Time and Materials</com:ContractTypeName>
               </com:ContractTypeIdentity>
               <com:InheritPurchaseOrderNumberFlag>false</com:InheritPurchaseOrderNumberFlag>
               <com:ModelContractedHoursAndOveragesFlag>false</com:ModelContractedHoursAndOveragesFlag>
               <com:PurchaseOrderNumber>P001125-PO</com:PurchaseOrderNumber>
            </sch:ContractLineItem>
            <sch:EngagementCurrencyIdentity>
               <com:CurrencyCode>USD</com:CurrencyCode>
            </sch:EngagementCurrencyIdentity>
            <sch:ContractTypeClearFlag>false</sch:ContractTypeClearFlag>
            <sch:OverageProjectClearFlag>false</sch:OverageProjectClearFlag>
            <sch:NewContractLineItemCode>P001125-CL2-2</sch:NewContractLineItemCode>
         </pws:serviceRequest>
      </pws:PwsSaveContractLineItem>
   </soapenv:Body>
</soapenv:Envelope>

Response Format


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

1

Status

RequestStatus

Click here for more information

Ok

ServerTimestampUtc

DateTime

Click here for more information

2018-01-22T15:02:41.6835065Z

ContractLineItemIdentity

PwsContractLineItemRef

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

PwsUserRef

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)


Code Block
languagexml
titleExample 01
collapsetrue
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveContractLineItemResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveContractLineItemResult 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/">1</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-01-22T15:02:41.6835065Z</ServerTimestampUtc>
            <a:ContractLineItemIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ContractLineItemCode>P001320-CL2</b:ContractLineItemCode>
               <b:ContractLineItemId i:nil="true"/>
               <b:ContractLineItemUid>1152921504607083624</b:ContractLineItemUid>
            </a:ContractLineItemIdentity>
            <a:EngagementTimestamp>AAAAAA9/RYg=</a:EngagementTimestamp>
            <a:LockStolenFromUserIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:UserDisplayName>Betty Smith</b:UserDisplayName>
               <b:UserId i:nil="true"/>
               <b:UserReferenceSystemId>Partner - 01</b:UserReferenceSystemId>
               <b:UserUid>1152921504607011056</b:UserUid>
            </a:LockStolenFromUserIdentity>
         </PwsSaveContractLineItemResult>
      </PwsSaveContractLineItemResponse>
   </s:Body>
</s:Envelope>
Code Block
languagexml
titleExample 0102 - update
collapsetrue
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveContractLineItemResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveContractLineItemResult 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/">1</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>/Shared/Common/"/>
            <ServerTimestampUtc<ResponseId xmlns="http://projectorpsa.com/CommonServices/">2018-01-22T15:02:41.6835065Z</ServerTimestampUtc>>1</ResponseId>
            <a:ContractLineItemIdentity<Status xmlns:b="http://projectorpsa.com/DataContractsCommonServices/Shared/Common/">
               <b:ContractLineItemCode>P001320-CL2</b:ContractLineItemCode>
 ">Ok</Status>
             <b:ContractLineItemId i:nil="true"/><ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-11-12T16:27:41.3088062Z</ServerTimestampUtc>
            <a:ContractLineItemIdentity   <b:ContractLineItemUid>1152921504607083624</b:ContractLineItemUid>xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               </a:ContractLineItemIdentity><b:ContractLineItemCode>P001125-CL2-2</b:ContractLineItemCode>
               <b:ContractLineItemId <ai:EngagementTimestamp>AAAAAA9/RYg=</a:EngagementTimestamp>nil="true"/>
              <a:LockStolenFromUserIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
<b:ContractLineItemUid>1152921504607095669</b:ContractLineItemUid>
              <b:UserDisplayName>Betty Smith</b:UserDisplayName></a:ContractLineItemIdentity>
               <b:UserId i:nil="true"/><a:EngagementTimestamp>AAAAABE+AqI=</a:EngagementTimestamp>
            <a:LockStolenFromUserIdentity   <b:UserReferenceSystemId>Partner - 01</b:UserReferenceSystemId>i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
               <b:UserUid>1152921504607011056</b:UserUid><a:ContractLineItemTimestamp>AAAAABFCno4=</a:ContractLineItemTimestamp>
             </a:LockStolenFromUserIdentity><a:StolenLocks i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
         </PwsSaveContractLineItemResult>
      </PwsSaveContractLineItemResponse>
   </s:Body>
</s:Envelope>

...