Versions Compared

Key

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

Overview


This web service inserts or updates a single project based on a detailed project structure (PwsProjectDetail). The service returns the identity (PwsProjectRef) of the project that has been inserted or updated. The caller can optionally request that the full project detail (PwsProjectElement) be included in the response.  Please note, upon creation of a new project, certain attributes may be derived from engagement type defaults or inherited from the engagement.  

...

Panel
titlePwsSaveProjectRq
  • PwsSaveProjectRq
    • RequestId: Int32
    • SessionTicket: String
    • CloseDateClearFlag: Boolean
    • CostGlccOverrideClearFlag: Boolean **deprecated**
    • DescriptionClearFlag: Boolean
    • FullDetailFlag: Boolean
    • Mode: String (1)
    • PercentLikelihoodClearFlag: Boolean
    • Project: PwsProjectDetail
    • StealLockFlag: Boolean **deprecated**
    • TimeGlccOverrideClearFlag: Boolean **deprecated**
    • WorkspaceMessagesClearFlag: Boolean
    • ForceAdvancedSetupChangeFlag: Boolean
    • EngagementTimestamp: String **deprecated**
    • ManagementTeamClearFlag: Boolean
    • BdDashboardClearFlag: Boolean
    • ExpenseTypeConfigurationClearFlag: Boolean
    • LocksToSteal: PwsEntityLockSummary[1.100]
    • ProjectorLockSetId: Int32
    • AamDashboardClearFlag: Boolean
    • ExcludeReadNotesFlag: Boolean
    • IncludeDeletedRolesFlag: Boolean
    • RevalueAction: String
    • InvoiceTabMessageClearFlag: Boolean

    • IssueCategoryClearFlag: Boolean

    • IssueStatusClearFlag: Boolean

    • ProjectLoginClearFlag: Boolean

    • WorkspaceLogoClearFlag: Boolean

    • SetCloseDateIfStageIsClosedFlag: Boolean
    • SmartsheetLinkSubject: PwsSmartsheetLinkSubject
    • ExcludeSubEntityElementsFlag: Boolean

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.

Ad0gaqAh34T3anLQ/dUmpQ==

CloseDateClearFlag

Boolean

No

false

If set to "true", the end date of the project will be cleared.

false

CostGlccOverrideClearFlag

Boolean

deprecated


*** This field has been deprecated ***


DescriptionClearFlag

Boolean

No

false

If set to "true", project description will be cleared..

false

FullDetailFlag

Boolean

No

false

If set to "true", full project element will be included in response.

false

Mode

String (1)

Yes


Applies if FullDetailFlag is set to true:

A to retrieve booked data for roles.

R to retrieve requested data for roles.

E to retrieve effective data for roles (booked data for booked roles, requested data for requested roles).

A/R

PercentLikelihoodClearFlag

Boolean

No

false

If set to "true", project percent likelihood will be cleared. When this value is cleared, the percent likelihood is derived from the percent likelihood value associated with the project's stage.

false

Project

PwsProjectDetail

Yes


Structure that contains the complete information of the project. Please click here for more information. If PwsProjectDetail refers to an existing project, this request updates this project; otherwise, this request creates a new project.


StealLockFlag

Boolean

deprecated


*** This field has been deprecated ***


TimeGlccOverrideClearFlag

Boolean

deprecated


*** This field has been deprecated ***


WorkspaceMessagesClearFlag

Boolean

No

false

If set to "true", project workspace message will be cleared.

false

ForceAdvancedSetupChangeFlag

Boolean

No

false

Advanced: This can be used to force PLCC mapping changes for time and/or cost mappings in the face of existing transactional data. If this flag is not set to true, an error will be returned if you attempt to change the time or cost PLCC mappings and there are time card or cost card transactions associated with the project. Note you must also have advanced project setup permission to force the mapping changes.

false

EngagementTimestamp

String

deprecated


*** This field has been deprecated ***


ManagementTeamClearFlag

Boolean

No

false

If set to "true", clear the non-PM members of the project management team.

false

BdDashboardClearFlag

Boolean

No

false

If set to "true", clear the Belladati (advanced analytics) dashboard configuration for this project, and BdDashboards data is ignored.

false

ExpenseTypeConfigurationClearFlag

Boolean

No

false

if set to "true", clear the expenes type configuration for this project.

false

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 unit.
AamDashboardClearFlagBooleanNofalseTrue to clear AAM dashboards for project.
ExcludeReadNotesFlagBooleanNofalse

If true, notes that have been marked as read by the current user are excluded from the data returned. Applies only when FullDetailFlag is true.


IncludeDeletedRolesFlagBooleanNofalse

If true, deleted roles are included in the response data. Applies only when FullDetailFlag is true.


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.

InvoiceTabMessageClearFlagBooleanNofalseIf set to "true", clear the invoice tab message for this project.
IssueCategoryClearFlagBooleanNofalseIf set to "true", clear the issue category for this project.
IssueStatusClearFlagBooleanNofalseIf set to "true", clear the issue status configuration for this project.
ProjectLoginClearFlagBooleanNofalseIf set to "true", clear the users on Client Logins tab.
WorkspaceLogoClearFlagBooleanNofalseIf set to "true", clear the project logo.
SetCloseDateIfStageIsClosedFlagBooleanNofalse

If set to "true", on update, if new project stage is closed, the project does not already have a close date, and a close date is not explicitly specified, the close date will be set to the earliest of

  • Today's date
  • The last work date on which submitted time cards exist
  • The end of the last week during which there is either booked or requested time on a role on the project
  • The last incurred date on which submitted cost cards exist (if costs are not allowed outside project dates)
  • The latest planned end date on a task within the project
  • The latest role end date for a role on the project

SmartsheetLinkSubjectPwsSmartsheetLinkSubjectYes, on insert if PmToolCode = SDefault of Engagement Type

ExcludeSubEntityElementsFlagBooleanNofalseIf set to "true", exclude the subentities, such as project roles, tasks, project tasks, from the response.

Request Usage Example(s)


Code Block
languagexml
titleCreate Example
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:PwsSaveProject>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AUXSyYEIK9t+JDhj6bYv1w==</req:SessionTicket>
            <sch:CloseDateClearFlag>false</sch:CloseDateClearFlag>
            <sch:CostGlccOverrideClearFlag>false</sch:CostGlccOverrideClearFlag>
            <sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
            <sch:FullDetailFlag>true</sch:FullDetailFlag>
            <sch:Mode>R</sch:Mode>
            <sch:PercentLikelihoodClearFlag>false</sch:PercentLikelihoodClearFlag>
            <sch:Project>
               <com:EngagementIdentity>
                  <com:EngagementCode>01312024E001002</com:EngagementCode>
               </com:EngagementIdentity>
               <com:ProjectName>PD-3549:01</com:ProjectName>
               <com:DefaultSchedulingMode>D</com:DefaultSchedulingMode>
               <com:Description>PD-3549 Investigation</com:Description>
               <com:EmEmailFlag>true</com:EmEmailFlag>
               <com:ExpenseApprovalUserIdentity>
                  <com:UserDisplayName>Bettina</com:UserDisplayName>
               </com:ExpenseApprovalUserIdentity>
               <com:ExpenseApproverType>U</com:ExpenseApproverType>
               <com:LocationIdentity>
                  <com:LocationName>USA - Illinois</com:LocationName>
               </com:LocationIdentity>
               <com:ManagerIdentity>
                  <com:UserDisplayName>Bettina</com:UserDisplayName>
               </com:ManagerIdentity>
               <com:MinutesPerDay>480</com:MinutesPerDay>
               <com:NarrativeRequiredFlag>false</com:NarrativeRequiredFlag>
               <com:OpenDate>2024-02-01T00:00:00.000Z</com:OpenDate>
               <com:OpenForCostFlag>true</com:OpenForCostFlag>
               <com:OpenForCostTransferFlag>true</com:OpenForCostTransferFlag>
               <com:OpenForTimeFlag>true</com:OpenForTimeFlag>
               <com:OpenForTimeTransferFlag>true</com:OpenForTimeTransferFlag>
               <com:PercentLikelihood>100</com:PercentLikelihood>
               <com:ProjectStageIdentity>
                  <com:ProjectStageName>Bookings</com:ProjectStageName>
               </com:ProjectStageIdentity>
               <com:ProjectWorkspaceEnabledFlag>true</com:ProjectWorkspaceEnabledFlag>
               <com:TimeApprovalUserIdentity>
                  <com:UserDisplayName>Bettina</com:UserDisplayName>
               </com:TimeApprovalUserIdentity>
               <com:TimeApproverType>U</com:TimeApproverType>
               <com:WorkspaceMessages>Welcome to the project workspace</com:WorkspaceMessages>
               <com:BookExpenseResourcesAllowCode>A</com:BookExpenseResourcesAllowCode>
               <com:BookTimeResourcesAllowCode>A</com:BookTimeResourcesAllowCode>
               <com:ContractLineItemIdentity>
                  <com:ContractLineItemCode>01312024E0010021</com:ContractLineItemCode>
               </com:ContractLineItemIdentity>
               <com:ManagementTeam>
                  <com:PwsProjectManagementTeamMember>
                     <com:EmailFlag>true</com:EmailFlag>
                     <com:UpdateFlag>true</com:UpdateFlag>
                     <com:UserIdentity>
                        <com:UserDisplayName>Bettina</com:UserDisplayName>
                     </com:UserIdentity>
                  </com:PwsProjectManagementTeamMember>
               </com:ManagementTeam>
               <com:InheritPurchaseOrderNumberFlag>true</com:InheritPurchaseOrderNumberFlag>
               <com:BookedResourcesWorkspacePermissionSetIdentity>
                  <com:PermissionSetName>Full Access</com:PermissionSetName>
               </com:BookedResourcesWorkspacePermissionSetIdentity>
               <com:CcUsersWorkspacePermissionSetIdentity>
                  <com:PermissionSetName>Full Access</com:PermissionSetName>
               </com:CcUsersWorkspacePermissionSetIdentity>
               <com:ClientWorkspacePermissionSetIdentity>
                  <com:PermissionSetName>Full Access</com:PermissionSetName>
               </com:ClientWorkspacePermissionSetIdentity>
               <com:EmWorkspacePermissionSetIdentity>
                  <com:PermissionSetName>Full Access</com:PermissionSetName>
               </com:EmWorkspacePermissionSetIdentity>
               <com:InvoiceTabMessage>Welcome to the Invoice Tab</com:InvoiceTabMessage>
               <com:LtdBookedResourcesWorkspacePermissionSetIdentity>
                  <com:PermissionSetName>Full Access</com:PermissionSetName>
               </com:LtdBookedResourcesWorkspacePermissionSetIdentity>
               <com:LtdOtherResourcesWorkspacePermissionSetIdentity>
                  <com:PermissionSetName>Full Access</com:PermissionSetName>
               </com:LtdOtherResourcesWorkspacePermissionSetIdentity>
               <com:OtherResourcesWorkspacePermissionSetIdentity>
                  <com:PermissionSetName>Full Access</com:PermissionSetName>
               </com:OtherResourcesWorkspacePermissionSetIdentity>
               <com:PmWorkspacePermissionSetIdentity>
                  <com:PermissionSetName>Full Access</com:PermissionSetName>
               </com:PmWorkspacePermissionSetIdentity>
               <com:PmToolCode>C</com:PmToolCode>
            </sch:Project>
            <sch:StealLockFlag>false</sch:StealLockFlag>
            <sch:TimeGlccOverrideClearFlag>false</sch:TimeGlccOverrideClearFlag>
            <sch:WorkspaceMessagesClearFlag>false</sch:WorkspaceMessagesClearFlag>
            <sch:ForceAdvancedSetupChangeFlag>false</sch:ForceAdvancedSetupChangeFlag>
            <sch:ManagementTeamClearFlag>false</sch:ManagementTeamClearFlag>
            <sch:BdDashboardClearFlag>false</sch:BdDashboardClearFlag>
            <sch:ExpenseTypeConfigurationClearFlag>false</sch:ExpenseTypeConfigurationClearFlag>
            <sch:AamDashboardClearFlag>false</sch:AamDashboardClearFlag>
            <sch:ExcludeReadNotesFlag>false</sch:ExcludeReadNotesFlag>
            <sch:IncludeDeletedRolesFlag>false</sch:IncludeDeletedRolesFlag>
            <sch:RevalueAction>N</sch:RevalueAction>
            <sch:InvoiceTabMessageClearFlag>false</sch:InvoiceTabMessageClearFlag>
            <sch:IssueCategoryClearFlag>false</sch:IssueCategoryClearFlag>
            <sch:IssueStatusClearFlag>false</sch:IssueStatusClearFlag>
            <sch:ProjectLoginClearFlag>false</sch:ProjectLoginClearFlag>
            <sch:WorkspaceLogoClearFlag>false</sch:WorkspaceLogoClearFlag>
            <sch:SetCloseDateIfStageIsClosedFlag>true</sch:SetCloseDateIfStageIsClosedFlag>
         </pws:serviceRequest>
      </pws:PwsSaveProject>
   </soapenv:Body>
</soapenv:Envelope>

...

Panel
titlePwsSaveProjectRs

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.


Project

PwsProjectElement

The complete set of information about the project. Populated only if FullDetailFlag is specified in the request. Click here for more information.


ProjectIdentity

PwsProjectRef

The unique keys used to identify the project. Click here for more information.


RevalueReportPwsRevalueReportInformation about time cards on the project that were affected or would be affected by the change. Populated only when RevalueAction is R (Revalue) or C (Check). If RevalueAction is R, the values included in this structure reflect what was done. If RevalueAction is C, the values reflect what would be done if the service were invoked again with RevalueAction set to R.

EngagementTimestamp

String

*** This field has been deprecated ***


LockStolenFromUserIdentity

PwsUserRef

*** This field has been deprecated ***


ProjectTimestampStringThis 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.
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.

...