The Financial Plan Version Approval Workflow

Every time someone submits a budget version for baseline or a forecast version for approval, the application triggers the Financial Plan Version Approval workflow. This workflow notifies the configured approvers, who must approve or reject the financial plan version. It also sends a non-action notification to the project manager of the plan version and the user who initiated the workflow.

In the BPM Worklist tool, this workflow is named ApprovePlanVersion. The project manager is the default approver for this workflow.

How to Enable the Financial Plan Version Approval Workflow

In the Setup and Maintenance work area, go to the Manage Financial Plan Types task and select the Use workflow for status changes check box for the financial plan type to which the budget or forecast versions belong.

Key Components of Approval Workflow

Using approval workflow, you can define complex and multistage routing rules. The key components of approval workflow are:
Component Description

Oracle SOA Suite Approval Management Extensions

Approval management extensions of the human workflow services from Oracle SOA Suite are the core of approval functionality in Oracle Cloud. With these components, you can perform many key integrated tasks for the approval functionality. Here are the key functions of approval management extensions:
  • Integrates with Oracle HCM Cloud to derive approvers based on the supervisory, job role, and position-based hierarchies defined in Oracle HCM Cloud.
  • Provides the framework for defining approval rules for various business documents like financial plan version and invoice approvals.
  • Provides the ability to select complex routing patterns based on your business processes, such as whether to route documents to approvers in sequential or in parallel manner.

Oracle Business Process Management (BPM)

Provides an interface named BPM Worklist for business users to perform the following key activities related to approval management:
  • Provides an interface to work with various notifications tasks assigned to them. The BPM Worklist is a web-based application that displays all worklist tasks that're assigned to business users and they can perform various approval-related actions on the tasks assigned to them. Using this application, users can drill down to the task assigned to them, for example, an approver can drill down to the Financial Plan Approval Notification task to see the budget version details like version amounts and a requester can perform the necessary approval action.
  • Provides an interface to set up and manage approval rules.

Oracle Human Capital Management Cloud (Oracle HCM Cloud)

Used for defining various employee hierarchies like supervisory, job-based, or position-based. Approval management extensions integrate with Oracle HCM Cloud to derive the required approvers if approval rules are configured based on Oracle HCM Cloud hierarchies.

Human Task Workflow Concepts

To set up an approval hierarchy, you must define these as part of your workflow rules.
Concept Description

List Builders

Approval management determines the nature of the approvers required for a workflow approval using list builders. Each approval rule is associated with a list builder for generating the list of approvers. The Financial Plan Version Approval workflow supports the following list builders:
  • Supervisory
  • Job Level
  • Position
  • Approval Group
  • Resource
Note: For more information about List Builders and how to define them, see Workflow Approval and Notifications in the Implementing Applications guide.

Participants

A participant is a user or set of users who participate in the approval process. Each participant is associated with a rule set. Approval rules are defined in the context of a rule set and you can create many rules under one rule set. Based on your approval requirements, you must configure the approval rules in the context of a participant. The different types of participants that can be configured are:

  • Serial
  • Parallel
  • Single
  • For Your Information (FYI)
Note: For more information about participants, see Workflow Approval and Notifications in the Implementing Applications guide.

Participant Model Implemented in Financial Plan Version Approval Workflow

The Financial Plan Version Approval workflow uses the ApprovePlanVersion human task. You must configure this task for financial plan version approvals. This task is shared by the budget and forecast approval requests and includes the same participants for both the budget and forecast requests.

For financial plan approvals, a total of 13 participants are predefined. Out of these 13, the two key participants are the Approver and Requester. The Approver is an active participant to send approval notifications to the project manager (default approver). The Requester is an FYI participant to send FYI notifications to the requester who submits the budget for baseline or the forecast for approval.

The participant model that's implemented for the financial plan version approval supports both the parallel and sequential mode of approvals:
  • Parallel Mode: The task is assigned and notifications go to all participants at once in parallel. For example, participants 3 to 6 in the below figure are defined as parallel participants.
  • Sequential Mode: The task is assigned and notifications go in sequential mode, meaning one after another, to each participant. All participants have to approve sequentially for the task to be approved. For example, participants 7 to 13 in the below figure are defined as sequential participants.
Some points to consider:
  • Only Approver and Requester participants are enabled by default. You must enable the other participants as required.
  • The default approval rules in all the predefined rule sets are configured to send notifications to the project manager for approvals. 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 can’t change the order of the predefined participants.
  • You can’t add participants.

The following figure indicates the predefined participant model for the ApprovePlanVersion task.

Participant Model for ApprovePlanVersion Task

Here are the details of the participants defined in the financial plan version approval workflow. Each participant is associated with a predefined rule set.

Number Participant Name Rule Set Participant Type

1

Approver

BudgetForecastAMXRuleSet

Serial

2

Requester

NA

FYI

3

Financial Plan Approval Single Participant 1

ProjectBudgetsandForecastsApprovalSingleRuleSetOne

Single

4

Financial Plan Approval Parallel Participant 1

ProjectBudgetsandForecastsApprovalParallelRuleSetOne

Parallel

5

Financial Plan Approval Serial Participant 1

ProjectBudgetsandForecastsApprovalSerialParticipantOne

Serial

6

Financial Plan Approval FYI Participant 1

ProjectBudgetsandForecastsApprovalFYIRuleSetOne

FYI

7

Financial Plan Approval Single Participant 2

ProjectBudgetsandForecastsApprovalSingleRuleSetTwo

Single

8

Financial Plan Approval Parallel Participant 2

ProjectBudgetsandForecastsApprovalParallelRuleSetTwo

Parallel

9

Financial Plan Approval Serial Participant 2

ProjectBudgetsandForecastsApprovalSerialRuleSetTwo

Serial

10

Financial Plan Approval FYI Participant 2

ProjectBudgetsandForecastsApprovalFYIRuleSetTwo

FYI

11

Financial Plan Approval Single Participant 3

ProjectBudgetsandForecastsApprovalSingleRuleSetThree

Single

12

Financial Plan Approval Parallel Participant 3

ProjectBudgetsandForecastsApprovalParallelRuleSetThree

Parallel

13

Financial Plan Approval Serial Participant 3

ProjectBudgetsandForecastsApprovalSerialRuleSetThree

Serial

The Financial Plan Version Approval Process

Here's how the Financial Plan Version Approval process works.

Task Number Agent Description Comments

1

Project Administrator

Uses the Manage Budget Versions, Edit Budget Version, Manage Forecast Versions, or Edit Forecast Version page to submit a budget or a forecast for approval.

For information on working with budgets or forecasts, see Considerations for Creating Budgets and Forecasts in the Defining and Managing Financial Projects guide.

2

ApprovePlanVersion

As soon as someone submits a financial plan for approval, the workflow sends notifications to all configured assignees using email or in-app notifications, as configured.

When a budget or forecast version for a project template is submitted, the application skips the workflow and the version is set to Baseline or Approved status respectively.

For information on how you can customize approval workflow notifications, see Workflow Notifications in the Implementing Applications guide.

3

Workflow Assignees

Assignees review and approve or reject the financial plan.

If the workflow uses parallel approvers, then the Voting Percentage rule is used to determine the final approval.

For information on using BPM Worklist to update approval workflows, see Workflow Approvals and Notifications in the Implementing Applications guide. Also, see the Use Cases section in this topic.

4

ApprovePlanVersion

If the assignee rejects the financial plan, then the workflow updates the budget or forecast status to Current Working. If the assignee approves the financial plan, then the budget status is set to Current Baseline and the forecast status is set to Approved.

NA

5

ApprovePlanVersion

The workflow performs the following tasks once the financial plan is submitted.
  • If the financial plan is approved, the workflow sends notifications to configured recipients if configured. Otherwise, the workflow exits.
  • If the financial plan is rejected, the application sends a notification indicating the result to the submitter (Project Administrator).

NA

You can withdraw the submitted budget while it’s still under approval. However, in the following error scenarios, you can withdraw budget approvals only after two hours from the time the budget is submitted for approval:
    • Approval history doesn't exist.
    • Approvals are done but the budget is still in the Submitted status.

If the workflow is stuck due to an error, for example during rule evaluation, its indicated on the Approval History dialog box and you can't withdraw the budget approval. The application administrator can review the status of the workflow in the Transaction Console and either recover or withdraw the workflow.

Configure Financial Plan Version Approval Workflow

You can configure approval rules in the context of a rule set using BPM Worklist. To configure rules for this workflow, you must have the Projects Application Administrator job role.

  1. In the Setup and Maintenance work area, go to the Define Approval Management for Project Financial Management task.
  2. Click Manage Task Configurations for Project Financial Management.
  3. In the Tasks to be configured pane, search for your human task workflow. Enter the name of your human task workflow in the Search field and click Search task types. For example, to search for the Financial Plan Version Approval workflow, enter ApprovePlanVersion and click Search task types.
  4. Verify that the human task workflow appears underneath the Search.
  5. Select the task and click Edit task on the panel header.
  6. Click the Assignees tab on the right to view the predefined participants for the human task workflow.
  7. Select the appropriate participant and click Go to rule to navigate to the relevant rule set.
The structure of a workflow approval rule is as follows:
  1. Each rule consists of an IF and THEN component.
  2. In the IF section of the rule, define the condition that determines if the rule should be applied. If needed, you can define multiple conditions.
  3. In the THEN section of the rule, define how approvals will be generated if the conditions are met. The THEN component consists of a:
    • List builder and related attributes.
    • Response type that indicates if the assignees are required to respond or if they will receive an FYI notification.
    • Automatic action setting that lets you set an automatic response. For example, automatically approve or reject.
Some points to consider:
  • The default approval rules in all the predefined rule sets are configured to send notifications to the Project application administrator for approvals. 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.
  • For generic guidance on customizing workflows and notifications, see Workflow Approval and Notifications in the Implementing Applications guide.

Supported Attributes

The attributes that can be used to modify the behavior of this workflow are as follows:
  • Plan Version Payload attributes - These attributes are associated with the version that's being processed.
  • Project Attributes - These attributes are associated with the project that's associated with the budget or forecast.
  • Budget Attributes - These attributes are associated with the budget that's being processed.
  • Forecast Attributes - These attributes are associated with the forecast that's being processed.

Plan Version Payload Attributes

Attribute

Description

projectName

The name of the project.

projectNumber

The unique identifier of the project.

awardNumber

The award number.

awardId

The unique identifier of the award.

businessUnit

The unique identifier of the business unit.

projectUnit

The name of the project unit that's implementing the project that's associated with the budget or forecast.

planVersionName

The name of the budget or forecast version.

planVersionNumber

The unique identifier of the budget or forecast version.

requestorName

The name of the person requesting approval of the budget or forecast version.

approverName

The name of the person approving the budget or forecast version.

principalInvestigator

The name of the person acting as the principal investigator of the award budget.

SummaryAmounts --> peopleEffort

The labor effort amount of the budget or forecast version.

SummaryAmounts --> equipmentEffort

The equipment effort amount of the budget or forecast version.

SummaryAmounts --> pcRawCost

The raw cost amount of the budget or forecast version in project currency.

SummaryAmounts --> pcBurdenedCost

The burdened cost amount of the budget or forecast version in project currency.

SummaryAmounts --> pcRevenue

The revenue amount of the budget or forecast version in project currency.

SummaryAmounts --> pfcRawCost

The raw cost amount of the budget or forecast version in project ledger currency.

SummaryAmounts --> pfcBurdenedCost

The burdened cost amount of the budget or forecast version in project ledger currency.

SummaryAmounts --> pfcRevenue

The revenue amount of the budget or forecast version in project ledger currency.

SummaryAmounts --> margin

The margin amount of the budget or forecast version in project ledger currency.

SummaryAmounts --> marginPercent

The margin percentage of the budget or forecast version in project ledger currency.

planTypeName

The name of the financial plan type that's associated with the budget or forecast version.

planningAmount

The presence of cost amounts, revenue amounts, or both in a budget or forecast version.

projectNumAct

The system generated number of the project which starts at one and keeps incrementing.

versionNumAct

The system generated number of the budget or forecast version which starts at one and keeps incrementing.

Project Attributes
Note: Some of the attributes listed here can be found in folders in the Condition Explorer. The name of the folder is added to every such attribute in this table. Thus, for example, the attribute ProjectTeamMember > ProjectPartyId can be found in the ProjectTeamMember folder.

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 organization that's executing the project.

ProjectOrganizationName

The name of the organization that's implementing the project.

ProjectUnitId

The unique identifier of the project unit that's implementing the project that's associated with the budget or forecast.

ProjectUnitName

The name of the project unit that's implementing the project that's associated with the budget or forecast.

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 that's implementing the project.

LegalEntityName

The name of the legal entity that's implementing the project.

WorkTypeId

The unique identifier of the work type that's associated with task for which the budget or forecast is created.

WorkTypeName

The name of the work type that's associated with the task for which the budget or forecast is created.

ProjectCurrencyCode

The currency code used by default with amounts in the project.

ProjectLedgerCurrencyCode

The currency code used by default with amounts in the project ledger.

SponsoredFlag

Indicates whether the project is sponsored or not.

ProjectClassification

The classification of the project. The node comprises of ProjectClassCategory, ProjectClassCode, and ClassCodePercentage attributes that help in classifying a project.

ProjectDff

Custom project-related flexfields created for use in your organization.

ProjectTeamMember --> projectPartyId

The unique identifier of a party assignment to the project for a project team member associated with the budget or forecast version.

ProjectTeamMember --> TeamMemberRoleId

The unique identifier of the role that's assigned to a project team member associated with the budget or forecast version.

ProjectTeamMember --> TeamMemberRoleName

The name of the role that's assigned to a project team member associated with the budget or forecast version.

ProjectTeamMember --> TeamMemberPersonId

The unique identifier of a project team member associated with the budget or forecast version.

ProjectTeamMember --> TeamMemberEmailAddress

The email address of a project team member associated with the budget or forecast version.

ProjectTeamMember --> TeamMemberUserName

The name of a project team member associated with the budget or forecast version.

ProjectTeamMember --> startDateActive

The start date of a project team member associated with the budget or forecast version.

ProjectTeamMember --> endDateActive

The end date of a project team member associated with the budget or forecast version.

Budget Attributes

Attribute

Description

VersionName

The name of the budget version.

VersionNumber

The number of the budget version.

InternalVersionId

The unique identifier of the budget version.

ProjectName

The name of the project that's associated with the budget version.

ProjectNumber

The number of the project that's associated with the budget version.

InternalProjectId

The unique identifier of the project that's associated with the budget version.

FinancialPlanType

The name of the financial plan type that's associated with the budget version.

Status

The status of the budget version.

PlanningAmounts

The presence of cost amounts, revenue amounts, or both in a budget version.

BaselinedBy

The name of the person who set the budget version to baseline.

BaselinedDate

The date when the budget version is set to baseline.

ProjectCurrency

The currency in which the project that's associated with the budget is implemented.

TotalRevenue

The total revenue amounts taken into account the planning amounts from the previous budget version plus any adjusted amounts.

TotalRawCost

The total raw cost amounts taken into account the planning amounts from the previous budget version plus any adjusted amounts.

TotalBurdenedCost

The total burdened cost amounts taken into account the planning amounts from the previous budget version plus any adjusted amounts.

Margin

The difference between the budgeted cost and revenue amounts.

MarginPercentage

The difference between the budgeted cost and revenue amounts, expressed as a percentage.

TotalEffortAtCompletion

The projected amount of work, in hours, for labor and equipment resource classes from the budget version.

EquipmentEffortAtCompletion

The projected amount of work, in hours, for equipment resource class from the budget version.

PeopleEffortAtCompletion

The projected amount of work, in hours, for labor resource class from the budget version.

PlanningOptionDff

Custom budget planning options related flexfields created for use in your organization.

projectBudgetCurrentBaselinedVersions --> ProjectId

The unique identifier of the project that's associated with the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> PlanVersionId

The unique identifier of the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> PlanTypeId

The unique identifier of the financial plan type that's associated with the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> PlanningOptionId

The unique identifier of the financial planning options setup that's associated with the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> ProjectNumber

The project number of the project that's associated with the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> ProjectName

The name of the project that's associated with the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> PlanVersionNumber

The version number of the project that's associated with the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> PlanVersionName

The name of the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> PlanTypeName

The name of the financial plan type that's associated with the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> BaselinedDate

The date when the current baseline budget version was set to baseline.

projectBudgetCurrentBaselinedVersions --> PeopleQuantity

The amount of work, in hours, for labor resource class from the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> EquipmentQuantity

The amount of work, in hours, for equipment resource class from the current baseline budget version.

projectBudgetCurrentBaselinedVersions --> TotalPcBrdndCost

The total of burdened cost amounts of the current baseline budget in project currency.

projectBudgetCurrentBaselinedVersions --> TotalPcRawCost

The total of raw cost amounts of the current baseline budget in project currency.

projectBudgetCurrentBaselinedVersions --> TotalPcRevenue

The total of revenue amounts of the current baseline budget in project currency.

projectBudgetCurrentBaselinedVersions --> TotalPfcBrdndCost

The total of burdened cost amounts of the current baseline budget in project ledger currency.

projectBudgetCurrentBaselinedVersions --> TotalPfcRawCost

The total of raw cost amounts of the current baseline budget in project ledger currency.

projectBudgetCurrentBaselinedVersions --> TotalPfcRevenue

The total of revenue amounts of the current baseline budget in project ledger currency.

projectBudgetCurrentBaselinedVersions --> ApprovedCostPlanTypeFlag

Indicates if the current baseline budget is of approved cost plan type or not.

projectBudgetCurrentBaselinedVersions --> ApprovedRevPlanTypeFlag

Indicates if the current baseline budget is of approved revenue plan type or not.

projectBudgetCurrentBaselinedVersions --> BudgetSourceReference

The reference of the source that's used for creating the current baseline budget version.

Forecast Attributes

Attributes

Description

InternalVersionId

The unique identifier of the forecast version.

VersionName

The name of the forecast version.

VersionNumber

The number of the forecast version.

ProjectName

The name of the project that's associated with the forecast version.

ProjectNumber

The number of the project that's associated with the forecast version.

InternalProjectId

The unique identifier of the project that's associated with the forecast version.

Status

The status of the forecast version.

PlanningAmounts

The presence of cost amounts, revenue amounts, or both in a forecast version.

ProjectCurrency

The currency in which the project that's associated with the forecast is implemented.

FinancialPlanType

The name of the financial plan type that's associated with the forecast version.

EtcStartDate

The date when the estimate-to-complete is intended to begin.

EACBurdenedCost

The estimated burdened cost amount at the completion of the project.

EACRawCost

The estimated raw cost amount at the completion of the project.

EACRevenue

The estimated revenue amount that will be recognized at the completion of the project.

Margin

The difference between the estimate-at-completion cost and revenue amounts.

MarginPercentage

The difference between estimate-at-completion cost and revenue amounts, expressed as a percentage.

EACPeopleEffortAtCompletion

The projected amount of work, in hours, for labor resource class from the forecast version.

EACEquipmentEffortAtCompletion

The projected amount of work, in hours, for equipment resource class from the forecast version.

EACTotalEffortAtCompletion

The projected amount of work, in hours, for labor and equipment resource classes from the forecast version.

ETCBurdenedCost

The estimated burdened cost amount to complete the project.

ETCRawCost

The estimated raw cost amount to complete the project.

ETCRevenue

The estimated revenue amount to be recognized to complete the project.

ActualBurdenedCost

The actual burdened cost amount incurred on the project.

ActualRawCost

The actual raw cost amount incurred on the project.

PhysicalPercentComplete

The amount of physical work achieved, expressed as percentage.

TotalCommitments

The total planned quantity or amounts of commitments required to complete a project.

PlanningOptionDff

Custom forecast planning options related flexfields created for use in your organization.

projectForecastCurrentApprovedVersions --> ProjectId

The unique identifier of the project that's associated with the current approved forecast version.

projectForecastCurrentApprovedVersions --> PlanVersionId

The unique identifier of the current approved forecast version.

projectForecastCurrentApprovedVersions --> PlanTypeId

The unique identifier of the financial plan type that's associated with the current approved forecast version.

projectForecastCurrentApprovedVersions --> ProjectNumber

The number of the project that's associated with the current approved forecast version.

projectForecastCurrentApprovedVersions --> ProjectName

The name of the project that's associated with the current approved forecast version.

projectForecastCurrentApprovedVersions --> PlanVersionNumber

The version number of the project that's associated with the current approved forecast version.

projectForecastCurrentApprovedVersions --> PlanVersionName

The name of the current approved forecast version.

projectForecastCurrentApprovedVersions --> PlanTypeName

The name of the financial plan type that's associated with the current approved forecast version.

projectForecastCurrentApprovedVersions --> PlanningOptionId

The unique identifier of the financial planning options setup that's associated to the current approved forecast version.

projectForecastCurrentApprovedVersions --> BaselinedDate

The date when the current approved forecast version was set to baseline.

projectForecastCurrentApprovedVersions --> EtcStartDate

The date when the estimate-to-complete is intended to begin in the current approved forecast version.

projectForecastCurrentApprovedVersions --> PeopleQuantity

The amount of work, in hours, for labor resource class from the current approved forecast version.

projectForecastCurrentApprovedVersions --> EquipmentQuantity

The amount of work, in hours, for equipment resource class from the current approved forecast version.

projectForecastCurrentApprovedVersions --> TotalPcBrdndCost

The total of burdened cost amounts of the current approved forecast in project currency.

projectForecastCurrentApprovedVersions --> TotalPcRawCost

The total of raw cost amounts of the current approved forecast in project currency.

projectForecastCurrentApprovedVersions --> TotalPcRevenue

The total of revenue amounts of the current approved forecast in project currency.

projectForecastCurrentApprovedVersions --> TotalPfcBrdndCost

The total of burdened cost amounts of the current approved forecast in project ledger currency.

projectForecastCurrentApprovedVersions --> TotalPfcRawCost

The total of raw cost amounts of the current approved forecast in project ledger currency.

projectForecastCurrentApprovedVersions --> TotalPfcRevenue

The total of revenue amounts of the current approved forecast in project ledger currency.

projectForecastCurrentApprovedVersions --> PrimaryCostForecastFlag

Indicates if the current approved forecast is of approved cost plan type or not.

projectForecastCurrentApprovedVersions --> PrimaryRevForecastFlag

Indicates if the current approved forecast is of approved revenue plan type or not.

projectForecastCurrentApprovedVersions --> ForecastSourceReference

The reference of the source that's used for creating the current approved forecast.

Financial Plan Version Approval Workflow Notifications

The Financial Plan Version Approval workflow sends notifications when:
  • A budget or forecast version requires approval.
  • A budget or forecast version is approved or rejected.
  • A budget or forecast version requires more information.
Note: For guidance on how you can work with workflow notifications in BPM Worklist, see Workflow Notifications in the Common Implementing Applications guide.

Contents of a Financial Plan Version Approval Workflow Notification

A Financial Plan Version Approval Workflow notification contains the following details:
Note: Below are the details of a budget notification.
  • Header
    • Budget Version
    • Created On
    • Created By
    • Version Number
    • Version Description
    • Financial Plan Type
  • Summary Section
    • Project
    • Labor Effort (Hours)
    • Equipment Effort (Hours)
    • Burdened Cost in Project Currency
    • Raw Cost in Project Currency
    • Burdened Cost in Project Ledger Currency
    • Raw Cost in Project Ledger Currency
  • 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 budget version
  • Approval options (if sent to an approver)
    • Approve
    • Reject
    • Request Info

Customizing Notification Templates

You can find the templates and data models used in the Financial Plan Version Approval workflow in the Shared Folders > Projects > Workflow Notifications > Project Control folder in the Oracle BI Publisher catalog. In this folder, the FinancialPlanVersionApprovalTemplate file contains the template used in the notification report. Expand the Project Control > Data Model folder to access the FinancialPlanVersionApprovalDM file, which contains the data model used in the notification report.

Note: For information on how you can customize notification templates, see Configure Workflow Approvals and Notifications in the Implementing Applications guide.

Use Cases

Automatically Approve the Budget Version for Baseline in All Cases

To set up autoapproval for project budgets:

  1. In the Setup and Maintenance work area, go to the Manage Task Configurations for Project Financial Management task.

    The BPM Worklist application is displayed.

  2. In the Tasks to be configured pane, search for the ApprovePlanVersion task, and click the ApprovePlanVersion link.
  3. Click the Edit icon in the Tasks to be configured pane to modify the workflow.
  4. Click the Assignees tab.

    The participants who must approve project budgets or forecasts are displayed. Click on each of these participants to review the workflow rules that apply to their approval choices.

  5. Click the Approver participant in the workflow, click the Go to Rule (the diamond shaped) icon within the Approver box, and then click the Go to Rule option that appears.

    The list of rules associated with the Approver participant are displayed. Ensure that the BudgetForecastAMXRuleSet rule is selected in the drop-down list.

  6. Change the IF condition of the predefined rules from 1 is 1 to 1 is 2 to disable the predefined workflow from sending project budget or forecast approvals to the project manager for approval.
  7. Add the AutoApproval rule, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options (the + icon) drop-down list and select General Rule.
    2. Click the Properties link, enter AutoApproval in the Name field, add the description, verify that the Active check box is selected, and click OK.
    3. In the IF part of the rule, click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF conditions as follows:

      Value to Enter in the Left Text Box

      Value to Select in the Number Comparison Drop-down List

      Value to Enter in the Right Text Box

      Why to Add the IF Condition

      ApprovePlanVersionPayloadType.planClassCode

      Note that you can also select this value by clicking the Left Value search icon and selecting ApprovePlanVersionPayloadType.planClassCode in the Condition Browser dialog box.

      is

      "BUDGET"

      This value is case-sensitive. Include the quotation marks. Don't copy and paste this value.

      To meet similar requirements for forecasts, enter "FORECAST".

      To specify that the rule is applicable only for budget versions.

    4. In the THEN part of the rule, click the Advanced Add or Modify Options drop-down list and select the Supervisory list builder by clicking Add Approver > Supervisory. Then, enter the values as follows:
      • Response Type: Required
      • Number of levels: 1
      • Starting Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Top Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Auto Action Enabled: True
      • Auto Action: “APPROVE” (Type this value including the quotation marks. Don't copy and paste this value.)
      • Rule Name: “AutoApproval”
        Note: The rule name is auto-populated, its the name that you entered in Step 7.
      • Dimension Id: null
        Note: The dimension id is auto-populated as null.
  8. Click Validate on the top right corner to validate the newly defined rules.
  9. Click the Save icon in the Tasks to be configured pane to save the rules.
  10. Click the Commit task icon in the Tasks to be configured pane to complete the rule configuration.
  11. Click OK to close the confirmation message window.

Simple Approval Rule Using Resource and Supervisory List Builders

Suppose that you want to approve the budget version for baseline based on the budget amount. Let's say, if the budget burdened cost is less than or equal to $1000, then it should be auto-approved. Else, it should go to the project manager for approvals. In such case, edit the predefined rule set to define two approval rules as follows:
  • Autoapproval rule for budget cost less than or equal to $1000 using the Supervisory list builder.
  • Project manager approval for budget cost greater than $1000 using the Resource list builder.

Follow these steps:

  1. In the Setup and Maintenance work area, go to the Manage Task Configurations for Project Financial Management task.

    The BPM Worklist application is displayed.

  2. In the Tasks to be configured pane, search for the ApprovePlanVersion task, and click the ApprovePlanVersion link.
  3. Click the Edit icon in the Tasks to be configured pane to modify the workflow.
  4. Click the Assignees tab.

    The participants who must approve project budgets or forecasts are displayed. Click on each of these participants to review the workflow rules that apply to their approval choices.

  5. Click the Approver participant in the workflow, click the Go to Rule (the diamond shaped) icon within the Approver box, and then click the Go to Rule option that appears.

    The list of rules associated with the Approver participant are displayed. Ensure that the BudgetForecastAMXRuleSet rule is selected in the drop-down list.

  6. Change the IF condition of the predefined rules from 1 is 1 to 1 is 2 to disable the predefined workflow from sending project budget or forecast approvals to the project manager for approval.
  7. Add the AutoApproval rule, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options (the + icon) drop-down list and select General Rule.
    2. Click the Properties link, enter AutoApproval in the Name field, add the description, verify that the Active check box is selected, and click OK.
    3. In the IF part of the rule, click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF conditions as follows:

      Value to Enter in the Left Text Box

      Value to Select in the Number Comparison Drop-down List

      Value to Enter in the Right Text Box

      Why to Add the IF Condition

      ApprovePlanVersionPayloadType.planClassCode

      Note that you can also select this value by clicking the Left Value search icon and selecting ApprovePlanVersionPayloadType.planClassCode in the Condition Browser dialog box.

      is

      "BUDGET"

      This value is case-sensitive. Include the quotation marks. Don't copy and paste this value.

      To meet similar requirements for forecasts, enter "FORECAST".

      To specify that the rule is applicable only for budget versions.

      ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost

      isn't

      null

      To check if the burdened cost amounts are available.

      new BigDecimal(ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost)

      same or less than

      1000.00

      To check if the burdened cost is within the threshold limit.

    4. In the THEN part of the rule, click the Advanced Add or Modify Options drop-down list and select the Supervisory list builder by clicking Add Approver > Supervisory. Then, enter the values as follows:
      • Response Type: Required
      • Number of levels: 1
      • Starting Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Top Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Auto Action Enabled: True
      • Auto Action: “APPROVE” (Type this value including the quotation marks. Don't copy and paste this value.)
      • Rule Name: “AutoApproval”
        Note: The rule name is auto-populated, its the name that you entered in Step 7.
      • Dimension Id: null
        Note: The dimension id is auto-populated as null.
  8. Add the Project manager approval rule, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options drop-down list and select General Rule.
    2. Click the Properties link, enter ProjectManagerApproval in the Name field, add the description, verify that the Active check box is selected, and click OK.
    3. In the IF part of the rule, click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF conditions as follows:

      Value to Enter in the Left Text Box

      Value to Select in the Number Comparison Drop-down List

      Value to Enter in the Right Text Box

      Why to Add the IF Condition

      ApprovePlanVersionPayloadType.planClassCode

      Note that you can also select this value by clicking the Left Value search icon and selecting ApprovePlanVersionPayloadType.planClassCode in the Condition Browser dialog box.

      is

      "BUDGET"

      This value is case-sensitive. Include the quotation marks. Don't copy and paste this value.

      To meet similar requirements for forecasts, enter "FORECAST".

      To specify that the rule is applicable only for budget versions.

      ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost

      isn't

      null

      To check if the burdened cost amounts are available.

      new BigDecimal(ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost)

      more than

      1000.00

      To check if the burdened cost is within the threshold limit.

    4. In the THEN part of the rule, click the Advanced Add or Modify Options drop-down list and select the the Resource list builder by clicking Add Approver > Resource. Then, enter the values as follows: :
      • Response Type: Required
      • Users: ApprovePlanVersionPayloadType.approvePlanPayload.approverName
      • Groups: null
      • Application Role:null
      • Rule Name: “ProjectManagerApproval”
        Note: The rule name is auto-populated, its the name that you entered in Step 8.
      • Dimension Id: null
        Note: The dimension id is auto-populated as null.
  9. Click Validate on the top right corner to validate the newly defined rules.
  10. Click the Save icon in the Tasks to be configured pane to save the rules.
  11. Click the Commit task icon in the Tasks to be configured pane to complete the rule configuration.
  12. Click OK to close the confirmation message window.

Multilevel Approval Rule Using Supervisory List Builder

Suppose that you want to approve the budget version for baseline based on the budget cost. The higher the budget cost, the more levels of approval needed for the budget. Let's say, if the budget cost is same or less than $5000, then it should be approved only by the project manager. If the budget cost is between $5000 and $20000, then it should go till the second level of approval to the manager of the project manager. If the budget cost is higher than $20000, then it should go till the third level of approval to the manager of the manager of the project manager.

Budget Cost Greater Than

Budget Cost Same or Less Than

Levels of Approvals Required

0

5000

1

5000

20000

2

20000

No upper limit

3

In such case, edit the predefined rule set to route the budget version to a hierarchy using the Supervisory list builder based on the budget cost.
  • First level approval rule to route approval to project manager for budget cost that’s same or less than $5000.
  • Second level approval rule to route approval to the project manager and the manager of project manager for budget cost that’s between $5000 and $20000.
  • Third level approval rule to route approval till the manager of the manager of the project manager for budget cost that’s greater than $20000.

You must also find out the highest position in the job hierarchy so that you can implement this approval for any number of levels till the highest position in your hierarchy. In this example, we’ll consider the highest position in the hierarchy to be CEO. See the implementation steps to define jobs in Oracle Fusion Cloud HCM documentation.

Pre-requisite: Define jobs in Oracle Fusion Cloud HCM.

Follow these steps:

  1. In the Setup and Maintenance work area, go to the Manage Task Configurations for Project Financial Management task.

    The BPM Worklist application is displayed.

  2. In the Tasks to be configured pane, search for the ApprovePlanVersion task, and click the ApprovePlanVersion link.
  3. Click the Edit icon in the Tasks to be configured pane to modify the workflow.
  4. Click the Assignees tab.

    The participants who must approve project budgets or forecasts are displayed. Click on each of these participants to review the workflow rules that apply to their approval choices.

  5. Click the Approver participant in the workflow, click the Go to Rule (the diamond shaped) icon within the Approver box, and then click the Go to Rule option that appears.

    The list of rules associated with the Approver participant are displayed. Ensure that the BudgetForecastAMXRuleSet rule is selected in the drop-down list.

  6. Change the IF condition of the predefined rules from 1 is 1 to 1 is 2 to disable the predefined workflow from sending project budget or forecast approvals to the project manager for approval.
  7. Add the first level rule, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options (the + icon) drop-down list and select General Rule.
    2. Click the Properties link, enter FirstLevel in the Name field, add the description, verify that the Active check box is selected, and click OK.
    3. In the IF part of the rule, click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF conditions as follows:

      Value to Enter in the Left Text Box

      Value to Select in the Number Comparison Drop-down List

      Value to Enter in the Right Text Box

      Why to Add the IF Condition

      ApprovePlanVersionPayloadType.planClassCode

      Note that you can also select this value by clicking the Left Value search icon and selecting ApprovePlanVersionPayloadType.planClassCode in the Condition Browser dialog box.

      is

      "BUDGET"

      This value is case-sensitive. Include the quotation marks. Don't copy and paste this value.

      To meet similar requirements for forecasts, enter "FORECAST".

      To specify that the rule is applicable only for budget versions.

      ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost

      isn't

      null

      To check if the burdened cost amounts are available.

      new BigDecimal(ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost)

      same or less than

      5000.00

      To check if the burdened cost is within the threshold limit.

    4. In the THEN part of the rule, click the Advanced Add or Modify Options drop-down list and select the Supervisory list builder by clicking Add Approver > Supervisory. Then, enter the values as follows:
      • Response Type: Required
      • Number of levels: 1
      • Starting Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Top Participant: HierarchyBuilder.getPrincipal("john.doe",-1,"","")
        Note: john.doe is the username of the CEO.
      • Auto Action Enabled: False
      • Auto Action: null
      • Rule Name: “FirstLevel”
        Note: The rule name is auto-populated, its the name that you entered in Step 7.
      • Dimension Id: null
        Note: The dimension id is auto-populated as null.
  8. Repeat Step 7 and make the following changes for the second and third levels of approval:
    • Enter the rule names as SecondLevel and ThirdLevel.
    • Enter the value in the IF condition as follows:
      • Second level: new BigDecimal(ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost) between 5000.00 and 20000.00
      • Third level: new BigDecimal(ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost) more than 20000.00
    • Enter the value in the THEN condition as follows:
      • 2 for second level and 3 for third level in the Number of levels field.
  9. Click Validate on the top right corner to validate the newly defined rules.
  10. Click the Save icon in the Tasks to be configured pane to save the rules.
  11. Click the Commit task icon in the Tasks to be configured pane to complete the rule configuration.
  12. Click OK to close the confirmation message window.

Skip a Level Using Supervisory List Builder and Rule Priority

Suppose that you want to approve the budget version for baseline by following alternate level approvals. Let’s say we have the following hierarchy defined in Oracle Fusion Cloud HCM.

Person

Position

Manager

Approval Required

David

Project Manager

Henry

Yes

Henry

Senior Manager

Nick

No

Nick

Group Manager

Abraham

Yes

The budget version must first be approved by David. After David approves, the workflow should then skip Henry and route the budget version approval to Nick. After Nick approves, the workflow should move into the approved state.

In such case, edit the predefined rule set to define an additional rule that uses rule priority and a try-catch action.

Follow these steps:

  1. In the Setup and Maintenance work area, go to the Manage Task Configurations for Project Financial Management task.

    The BPM Worklist application is displayed.

  2. In the Tasks to be configured pane, search for the ApprovePlanVersion task, and click the ApprovePlanVersion link.
  3. Click the Edit icon in the Tasks to be configured pane to modify the workflow.
  4. Click the Assignees tab.

    The participants who must approve project budgets or forecasts are displayed. Click on each of these participants to review the workflow rules that apply to their approval choices.

  5. Click the Approver participant in the workflow, click the Go to Rule (the diamond shaped) icon within the Approver box, and then click the Go to Rule option that appears.

    The list of rules associated with the Approver participant are displayed. Ensure that the BudgetForecastAMXRuleSet rule is selected in the drop-down list.

  6. Change the rule priority to ensure that the workflow notification is sent to the project manager and only after this approver approves, notifications are sent to the next approver.
    1. Select the SoaOLabel.FinancialPlanApprovalRule.BudgetorForecastApprovalRule predefined rule.
    2. Click the Properties link.
    3. Select Highest from the Priority drop-down list, select the Advanced Mode check box, verify that the Active check box is selected, and click OK.
  7. Change the IF condition of the predefined rules from 1 is 1 to 1 is 2 to disable the predefined workflow from sending project budget or forecast approvals to the project manager for approval.
  8. Add the skip level rule, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options (the + icon) drop-down list and select General Rule.
    2. Click the Properties link, enter SkipLevel in the Name field, add the description, select Medium from the Priority drop-down list, verify that the Active check box is selected, select the Advanced Mode check box, and click OK.
    3. Click the Insert Pattern link.
    4. In the IF part of the rule, add the Task is a Task pattern by entering Task in both the text boxes. Then, click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF condition, as follows:

      Value to Enter in the Left Text Box

      Value to Select in the Number Comparison Drop-down List

      Value to Enter in the Right Text Box

      Why to Add the IF Condition

      Task.payload.planClassCode

      Note that you can also select this value by clicking the Left Value search icon and selecting Task.payload.planClassCode in the Condition Browser dialog box.

      is

      "BUDGET"

      This value is case-sensitive. Include the quotation marks. Don't copy and paste this value.

      To meet similar requirements for forecasts, enter "FORECAST".

      To specify that the rule is applicable only for budget versions.

    5. In the THEN part of the rule, click the Insert Action drop-down list and select try. Then, perform these actions in the following order:

      Where to Perform the Action

      Action to Perform

      Result

      Under the try action

      Click the Insert Action drop-down list and select catch.

      The catch action is added.

      Under the catch action

      Click the Insert Action drop-down list and select Add Approver > Supervisory.

      The Supervisory list builder is added.

      Under the catch action

      Select the check box against catch and click the Move down icon.

      The Supervisory list builder moves directly under the try action.

      Under the try action

      Enter the values as follows:
      • Response Type: Required
      • Number of levels: 1
      • Starting Participant: HierarchyBuilder.getManager("supervisory",HierarchyBuilder.getManager("supervisory",Task.payload.approvePlanPayload.approverName,-1,"","LINE_MANAGER").getId(),-1,"","LINE_MANAGER")
      • Top Participant: HierarchyBuilder.getManager("supervisory",HierarchyBuilder.getManager("supervisory",Task.payload.approvePlanPayload.approverName,-1,"","LINE_MANAGER").getId(),-1,"","LINE_MANAGER")
        Note: Replace “LINE_MANAGER” with the hierarchy type that you define in Oracle HCM Cloud.
      • Auto Action Enabled: False
      • Auto Action: null
      • Rule Name: “SkipLevel”
        Note: The rule name is autopopulated, its the name that you entered in Step 8.
      • Dimension Id: null
        Note: The dimension id is autopopulated as null.

      NA

      In the catch action

      Select the check box against catch and click the Delete Action icon.
      Note: Before you perform this action, ensure that only the check box against catch is selected.

      The catch action is deleted.

      In the try action

      Select the check box against try and click the Insert Action drop-down list and select catch.

      The catch action is added.

      In the catch action

      Enter Object as the target and e as the identifier value in the text boxes.

      NA

      Under the catch action

      Click the Insert Action drop-down list and select return.

      NA

      Note: If the try and catch actions are indented at the same level, it indicates that the rule is configured correctly.
  9. Click Validate on the top right corner to validate the newly defined rules.
  10. Click the Save icon in the Tasks to be configured pane to save the rules.
  11. Click the Commit task icon in the Tasks to be configured pane to complete the rule configuration.
  12. Click OK to close the confirmation message window.

Multiple Approval Rules Based on Project Roles

Suppose that you want to define multiple approval rules based on project roles, as follows:
  • If the submitter has the project manager role on the project, then the budget version must be auto-approved.
  • If the submitter has the project administrator role (not project manger role) on the project, then the budget version must be routed to the project manager for approval.

In such case, edit the predefined rule set to define a couple of additional rules that use advanced mode with pattern matching.

Follow these steps:

  1. In the Setup and Maintenance work area, go to the Manage Task Configurations for Project Financial Management task.

    The BPM Worklist application is displayed.

  2. In the Tasks to be configured pane, search for the ApprovePlanVersion task, and click the ApprovePlanVersion link.
  3. Click the Edit icon in the Tasks to be configured pane to modify the workflow.
  4. Click the Assignees tab.

    The participants who must approve project budgets or forecasts are displayed. Click on each of these participants to review the workflow rules that apply to their approval choices.

  5. Click the Approver participant in the workflow, click the Go to Rule (the diamond shaped) icon within the Approver box, and then click the Go to Rule option that appears.

    The list of rules associated with the Approver participant are displayed. Ensure that the BudgetForecastAMXRuleSet rule is selected in the drop-down list.

  6. Change the IF condition of the predefined rules from 1 is 1 to 1 is 2 to disable the predefined workflow from sending project budget or forecast approvals to the project manager for approval.
  7. Add the approval rule, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options (the + icon) drop-down list and select General Rule.
    2. Click the Properties link, enter ProjectRoleBasedApproval in the Name field and add the description.
    3. Select Medium from the Priority drop-down list, select the Advanced Mode check box, verify that the Active check box is selected, and click OK.
    4. In the IF part of the rule:
      1. Click Insert Pattern, then enter Lists in the left box and select Lists from the drop-down list.
      2. Click the Add Pattern icon, then enter Task1 in the left box and select Task from the drop-down list.
      3. Click the Add Pattern icon and select Surround from the Surround selected tests with parenthesis drop-down list that's adjacent to the Add Pattern icon you just clicked.
      4. Select None from the drop-down list below and.
      5. Enter ProjectTeamMember1 in the left box and choose ProjectTeamMember from the drop-down list in the pattern.
      6. Click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF conditions within the same pattern as follows:

        Value to Enter in the Left Text Box

        Value to Select in the Number Comparison Drop-down List

        Value to Enter in the Right Text Box

        Why to Add the IF Condition

        Task1.payload.approvePlanPayload.requestorName

        Note that you can also select this value by clicking the Left Value search icon and selecting Task1.payload.approvePlanPayload.requestorName in the Condition Browser dialog box.

        is

        ProjectTeamMember1.teamMemberUserName

        Note that you can also select this value by clicking the Left Value search icon and selecting ProjectTeamMember1.teamMemberUserName in the Condition Browser dialog box.

        To specify that the requester is a project team member.

        ProjectTeamMember1.teamMemberRoleName

        is

        "Project Manager"

        To check whether the requester plays the Project Manager role in the project.

    5. In the THEN part of the rule, add a list builder of resource type by clicking Insert Action > Add Approver > Resource. Then, enter the values as follows:
      • Response Type: Required
      • Users: Task1.payload.approvePlanPayload.approverName
      • Groups: null
      • Application Role: null
      • Rule Name: “ProjectRoleBasedApproval”
        Note: The rule name is auto-populated, its the name that you entered in Step 7.
      • Dimension Id: null
        Note: The dimension id is auto-populated as null.
  8. Add the auto-approval rule for project manager role, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options drop-down list and select General Rule.
    2. Click the Properties link, enter AutoApproveForProjectManagerRole in the Name field, and add the description.
    3. Select Medium from the Priority drop-down list, select the Advanced Mode check box, verify that the Active check box is selected, and click OK.
    4. In the IF part of the rule:
      1. Click Insert Pattern, then enter Lists in the left box, and select Lists from the drop-down list.
      2. Click the Add Pattern icon, then enter Task1 in the left box, and select Task from the drop-down list.
      3. Click the Add Pattern icon and select Surround from the Surround selected tests with parenthesis drop-down list that's adjacent to the Add Pattern icon you just clicked.
      4. Select None from the drop-down list below and.
      5. Type ProjectTeamMember1 in the left box and choose ProjectTeamMember from the drop-down list in the pattern.
      6. Click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF conditions within the same pattern as follows:

        Value to Enter in the Left Text Box

        Value to Select in the Number Comparison Drop-down List

        Value to Enter in the Right Text Box

        Why to Add the IF Condition

        Task1.payload.approvePlanPayload.requestorName

        Note that you can also select this value by clicking the Left Value search icon and selecting Task1.payload.approvePlanPayload.requestorName in the Condition Browser dialog box.

        is

        ProjectTeamMember1.teamMemberUserName

        Note that you can also select this value by clicking the Left Value search icon and selecting ProjectTeamMember1.teamMemberUserName in the Condition Browser dialog box.

        To specify that the requester is a project team member.

        ProjectTeamMember1.teamMemberRoleName

        is

        "Project Manager"

        To check whether the requester plays the Project Manager role in the project.

    5. In the THEN part of the rule, add a list builder of supervisory type by clicking Insert Action > Add Approver > Supervisory. Then, enter the values as follows:
      • Response Type: Required
      • Number of levels: 1
      • Starting Participant: HierarchyBuilder.getPrincipal(Task1.payload.approvePlanPayload.approverName,-1,"","")
      • Top Participant: HierarchyBuilder.getPrincipal(Task1.payload.approvePlanPayload.approverName,-1,"","")
      • Auto Action Enabled: True
      • Auto Action: "APPROVE" (Type this value including the quotation marks. Don't copy and paste this value.)
      • Rule Name: “AutoApproveForProjectManagerRole”
        Note: The rule name is auto-populated, its the name that you entered in Step 8.
      • Dimension Id: null
        Note: The dimension id is auto-populated as null.
  9. Click Validate on the top right corner to validate the newly defined rules.
  10. Click the Save icon in the Tasks to be configured pane to save the rules.
  11. Click the Commit task icon in the Tasks to be configured pane to complete the rule configuration.
  12. Click OK to close the confirmation message window.

Approval Rule Comparing the Strategic Budget from EPM

Suppose that you want to approve the budget version for baseline based on the comparison with the strategic budget. Let's say, if the detailed project budget created has a difference of amount that’s less than or equal to 5000 USD than that of the strategic budget, then it’s approved by the project manager. If the detailed project budget created has a difference of amount that’s greater than 5000 USD than that of the strategic budget, then it’s auto-rejected.

Follow these steps:

  1. In the Setup and Maintenance work area, go to the Manage Task Configurations for Project Financial Management task.

    The BPM Worklist application is displayed.

  2. In the Tasks to be configured pane, search for the ApprovePlanVersion task, and click the ApprovePlanVersion link.
  3. Click the Edit icon in the Tasks to be configured pane to modify the workflow.
  4. Click the Assignees tab.

    The participants who must approve project budgets or forecasts are displayed. Click on each of these participants to review the workflow rules that apply to their approval choices.

  5. Click the Approver participant in the workflow, click the Go to Rule (the diamond shaped) icon within the Approver box, and then click the Go to Rule option that appears.

    The list of rules associated with the Approver participant are displayed. Ensure that the BudgetForecastAMXRuleSet rule is selected in the drop-down list.

  6. Change the IF condition of the predefined rules from 1 is 1 to 1 is 2 to disable the predefined workflow from sending project budget or forecast approvals to the project manager for approval.
  7. Add the auto-approval rule, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options (the + icon) drop-down list and select General Rule.
    2. Click the Properties link, enter AutoApprovalLessThanStrategicBudgetBy5000 in the Name field and add the description, verify that the Active check box is selected, and click OK.
    3. In the IF part of the rule, click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF conditions within the same pattern as follows:

      Value to Enter in the Left Text Box

      Value to Select in the Number Comparison Drop-down List

      Value to Enter in the Right Text Box

      Why to Add the IF Condition

      ApprovePlanVersionPayloadType.approvePlanPayload.planTypeName

      is

      “Detailed Budget”

      Replace this with the appropriate FPT name that's used for the detailed budget.

      NA

      ApprovePlanVersionPayloadType.planClassCode

      Note that you can also select this value by clicking the Left Value search icon and selecting ApprovePlanVersionPayloadType.planClassCode in the Condition Browser dialog box.

      is

      "BUDGET"

      This value is case-sensitive. Include the quotation marks. Don't copy and paste this value.

      • To meet similar requirements for forecasts, enter "FORECAST".

      To specify that the rule is applicable only for budget versions.

      new BigDecimal(ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost).subtract(ProjectBudgetCurrentBaselinedVersions.totalPcBrdndCost)

      Same or less than

      5000.00

      NA

      ProjectBudgetCurrentBaselinedVersions.planTypeName

      is

      "Strategic Budget"

      Replace this with the appropriate FPT name that's used in EPM.

      NA

      ProjectBudgetCurrentBaselinedVersions.planTypeName

      Note that you can also select this value by clicking the Left Value search icon and selecting ProjectBudgetCurrentBaselinedVersions.planTypeName in the Condition Browser dialog box.

      isn't

      null

      NA

    4. In the THEN part of the rule, add a list builder of supervisory type by clicking Insert Action > Add Approver > Supervisory. Then, enter the values as follows:
      • Response Type: Required
      • Number of levels: 1
      • Starting Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Top Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Auto Action Enabled: True
      • Auto Action: “APPROVE” (Type this value including the quotation marks. Don't copy and paste this value.)
      • Rule Name: “AutoApprovalLessThanStrategicBudgetBy5000"
        Note: The rule name is auto-populated, its the name that you entered in Step 7.
      • Dimension Id: null
        Note: The dimension id is auto-populated as null.
  8. Add the auto-reject rule, as follows:
    1. In the Rules pane, click the Advanced Add or Modify Options drop-down list and select General Rule.
    2. Click the Properties link, enter AutoRejectMoreThanStrategicBudgetBy5000 in the Name field, add the description, verify that the Active check box is selected, and click OK.
    3. In the IF part of the rule, click the Advanced Add or Modify Options drop-down list and select simple test, and add the IF conditions within the same pattern as follows:

      Value to Enter in the Left Text Box

      Value to Select in the Number Comparison Drop-down List

      Value to Enter in the Right Text Box

      Why to Add the IF Condition

      ApprovePlanVersionPayloadType.planClassCode

      Note that you can also select this value by clicking the Left Value search icon and selecting ApprovePlanVersionPayloadType.planClassCode in the Condition Browser dialog box.

      is

      "BUDGET"

      This value is case-sensitive. Include the quotation marks. Don't copy and paste this value.

      To meet similar requirements for forecasts, enter "FORECAST".

      To specify that the rule is applicable only for budget versions.

      ProjectBudgetCurrentBaselinedVersions.planTypeName

      Note that you can also select this value by clicking the Left Value search icon and selecting ProjectBudgetCurrentBaselinedVersions.planTypeName in the Condition Browser dialog box.

      isn't

      null

      NA

      ProjectBudgetCurrentBaselinedVersions.planTypeName

      is

      "Strategic Budget"

      Replace this with the appropriate FPT name that's used in EPM.

      NA

      ApprovePlanVersionPayloadType.approvePlanPayload.planTypeName

      is

      “Detailed Budget”

      Replace this with the appropriate FPT name that's used for the detailed budget.

      NA

      new BigDecimal(ApprovePlanVersionPayloadType.approvePlanPayload.summaryAmounts.pcBurdenedCost).subtract(ProjectBudgetCurrentBaselinedVersions.totalPcBrdndCost)

      more than

      5000.00

      NA

    4. In the THEN part of the rule, add a list builder of supervisory type by clicking Insert Action > Add Approver > Supervisory. Then, enter the values as follows:
      • Response Type: Required
      • Number of levels: 1
      • Starting Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Top Participant: HierarchyBuilder.getPrincipal(ApprovePlanVersionPayloadType.approvePlanPayload.approverName,-1,"","")
      • Auto Action Enabled: True
      • Auto Action: “APPROVE” (Type this value including the quotation marks. Don't copy and paste this value.)
      • Rule Name: “AutoRejectMoreThanStrategicBudgetBy5000"
        Note: The rule name is auto-populated, its the name that you entered in Step 8.
      • Dimension Id: null
        Note: The dimension id is auto-populated as null.
  9. Click Validate on the top right corner to validate the newly defined rules.
  10. Click the Save icon in the Tasks to be configured pane to save the rules.
  11. Click the Commit task icon in the Tasks to be configured pane to complete the rule configuration.
  12. Click OK to close the confirmation message window.