Comparing to the Strategic Budget from EPM in Approval Rules

Say you want to approve a budget version for baseline by comparing it to the strategic budget. For example, if the detailed project budget differs from the strategic budget by $5,000 or less, it’s routed to the project manager for approval. If the difference is greater than $5,000, the workflow automatically rejects the budget version.

Follow these steps:

  1. In Setup and Maintenance, click the Task Panel, then search for and click the Manage Task Configurations for Project Financial Management task.

    The BPM Worklist application appears.

  2. In the Tasks to be configured pane, search for the ApprovePlanVersion task, and click the ApprovePlanVersion link.
  3. Click the Edit Task icon in the Tasks to be configured pane to open the task in edit mode.
  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.