Project Status Change Workflow
When the user sets a project to a workflow-enabled status, the application triggers the Project Status Change Approval workflow. This workflow then notifies configured assignees, who must approve or reject the status change, or seek more information if required. The default approval rules for this workflow route the approval to the primary project manager. If the approval workflow is withdrawn or results in errors, the application reverts the project to the previous status.
In the BPM Worklist tool, this workflow is called ProjectStatusNotificationApproval.
Project Status Change Approval Process
Here's a table that describes the Project Status Change Approval process.
Task No. | Agent | Description | Comments |
---|---|---|---|
1 | Requester* *Project Manager. Project Administrator, or other roles with the privilege to change project statuses. |
Users change the status of a project (through the UI or using REST API) to a workflow-enabled status, which triggers the workflow. | Statuses are enabled for workflow approval by project application administrators in the Manage Project Statuses task within Setup and Maintenance. |
2 | The Project Status Change Approval Workflow | The workflow sends notifications to all configured assignees using email or in-app notifications, as configured. | For detailed information on how you can change approval workflow notifications, see Workflow Notifications in the Implementing Common Applications guide. |
3 | Workflow Assignees | Assignees review the approval notification and approve or reject the project status change. Assignees may also ask for more information from the requester. |
If the workflow uses parallel approvers, then the Voting Percentage rule is used to determine final approval. For detailed information on using BPM Worklist to update approval workflows, see Workflow Approvals and Notifications in the Implementing Common Applications guide. Also see How Invoices Are Approved in the Using Payables Invoice to Pay guide. |
4 | The Project Status Change Approval Workflow | The workflow updates the project status:
If the new status is also workflow-enabled, another approval task is launched. |
NA |
If you previously configured the workflow for status changes of projects enabled for financial management and you want to extend the workflow to nonfinancial projects, then first review and update the workflow configuration as needed.
Configuring the Project Status Change Approval Workflow
Use the Manage Project Statuses task in Setup and Maintenance to enable or disable project statuses for workflow approval. Select the Enable Workflow checkbox for each project status that should trigger a workflow approval.
For each project status with workflow enabled, you must also specify the following attributes:
-
Status After Change Accepted: The status the application assigns to the project after accepting a project status change.
-
Status After Change Rejected: The status the application assigns to the project after rejecting a project status change.
Other rule changes you can make:
- The default approval rules in all the predefined rule sets are configured to send notifications to the primary project manager for approvals. You must review the predefined rules and modify them as required.
-
You can disable participants that you don’t want to use by enabling the Ignore Participant option or by defining a rule to ignore the participant.
You must have the Projects Application Administrator job role (or another similarly privileged job role) to configure rules for this workflow.
For example, assume that during implementation, you enable workflow for the Submitted status, and configure the following workflow attributes:
-
In the Status After Change Accepted field for the Submitted project status, you specify the Active status as the status that the application assigns to the project when the status change is accepted.
-
In the Status After Change Rejected field for the Submitted project status, you specify the Rejected status as the status that the application assigns to the project when the status change is rejected.
In this example, when a requester changes the project status to Submitted, the workflow process routes the status change request to the primary project manager's worklist. If the project manager accepts the status change, the workflow process assigns the Active status to the project. If the project manager rejects the status change, the workflow process assigns the Rejected status to the project.
Configuring the Workflow: Supported Attributes
When a Project Status Change Approval workflow is launched, the current values of several project-related attributes are included in the payload. These attributes can be used to configure rules to route approvals for specific business needs.
Attribute | Description |
---|---|
ProjectId | The unique identifier of the project. |
ProjectName | The name of the project. |
ProjectNumber | The project number. |
CarryingOutOrganizationId | The unique identifier of the project organization. |
ProjectOrganizationName | The name of the project organization. |
ProjectUnitId | The unique identifier of the project unit. |
ProjectUnitName | The name of the project unit. |
ProjectTypeId | The unique identifier of the project type. |
ProjectTypeName | The name of the project type. |
BusinessUnitId | The unique identifier of the business unit. |
BusinessUnitName | The name of the business unit. |
LegalEntityId | The unique identifier of the legal entity. |
LegalEntityName | The name of the legal entity. |
WorkTypeId | The unique identifier of the work type. |
WorkTypeName | The name of the work type. |
ProjectCurrencyCode | The code of the currency used for reporting amounts acrosss projects in a common currency. |
ProjectLedgerCurrencyCode | The code of the currency of the ledger associated with the project. |
SponsoredFlag | A flag indicating whether the project is sponsored. |
ProjectTeamMember-> ProjectPartyId | The unique identifier of a project team member. |
ProjectTeamMember-> TeamMemberRoleId | The unique identifier of the role assigned to a project team member. |
ProjectTeamMember-> TeamMemberRoleName | The name of the role assigned to a project team member. |
ProjectTeamMember-> TeamMemberPersonId | The unique identifier of the person of record for a project team member. |
ProjectTeamMember-> TeamMemberEmailAddress | The email address of a project team member. |
ProjectTeamMember-> TeamMemberUserName | The user name of a project team member. |
ProjectTeamMember-> StartDateActive | The start date of a project team member. |
ProjectTeamMember-> EndDateActive | The end date of a project team member. |
ProjectTeamMember-> PjsTrackTime | A flag indicating whether missing time is tracked for a team member. |
Project Flexfields | Custom project-related flexfields created for use in your organization. |
ProjectEpsNodeMember-> EpsNodeId | The unique identifier of the Enterprise Project Structure (EPS) node to which the project belongs. |
ProjectEpsNodeMember-> EpsNodeName | The name of the Enterprise Project Structure (EPS) node to which the project belongs. |
ProjectEpsNodeMember-> EpsNodeTypeCode | The code for the type of the Enterprise Project Structure (EPS) node to which the project belongs. |
ProjectEpsNodeMember-> EpsMemberId | The unique identifier of the Enterprise Project Structure (EPS) member. |
ProjectEpsNodeMember-> EpsMemberDisplayName | The name of the Enterprise Project Structure (EPS) member. |
ProjectEpsNodeMember-> EpsMemberTypeFlag | A flag indicating the type of the Enterprise Project Structure (EPS) member. |
ProjectEpsNodeMember-> EpsMemberUsername | The user associated with the Enterprise Project Structure (EPS) member. |
ProjectClassification-> ProjectClassCategory | The project categories assigned to the project. |
ProjectClassification-> ProjectClassCode | The project class codes associated with the project class categories assigned to the project |
ProjectClassification-> ClassCodePercentage | The project class code percentage. |
Attribute | Description |
---|---|
projectStatusCode | The unique code of the project status. |
projectStatusName | The name of the project status. |
sourceStatusCode | Status codes specific to each source object, as identified by the STATUS_TYPE. Objects which uptake the project status model will either use STATUS_TYPE and SOURCE_STATUS_CODE to resolve a project status, or the globally unique PROJECT_STATUS_CODE. |
startDateActive | The effective start date of the project status. |
endDateActive | The effective end date of the project status. |
Project Status Change Approval Workflow Notifications
The Project Status Change Approval workflow sends notifications when:
- A project status change approval workflow is initiated.
-
A project status change approval workflow is approved or rejected.
The default Project Status Change Approval Workflow notification contains the following details:
-
Header
-
Project Status Change Approval Notification
- Project Name
-
- Approval options (if sent to an approver)
- Approve
- Reject
- Request Info?
- Contents Section
- Created on
- Created by
- Project number
- Project Description
- Previous Project Status
- Current Project Status
- Next Project Status if Approved
- Next Project Status if Rejected
- Comments from Submitter
-
Project Details
-
Project Type
-
Business Unit
- Organization
- Project Unit
- Project Manager
- Project Start Date
- Project Finish Date
-
-
Financial Summary
- Actual Costs
- Commitments
- Budget at Completion
- Revenue
- Approval History: One row per approver.
- Approvers
- Assigned to / Approved by / Rejected by <Name of Approver>
- Date and Time of Assignment / Approval / Rejection
- Submitter
- Submitted by <Name of Submitter>
- Date and Time of Submission
- Link to transaction details
- Approvers
For guidance on how you can work with workflow notifications in the BPM Worklist tool, see the Workflow Notifications section in the Common Implementing Applications guide.
You can find the templates and data models used in the Project Status Change Approval workflow in the Shared Folders > Projects > Workflow Notifications > Project Foundation folder in the Oracle BI Publisher catalog. In this folder, the ProjectStatusChangeApprovalReport file contains the template used in the notification report. Expand the Project Foundation > Data Models folder to access the ProjectStatusDM file, which contains the data model used in the notification report.
For information on how you can change notification templates, see the Configurable Notifications section in the Common Implementing Applications guide.