How You Define Approval Rules
Approval rules are configurable rules for expense report approval created in Approval Management Extensions. Oracle Fusion Expenses provides nine predefined rule sets. By using the BPM Worklist, you can define new approval rules or modify existing ones in AMX.
To manage approval rules, you must be a BPM Worklist administrator, such as a financial application administrator.
If you are authorized to manage the approval rules, you can:
-
Modify existing approval rules
-
Define new approval rules
-
Understand and apply properties of rules and rule sets
If you are authorized to manage the approval rules, an Administration link displays in the corner of the BPM Worklist. To define new approval rules or modify existing ones, click the Administration link, click the Task Configuration tab, click the Data Driven tab to display the Data driven configuration page, and then select the FinExmWorkflowExpenseApproval task from the Tasks to be configured pane.
Each rule set contains one or more approval rules. Each approval rule has an approval condition and a list of approvers. The list of approvers derived for each rule set is called a participant. To generate the list of approvers, each rule requires a list builder to be associated with it.
Each expense report can only satisfy one rule within a rule set. If an expense report does not satisfy any rule in a rule set, the approval process errors and an incident is reported in Oracle Enterprise Manager Grid Control.
Modify Existing Approval Rules
In the Data driven configuration page, select a rule set to modify and click the Edit icon in the Tasks to be configured pane. You can now add, modify, or delete rules within the specified rule set. The changes take effect when you click the Commit Task icon in the Tasks to be configured pane. Saving changes by clicking the Save icon saves the changes, but it does not activate them. If needed, you can undo changes by clicking the Reset icon.
Define New Approval Rules
To create new rules, you must provide values for the following rule components:
-
Condition: Criteria that an expense report must satisfy
-
Response type: Required or FYI. A response from the approver is required or the notification is informational.
-
List builder: Creates a list of approvers for a specific notification
To define a condition, select a value from the list of values in the IF region. The Condition Browser displays. In the Condition Browser, open a view object (folder) and select the attribute that you want to use as the criteria. You can add multiple conditions to a rule. An example of a condition is: ExpenseReport.expenseReportTotal more than 1000.
The following table lists view objects (folders) that are visible in the Condition Browser with their associated attributes and descriptions.
The following table contains view objects with their associated attributes and descriptions that you can select as conditions for expense report approval rules.
View Object in Condition Browser |
Attribute |
Description |
---|---|---|
ExpenseReport |
ExpenseReportId |
Expense report identifier |
ExpenseReport |
PersonId |
Person identifier of the employee on the expense report |
ExpenseReport |
AssignmentId |
Primary assignment identifier of the employee's assignment |
ExpenseReport |
ExpenseReportDate |
Date of the latest expense in the expense report |
ExpenseReport |
ExpenseReportTotal |
Total amount of the expense report in the reimbursement currency |
ExpenseReport |
ReimbursementCurrencyCode |
Expense report reimbursement currency |
ExpenseReport |
ReportSubmitDate |
Date on which the expense report was submitted for approval |
ExpenseReport |
ExpenseStatusCode |
Most recent status of the expense report |
ExpenseReport |
ExpenseStatusDate |
Date of the most recent status of the expense report |
ExpenseReport |
OrgId |
Business unit identifier of the expense report |
ExpenseItem |
ReceiptAmount |
Expense amount in receipt currency |
ExpenseItem |
ReceiptCurrencyCode |
Currency code of the expense amount |
ExpenseItem |
ExpenseSource |
Source of the expense item, cash, or corporate card |
ExpenseItem |
ExpenseTypeCategoryCode |
Category of the expense item, such as Airfare or Accommodations |
ExpenseItem |
ExpenseCategoryCode |
Classification of expense item, such as Business or Personal |
ExpenseItem |
ExpenseTemplateId |
Expense template identifier for the expense item |
ExpenseItem |
ExpenseTypeId |
Expense type identifier of the expense item |
ExpenseItem |
PolicyViolatedFlag |
Check box that indicates whether the expense item has policy violations |
ExpenseItem |
ReceiptMissingFlag |
Check box that indicates whether the user has the original receipt |
ExpenseItem |
EmpDefaultCostCenter |
Default cost center of the employee |
CostCenterTotal |
ExpenseReportId |
Expense report identifier |
CostCenterTotal |
CostCenter |
Cost center against which the expense is incurred |
CostCenterTotal |
Total |
Total expense charged to the cost center |
CostCenterTotal |
ManagerId |
Person identifier of the cost center owner |
CostCenterTotal |
ManagerUsername |
User name of the cost center owner |
ProjectTotal |
ExpenseReportId |
Expense report identifier |
ProjectTotal |
PjcProjectId |
Project identifier |
ProjectTotal |
Total |
Total expense charged to the project |
ProjectTotal |
ProjectPartyId |
Person identifier of the project manager |
ProjectTotal |
ManagerUsername |
User name of the project manager |
Each approval notification generated from an approval rule must have a response type of Required or FYI. You specify the applicable response type in the THEN region on the Data driven configuration page of the BPM Worklist. If the approver should take an action in response to the notification, click the Required radio button. If the approval notification is designed as information only, click the FYI radio button.
Each rule requires a list builder to build the list of approvers. The following table contains the list builder types with their associated descriptions that are available in the BPM Worklist.
List Builder Type |
Description |
---|---|
Supervisory |
Ascends the primary supervisory hierarchy, starting at the expense report submitter or at a given approver, and generates the approval chain. |
Job Level |
Ascends the supervisory hierarchy, starting at a given approver and continuing until an approver with the appropriate job level is found. |
Position |
Ascends the position hierarchy, starting at a given approver's position and continuing until an approver with the appropriate position is found. |
Resource |
A list of approvers. You can choose a user name or a function that returns a set of approvers. |
Approval Group |
Group of approvers. You can create approver groups consisting of a list of users for use in the rule sets. |
Each list builder type requires values for specific fields to build its approval list. In the THEN region on the Data driven configuration page of the BPM Worklist, select a type of list builder from the List Builder choice list and click the Create Action button. The Add Variable dialog box displays where you add specific variables for specific list builders.
The following table contains the fields associated with each list builder type for which you must select specific values.
List Builder Type |
Field |
Description |
Values to Select and Sample Data |
---|---|---|---|
Supervisor |
Number of Levels |
A positive number specifying the number of levels to traverse the supervisory hierarchy. |
A positive number based on your needs. For example, use 1 for one level of approval. |
Supervisor |
Starting Participant |
The first participant in the list. |
From the Add Variable dialog box, select:
This creates the following string for the start participant: HierarchyBuilder.getManager ("supervisory",Task.creator,-1,"",""). |
Supervisor |
Top Participant |
The last participant in the list. The approval list does not go beyond this person in a hierarchy. |
From the Add Variable dialog box:
This creates the following string as the highest participant: HierarchyBuilder.getPrincipal ("<>",-1,"","") |
Supervisor |
Auto Action Enabled |
If automatic response should be enabled for the approval notification, set to True. |
Not applicable |
Supervisor |
Auto Action |
If automatic response is enabled, set the response. |
For expense approval, use Approve. |
Position |
Number of Levels |
A positive number specifying the number of levels to traverse the position hierarchy. This number can be an absolute value or a value relative to the Starting Point or Creator. |
Not applicable |
Position |
Relative to |
The number of levels to traverse is relative to one of the following values: Starting Point, Creator, or Absolute. |
|
Position |
Starting Participant |
The first participant in the list. |
To select a starting participant, click the list of values and select:
This creates a string for the starting participant. For example, to start from position ID 1234, use HierarchyBuilder.getManager ("position","1234",-1,""," ENTERPRISE_POSITION _HIERARCHY") as the start participant. |
Position |
Top Participant |
The last participant in the list. The approval list does not go beyond this person in a hierarchy. |
From the Add Variable dialog box:
This creates a string for the highest participant. For example, HierarchyBuilder.getPrincipal "<>",""," ENTERPRISE_POSITION_ HIERARCHY"). |
Position |
Utilized Participants |
Uses only the participants specified in this option from the calculated list of participants. Available options are: Everyone, First and Last Manager, Last Manager. |
Not applicable |
Position |
Auto Action Enabled |
If automatic response should be enabled for the notification, set to True. |
Not applicable |
Position |
Auto Action |
If automatic response is enabled, set the response. |
For expense approval, use Approve. |
Job Level |
Number of Levels |
A positive number specifying the number of levels to traverse the job level hierarchy. This number can be an absolute value, or a value relative to Starting Point or Creator. |
Not applicable |
Job Level |
Relative to |
The number of levels to traverse is relative to one of the following values: Starting Point, Creator, or Absolute. |
|
Job Level |
Starting Participant |
The first participant in the list. |
From the Add Variable dialog box, select:
This creates a string for the start participant. For example, HierarchyBuilder.getManager ("joblevel",task.creator,-1,"",""). |
Top Participant |
The last participant in the list. The approval list does not go beyond this person in a hierarchy. |
From the Add Variable dialog box:
This creates the following string as the highest participant: HierarchyBuilder.getPrincipal ("<>",-1,"","") |
|
Job Level |
Include all managers at last level |
If the job level equals that of the previously calculated last participant in the list, then it includes the next manager in the list. |
Not applicable |
Job level |
Utilized Participants |
Uses only the participants specified in this option from the calculated list of participants. Available options are: Everyone, First and Last Manager, Last Manager. |
Not applicable |
Job Level |
Auto Action Enabled |
If automatic response should be enabled for the approval notification, set to True. |
Not applicable |
Job level |
Auto Action |
If automatic response is enabled, set the response. |
For expense approval, use Approve. |
Resource |
Participants |
Participants can be users, groups, or application roles. For users, use a static user name or a function to retrieve a user name. |
For example, use ExpenseReport/costCenterTotalVO.managerUsername for cost center owner. |
Approval Group |
Approval Group |
Enter the approval group name. To select an approval group as a list builder, you must create the static approval groups in the BPM Worklist. |
Not applicable |
For more information on configuring approval rules, see the Using Task Configuration section of the Using Approval Management chapter in the Oracle Fusion Middleware Modeling and Implementation Guide.
Understand and Apply Properties of Rules and Rule Sets
The following are properties of rules and rule sets that you need to understand and apply.
-
For each expense report, one rule must be true within each rule set. If the expense report does not satisfy any rule in the rule set, the approval process will error.
-
Since there can be only one rule that applies in a rule set for each expense report, you must configure the rules at the most granular level applicable and use priority within the rule to differentiate overlapping conditions. AMX does not support nested conditions.
-
All rule sets are executed in parallel or in serial with respect to the Expense Report Approval Stage.
-
Serial rule sets are designed to execute the approval process in a sequential order. The approvers in the approval list for any rule included in these rule sets are notified in a sequential order.
-
To deactivate a rule set, check the Ignore this participant check box for that rule set.
-
If the participants cannot be determined, then AMX sends out a failure notification to the user with an incident identifier. Administrators can access the incident details through the Support Workbench of the Oracle Enterprise Manager Grid Control application and restart the approval process in Oracle Enterprise Manager Grid Control after resolving the issues in the incident report.