Versions Compared

Key

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

Overview

...

Overview


This web service inserts or updates a single engagement based on a detailed engagement structure (PwsEngagementDetail). The service returns the identity (PwsEngagementRef) of the engagement that has been inserted or updated. The caller can optionally request that the full engagement detail (PwsEngagementElement) be included in the response.  Please note, upon creation of a new engagement, certain attributes may be derived from engagement type defaults.  Additionally, if a non-billable engagement is created, the specified culture and currency will be ignored. Rather, the currency is derived from the engagement's company's currency, and the culture is derived from the currency's default culture.

...

Panel
titlePwsSaveEngagement Request
  • PwsSaveEngagement
    • serviceRequest: PwsSaveEngagementRq

Request Elements

...

Element

...

Data Type

      • CostBudgetMetricValueClearFlag: Boolean
      • ForceCostCenterChangeFlag: Boolean
      • RevalueAction: String
      • TimeBudgetMetricValueClearFlag: Boolean
      • ManagementTeamClearFlag: Boolean

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.

1

SessionTicket

String (50)

Yes


Click here for more information.

AUcfZP60RNdWSqGygrg5fw==

Engagement

PwsEngagementDetail

Yes


Engagement detail element containing identity of engagement and data to be saved about the engagement.


FullDetailFlag

Boolean

No

false

If set to 'true', the full detailed engagement element will be included in the response.

true

StealLockFlag

Boolean

**deprecated**




UseEtEngagementProjectDefaultsFlag

Boolean

No

false

If set to 'true', and the engagement type is updated, the engagement type defaults for the engagement and the underlying projects (except project workspace defaults) will override existing settings (and any settings explicitly specified here for engagement attributes with defaults at the engagement type level).

true

UseEtProjectWorkspaceDefaultsFlag

Boolean

No

false

If set to 'true', and engagement type is being changed, the engagement type defaults for the project workspace settings for underlying projects will override existing settings.

true

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 PwsGetEngagement (or a prior call to 9371955). This will cause the request to fail if any change has been made between invocations of PwsGetEngagement and 9371955.


SuppressCliCreationOnInsertFlag

Boolean

No

false

If set to 'true', a contract line item will not be created upon creation of a new engagement.

true
ForceCostCenterChangeFlagBooleanNofalseIf set to 'true', the engagement cost center can be changed, even if there is accounting datatrue
LocksToStealPwsEntityLockSummary[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.
ProjectorLockSetIdInt32No
A projector lock set id is an identifier for a group of one or more locks held as a unitset id is an identifier for a group of one or more locks held as a unit.
CostBudgetMetricValueClearFlagBooleanNofalseIf set to "true", clear the non-primary cost budget metrics of the Cost Budget 
ForceCostCenterChangeFlagBooleanNofalseIf this flag is 'false', an error will be returned if you attempt to change cost center associated with the engagement.
RevalueActionStringNoN

This indicates how the service should respond if there are time cards that would become in need of revalue as a result of the changes. The valid values are:

  • N (No Revalue): Time cards are left as is and the save is completed.
  • R (Revalue): Time cards that can be revalued are revalued and the save is completed.
  • C (Check): The save operation will only proceed if there are no time cards that would be in need of revalue. RevalueReport in the response will provide details about the affected time cards.

TimeBudgetMetricValueClearFlagBooleanNofalseIf set to "true", clear the non-primary time budget metrics of the Time Budget 
ManagementTeamClearFlagBooleanNofalseIf set to "true", clear the non-EM members of the engagement management team.

Request Usage Example(s)


Code Block
languagexml
titleRequest
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:PwsSaveEngagement>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AaeUxogCRLz6jXAkNt9Lcg==</req:SessionTicket>
            <sch:Engagement>
               <com:ClientIdentity>
                  <com:ClientNumber>C000173</com:ClientNumber>
               </com:ClientIdentity>
               <com:EngagementName>Web Services Inc. - New</com:EngagementName>
               <com:Address>
                  <com:AddressLine1>311 South Wacker Street</com:AddressLine1>
                  <com:AddressLine2>2300</com:AddressLine2>
                  <com:Attention>Billing</com:Attention>
                  <com:City>Chicago</com:City>
                  <com:CompanyName>SOAP UI</com:CompanyName>
                  <com:Country>USA</com:Country>
                  <com:StateOrProvince>Illinois</com:StateOrProvince>
                  <com:ZipOrPostalCode>60601</com:ZipOrPostalCode>
               </com:Address>
               <com:BillingCultureIdentity>
                  <com:CultureName>en-US</com:CultureName>
               </com:BillingCultureIdentity>
               <com:BillingCycleIdentity>
                  <com:BillingCycleName>Monthly</com:BillingCycleName>
               </com:BillingCycleIdentity>
               <com:BillingInstructions>Please bill on the 15th of every month.</com:BillingInstructions>
               <com:ClientMessage>We appreciate your business!</com:ClientMessage>
               <com:ClientMessagePlain>We appreciate your business!</com:ClientMessagePlain>
               <com:CostAlertsBasisType>E</com:CostAlertsBasisType>
               <com:CostBudgetMetric>C</com:CostBudgetMetric>
               <com:CostCenterIdentity>
                  <com:CostCenterNumber>PPSA - Quality Assurance</com:CostCenterNumber>
               </com:CostCenterIdentity>
               <com:CurrencyIdentity>
                  <com:CurrencyCode>USD</com:CurrencyCode>
               </com:CurrencyIdentity>
               <com:EngagementStageIdentity>
                  <com:EngagementStageName>Open</com:EngagementStageName>
               </com:EngagementStageIdentity>
               <com:EngagementTypeIdentity>
                  <com:EngagementTypeName>Billable - Time and Materials</com:EngagementTypeName>
                  <com:EngagementTypeShortName>TandM</com:EngagementTypeShortName>
               </com:EngagementTypeIdentity>
               <com:InheritAddressFlag>false</com:InheritAddressFlag>
               <com:InheritBillingCycleFlag>false</com:InheritBillingCycleFlag>
               <com:InheritBillingInstructionsFlag>false</com:InheritBillingInstructionsFlag>
               <com:InheritClientMessageFlag>false</com:InheritClientMessageFlag>
               <com:InheritInvoiceContentFlag>false</com:InheritInvoiceContentFlag>
               <com:InheritInvoiceScopeFlag>false</com:InheritInvoiceScopeFlag>
               <com:InheritInvoiceTemplateFlag>false</com:InheritInvoiceTemplateFlag>
               <com:InheritPaymentTermFlag>false</com:InheritPaymentTermFlag>
               <com:InheritPurchaseOrderNumberFlag>false</com:InheritPurchaseOrderNumberFlag>
               <com:InheritTimeBillingTypeFlag>false</com:InheritTimeBillingTypeFlag>
               <com:InvoiceContent>B</com:InvoiceContent>
               <com:InvoiceScope>E</com:InvoiceScope>
               <com:InvoiceTemplateIdentity>
                  <com:InvoiceTemplateName>A200</com:InvoiceTemplateName>
               </com:InvoiceTemplateIdentity>
               <com:ManagerIdentity>
                  <com:UserReferenceSystemId>QA - BB</com:UserReferenceSystemId>
               </com:ManagerIdentity>
               <com:PaymentTermIdentity>
                  <com:PaymentTermName>Net 15</com:PaymentTermName>
               </com:PaymentTermIdentity>
               <com:PurchaseOrderNumber>SOAP UI</com:PurchaseOrderNumber>
               <com:TimeAlertsBasisType>A</com:TimeAlertsBasisType>
               <com:TimeBillingType>H</com:TimeBillingType>
               <com:TimeBudgetMetric>B</com:TimeBudgetMetric>
               <com:UserDefinedFields>
                  <com:PwsUserDefinedFieldDetail>
                     <com:UdfName>EN-Text List</com:UdfName>
                     <com:DataType>L</com:DataType>
                     <com:TextValue>Engagement-Web Services</com:TextValue>
                  </com:PwsUserDefinedFieldDetail>
               </com:UserDefinedFields>
               <com:InheritInvoiceEmailSettingsFlag>false</com:InheritInvoiceEmailSettingsFlag>
               <com:InvoiceEmailSettings>
                  <com:EmailFromUserIdentity>
                     <com:UserReferenceSystemId>QA - BB</com:UserReferenceSystemId>
                  </com:EmailFromUserIdentity>
                  <com:EmailInvoiceTemplateIdentity>
                     <com:InvoiceTemplateName>E003</com:InvoiceTemplateName>
                  </com:EmailInvoiceTemplateIdentity>
                  <com:InvoiceEmailEnabledFlag>true</com:InvoiceEmailEnabledFlag>
                  <com:InvoiceEmailType>P</com:InvoiceEmailType>
                  <com:Recipients>
                     <com:PwsInvoiceEmailRecipient>
                        <com:RecipientType>T</com:RecipientType>
                        <com:UserIdentity>
                           <com:UserReferenceSystemId>SOAP UI</com:UserReferenceSystemId>
                        </com:UserIdentity>
                     </com:PwsInvoiceEmailRecipient>
                  </com:Recipients>
               </com:InvoiceEmailSettings>
               <com:InheritRenderReceiptsFlag>false</com:InheritRenderReceiptsFlag>
               <com:RenderReceiptsFlag>true</com:RenderReceiptsFlag>
               <com:InheritAutoApplyAvailableBalanceFlag>true</com:InheritAutoApplyAvailableBalanceFlag>
               <com:InheritTaxTypesFlag>false</com:InheritTaxTypesFlag>
            </sch:Engagement>
            <sch:FullDetailFlag>true</sch:FullDetailFlag>
            <sch:StealLockFlag>true</sch:StealLockFlag>
            <sch:UseEtEngagementProjectDefaultsFlag>true</sch:UseEtEngagementProjectDefaultsFlag>
            <sch:UseEtProjectWorkspaceDefaultsFlag>true</sch:UseEtProjectWorkspaceDefaultsFlag>
            <sch:SuppressCliCreationOnInsertFlag>true</sch:SuppressCliCreationOnInsertFlag>
         </pws:serviceRequest>
      </pws:PwsSaveEngagement>
   </soapenv:Body>
</soapenv:Envelope>

...

Panel
titlePwsSaveEngagement 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-18T17:08:48.5836504Z

Engagement

PwsEngagementElement

The complete set of information about the engagement.


EngagementIdentity

PwsEngagementRef

The unique keys used to identify the engagement.


EngagementTimestamp

String

This is a Base64 encoded timestamp utilized for engagement locking. See Request Elements above for more details.

AAAAAA98Yvs=

LockStolenFromUserIdentity

PwsUserRef

**deprecated**


StolenLocksPwsEntityLockSummaryThis 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.
RevalueReportPwsRevalueReportThis data structure is included in the response for PwsSaveProjectPwsSaveProjectTaskTypes, and PwsSaveProjectRole.   It is populated if RevalueAction is R (revalue cards) or C (check only). It includes summary financial information about the time cards on the project or project role that were effected (RevalueAction = R) or would have been effected (RevalueAction = C) by the change to the project or role. 

Response Usage Example(s)

...