Setup Journal Approval Feature Final
Setup Journal Approval Feature Final
Disclaimer
The following is intended to outline our general product direction. It is intended for information
purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be relied upon in making purchasing decisions. The
development, release, and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
1|Page
Table of Contents
1. Introduction............................................................................................................................ 3
2. Introduction to Human Workflow Concepts ...................................................................... 4
2.1.1 Introduction to Design and Runtime Concepts ........................................................................................ 4
2.1.2 Task Assignment and Routing .................................................................................................................4
2.1.3 Participant ................................................................................................................................................5
2.1.4 Participant Type .......................................................................................................................................5
2.1.5 Participant Assignment ............................................................................................................................ 6
3. GL Implementation of participant types ............................................................................. 7
4. Available Attributes............................................................................................................. 11
5. Seeded Rule .......................................................................................................................... 17
6. User Flow for definition of the Journal Approval Rule ................................................... 18
6.1 Approval Rule Creation Process .............................................................................................. 18
6.1.1 Navigate to BPM Worklist ..................................................................................................................... 18
6.1.2 Define Approval Rules ........................................................................................................................... 29
6.1.3 Define Account Flexfield Based Approval Rules .................................................................................. 71
7. Considerations...................................................................................................................... 87
7.1.1 Rule Definition Consideration ............................................................................................................... 87
7.1.2 AMX List Builder Considerations ......................................................................................................... 87
8. Other Considerations .......................................................................................................... 89
9. Creating Job Level and Position Level Hierarchies ......................................................... 91
10. Troubleshooting ............................................................................................................... 97
10.1 Troubleshooting Details ............................................................................................................ 97
10.1.1 Overview............................................................................................................................................ 97
10.1.2 Flow ................................................................................................................................................... 98
10.1.3 Configuration ................................................................................................................................... 100
10.1.4 Troubleshooting Steps ..................................................................................................................... 100
11. Glossary ........................................................................................................................... 103
2|Page
1. Introduction
Oracle Fusion General Ledger supports flexible and configurable approval rules for journal batch
approval using the Approvals Management Extensions (AMX) of Oracle Service-Oriented Architecture
(SOA) Suite and Oracle Business Process Management (BPM) Suite. BPM provides the interface to
administer the approval rules. A BPM Worklist administrator, who is a user with the role Financial
Application Administrator, can access the approval rules in the BPM Worklist.
When the user submits a journal batch for posting, General Ledger initiates a SOA Composite instance
which evaluates the rules created in AMX to build the list of approvers. AMX then sends out approval
notifications to the approvers. AMX rebuilds the approval list each time it receives response to an
approval notification. This is repeated until all approvals are complete.
The approval rules are managed through the BPM Worklist. Users who are authorized to manage the
approval rules have an Administration link in the top right hand corner of the Worklist page.
To generate the list of approvers, each rule requires a list builder to be associated with it. The following
list builders are available in BPM Worklist.
Supervisory Ascends the primary supervisory hierarchy, starting at the requestor 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 a sufficient job level is found.
Position Ascends the position hierarchy, starting at a given approver's position and
continuing until a position with a sufficient job level is found.
Resource Static list of approvers. Deploying companies can choose a user name or a
function that returns a set of approvers.
Approval Group Group of approvers. Deploying companies can create approver groups consisting
of static members for use in the rule sets.
3|Page
2. Introduction to Human Workflow Concepts
This section introduces key human workflow design time and runtime concepts.
Description: This image shows the Assignment and Routing Policy section of the Human Task Editor. A
stage labeled Work appears on the left and a stage labeled Comment appears on the right. Below Work
is a block labeled Performer. Below that is a block labeled Performer’s Manager. Below Comment is a
4|Page
block labeled Performer’s Team. At the bottom and connecting to both of these stages is another stage
labeled Review. Below Review is a block labeled Review Team.
2.3 Participant
A participant is a user or set of users in the assignment and routing policy definition. In Figure 27-2, each
block with an icon representing people is a participant.
Single approver
This is the simple case where a participant maps to a user, group, or role.
For example, a vacation request is assigned to a manager. The manager must act on the request task
three days before the vacation starts. If the manager formally approves or rejects the request, the
employee is notified with the decision. If the manager does not act on the task, the request is treated as
rejected. Notification actions similar to the formal rejection are taken.
Parallel
This participant indicates that a set of people must work in parallel. This pattern is commonly used for
voting.
For example, multiple users in a hiring situation must vote to hire or reject an applicant. You specify the
voting percentage that is needed for the outcome to take effect, such as a majority vote or a unanimous
vote.
Serial
This participant indicates that a set of users must work in sequence. While working in sequence can be
specified in the routing policy by using multiple participants in sequence, this pattern is useful when the
set of people is dynamic. The most common scenario for this is management chain escalation, which is
done by specifying that the list is based on a management chain within the specification of this pattern.
This participant also maps to a single user, group, or role, just as in single approver. However, this
pattern indicates that the participant just receives a notification task and the business process does not
wait for the participant's response. FYI participants cannot directly impact the outcome of a task, but in
some cases can provide comments or add attachments.
5|Page
For example, a regional sales office is notified that a candidate for employment has been approved for
hire by the regional manager and their candidacy is being passed onto the state wide manager for
approval or rejection.
Users
You can assign individual users to act upon tasks. For example, you may assign users jlondon or jstein to
a particular task. Users are defined in an identity store configured with the SOA Infrastructure. These
users can be in the embedded LDAP of Oracle WebLogic Server, Oracle Internet Directory, or a third
party LDAP directory.
Groups
You can assign groups to act upon tasks. Groups contain individual users who can claim and act upon a
task. For example, users jcooper and fkafka may be members of the group LoanAgentGroup that you
assign to act upon the task.
As with users, groups are defined in the identity store of the SOA Infrastructure.
Application roles
You can assign users who are members of application roles to claim and act upon tasks.
Application roles consist of users or other roles grouped logically for application-level authorizations.
These roles are application-specific and are defined in the application Java policy store rather than the
identity store. These roles are used by the application directly and are not necessarily known to a Java
EE container.
Application roles define policy. Java permissions can be granted to application roles. Therefore,
application roles define a set of permissions granted to them directly or indirectly through other roles if
a role is granted to a role. The policy can contain grants of application roles to enterprise groups or
users. In the jazn-data.xml file of the file-based policy store, these roles are defined in <app-
role> elements under <policy-store> and written to system-jazn-data.xml at the farm level during
deployment. You can also define these roles after deployment using Oracle Enterprise Manager Fusion
Middleware Control. You can set a task owner or approver to an application role at design time if the
role has been previously deployed.
6|Page
3. GL Implementation of participant types
(Feature introduced in Release 4)
Following 17 participant types are seeded by Fusion General Ledger. 10 participants are of parallel
type and 7 are of sequential type.
- Each participant type shown above is represented by Rule Set as shown below in the Worklist
application for journal approval rule creation.
7|Page
Participant Routing Voting Regime
Supervisory_JournalApprovalRuleSet Serial Consensus
ApprovalGroup_JournalApprovalRuleSet Parallel Consensus
JobLevel_JournalApprovalRuleSet Serial Consensus
Position_JournalApprovalRuleSet Serial Consensus
ParallelTypeParticipantOneInParallelModeRuleSet Parallel Consensus
ParallelTypeParticipantTwoInParallelModeRuleSet Parallel Consensus
SingleTypeParticipantOneInParallelModeRuleSet Parallel First Responder Wins
SingleTypeParticipantTwoInParallelModeRuleSet Parallel First Responder Wins
FyiTypeParticipantOneInParallelModeRuleSet Serial
FyiTypeParticipantTwoInParallelModeRuleSet Serial
ParallelTypeParticipantOneInSequentialModeRuleSet Parallel Consensus
SingleTypeParticipantOneInSequentialModeRuleSet Parallel First Responder Wins
FyiTypeParticipantOneInSequentialModeRuleSet Serial
ParallelTypeParticipantTwoInSequentialModeRuleSet Parallel Consensus
SerialTypeParticipantTwoInSequentialModeRuleSet Serial Consensus
SingleTypeParticipantTwoInSequentialModeRuleSet Parallel First Responder Wins
FyiTypeParticipantTwoInSequentialModeRuleSet Serial
8|Page
- You can use multiple list builders under one rule set now.
- New Participants cannot be added.
- Existing Participant Order cannot be changed. This is crucial when the participants are in
Sequential mode.
- Approval Group can be used as list builders in parallel participant if all in the group needs to
approve.
- Approval Group can be used with single participant provided approval from only one person
from the group is sufficient.
- We do not yet support voting regime for an approval group.
Use Case 1
1. You require the company’s supervisory hierarchy to approve the journal batches based on the
journal batch amount limits.
2. During the month end close period you need any one of the month end approvers to approve
the batches.
3. During the Corporate close period, along with the supervisory and month end approvers, you
want any one of the corporate approvers to also approve the batches.
- For this purpose you need to use three participant types in parallel mode. All other participants
will be ignored.
o Serial Type (Supervisory_JournalApprovalRuleSet) with supervisory hierarchy as list
builder.
o Single Type (Single Type ParticipantOneInParallelModeRuleSet) with approval group as
list builder for month end approvers (any one can approve).
o Single Type (Single Type ParticipantTwoInParallelModeRuleSet) with approval group as
list builder for corporate approvers (any one can approve).
- Use Case 2
1. You require your job level hierarchy to approve the journal batches based on the different net
journal line amount limits as:
i. Up to $1000 – M2 Job Level can approve.
ii. From $1000 to $5000 – M3 Job Level can approve.
9|Page
iii. From $5000 to $10000 – M4 Job Level can approve.
iv. From $10000 and above – M6 Job Level can approve.
v. From $50000 and above – CEO can approve.
- For this purpose you will only require one participant in parallel mode with 5 different rules for
each condition above in the rule set. For i. to iv. you need to use job level hierarchy as list
builder and for rule v. you need to use the resource list builder.
10 | P a g e
4. Available Attributes
The following table lists a subset of the view objects and the attributes that are available for use in the
condition of a journal approval rule.
11 | P a g e
MaxJournalAmount MaxJournalAmountDr Maximum debit amount of the
journal for the ledger.
MaxJournalAmount MaxJournalAmountCr Maximum credit amount of the
journal for the ledger.
MaxJournalAmount MaxJournalNetAmount Maximum net amount of the
journal for the ledger.
12 | P a g e
JournalLine AttributeCategory3 Not used in Oracle Fusion v1.
JournalLine AttributeCategory4 Not used in Oracle Fusion v1.
13 | P a g e
JournalHeader RunningTotalAccountedCr Total accounted credit amount for
the journal.
JournalHeader DefaultEffectiveDate Accounting date for the journal.
JournalHeader JeCategoryName Internal category name for the
journal.
JournalHeader AttributeCategory Category of the descriptive
flexfield for the journal.
JournalHeader AttributeCategory2 Not used in Oracle Fusion v1.
JournalHeader ReferenceDate Reference date entered for the
journal.
JournalHeader AccrualRevFlag Flag indicating the reversal status
of the journal.
JournalHeader JeFromSlaFlag Flag indicating whether this journal
was created via subledger
accounting.
JournalHeader JeBatchId Internal identifier of the journal
batch.
14 | P a g e
only value is Actual.
JournalBatch DefaultEffectiveDate Date within default accounting
period.
JournalBatch CreationDate Date on which the journal batch
was created.
JournalBatch CreatedBy User who created the journal
batch.
JournalBatch LastUpdateLogin Login of the user who created the
journal batch.
JournalBatch DefaultPeriodName Accounting period for batch.
JournalBatch EarliestPostableDate Earliest date batch can be posted.
JournalBatch PostedDate Date batch was posted.
JournalBatch DateCreated Date batch was created.
JournalBatch Description journal entry batch description.
JournalBatch ControlTotal Control total column
JournalBatch RunningTotalDr Total debit amount for the journal
batch.
JournalBatch RunningTotalCr Total credit amount for the journal
batch.
JournalBatch RunningTotalAccountedDr Total accounted debit amount for
the journal batch.
JournalBatch RunningTotalAccountedCr Total accounted credit amount for
the journal batch.
JournalBatch BudgetaryControlStatus Journal entry batch funds check
status (Not used in Oracle Fusion
v1.)
JournalBatch PacketId Packet defining column for last
funds check of the batch (Not used
in Oracle Fusion v1) .
JournalBatch PostingRunId Posting sequence number.
JournalBatch RequestId Posting Enterprise Scheduler v1 job
identifier.
JournalBatch UnreservationPacketId Packet defining column for last
funds unreserved in batch (Not
used in Oracle Fusion v1) .
JournalBatch AverageJournalFlag Average journal flag.
JournalBatch ApprovalStatusCode Journal entry batch approval
status.
JournalBatch ParentJeBatchId Defining column of the parent
batch in the source reporting
currency ledger.
JournalBatch ChartOfAccountsId Key flexfield structure for the
journal batch.
JournalBatch PeriodSetName Accounting period set name.
15 | P a g e
JournalBatch AccountedPeriodType Type of accounting period.
JournalBatch GroupId General ledger interface group
identifying column.
JournalBatch ApproverEmployeeId Identifier of the employee who
submitted the journal batch for
approval.
JournalBatch JeSource Untranslated internal name for the
journal source.
JournalBatch AttributeCategory Internal category name for the
journal batch.
JournalBatch AttributeCategory2 Not used in Oracle Fusion v1.
JournalBatch BatchAmount Batch amount.
JournalBatch Meaning Balance type of Actual, Budget, or
Encumbrance. For Oracle Fusion v1
only value is Actual.
JournalBatch LookupType Has value ‘BATCH_TYPE’ .
JournalBatch LookupCode Balance type of Actual, Budget, or
Encumbrance. For Oracle Fusion v1
only value is A for Actual.
16 | P a g e
5. Seeded Rule
There is one predefined journal approval rule. If the journal’s ledger and the source are enabled for
approval, then the journal entry is sent for one level of approval by default (supervisory level –
supervisor/manager of the person who created it. The implementer / system administrator must specify
the Top participant as per the deploying organization’s requirements in the rule. Below is the seeded
approval rule.
You need to specify the Top Participant in the THEN condition shown above.
17 | P a g e
6. User Flow for definition of the Journal Approval Rule
6.1 Approval Rule Creation Process
Use Case:
InFusion Financial Services Ltd submits journal entries recorded for approval by supervisor of the worker
entering the journal entry based on following three conditions:
1. Journals with net journal line amount greater than or equal to $1000 to $25000 = one level up
supervisory approval.
2. Journals with net journal line amount greater than $25000 = two level up supervisory approval.
3. Journals with net journal line amount greater than or equal to $0 to $1000 = auto approval (self
approval).
We will build this use case now using AMX. Below are the details steps with necessary screenshots to
assist.
This demo presents above use case to define a journal approval rules.
In Oracle Fusion Applications, every product family has their own SOA Server. Hence any Human
workflow task initiated would appear in appropriate server BPM Worklist only.
In the Application Toolkit (ATK) Home page, we have worklist table which runs in Federated mode.
Meaning, it would pull all approval task for the logged in user in all Oracle Fusion Applications SOA
Servers and show them on Home page.
If the user is interested in seeing the tasks only on the Financial server, then the navigation is provided
in this demo. This would filter and show only tasks from the Financial SOA Server.
Also there are cases where customers want to specifically go to worklist application to configure task
level settings, preferences, create or modify rules, so on. This demo will provide the required navigation
to the Financial Worklist page.
18 | P a g e
Step Action
Enter the desired information into the User ID field. Enter FINUSER1.
19 | P a g e
Step Action
20 | P a g e
Step Action
3. On the Home Page under the Worklist portlet click the View menu.
21 | P a g e
Step Action
22 | P a g e
Step Action
23 | P a g e
Step Action
24 | P a g e
Step Action
25 | P a g e
Step Action
8. Filter the Tasks by checking the Show -> Active Versions option.
item
26 | P a g e
Step Action
The participant tree displays the participants in the GL Journal Approval process. The
participants are organized in two flows: Parallel Mode and Sequential Mode.
27 | P a g e
Step Action
10. Click on any participant to create or edit approval rules related to that participant. By
clicking on participant you cannot configure task level settings etc.
Step Action
11.
End of Procedure.
28 | P a g e
6.1.2 Define Approval Rules
Procedure
Step Action
InFusion Financial Services Ltd submits journal entries recorded for approval by supervisor
of the worker entering the journal entry based on following three conditions:
1. Journals with net journal line amount greater than or equal to $1000 to $25000 = one
level up supervisory approval.
2. Journals with net journal line amount greater than $25000 = two level up supervisory
approval.
3. Journals with net journal line amount greater than or equal to $0 to $1000 = auto
approval (self approval).
29 | P a g e
Step Action
2. Navigate to the BPM Worklist application to manage the approval rules. Ensure that you
are authorized to manage the approval rules by the necessary functional privileges.
30 | P a g e
Step Action
3. To create new rules or modify existing rules click on the Administration link in the top
right of the BPM Worklist page.
31 | P a g e
Step Action
32 | P a g e
Step Action
33 | P a g e
Step Action
34 | P a g e
Step Action
35 | P a g e
Step Action
36 | P a g e
Step Action
37 | P a g e
Step Action
38 | P a g e
Step Action
In the first condition of the rule we check that the Journal Approval Required flag for the
ledger is set to “Y”. To achieve this, click the Left Value icon.
From the pop-up select and expand JournalBatchLedger and select enableJeApprovalFlag
property. Click OK.
39 | P a g e
Step Action
12. Select is from the choice list of operators and enter “Y” on the right hand side text box.
40 | P a g e
Step Action
13. To add another condition click the list icon at the right of the first condition
41 | P a g e
Step Action
14. In this second condition of the rule we check if the Journal Line Net Amount is between
$1000 to $25000.
To do this click the Left Value icon
42 | P a g e
Step Action
43 | P a g e
Step Action
44 | P a g e
Step Action
17. Specify the amount limits by clicking the Right Value icon.
45 | P a g e
Step Action
18. Specify the starting limit by entering 1000 in the Operand1 text box
46 | P a g e
Step Action
19. Specify the end limit by limit by entering 25000 in the Operand2 text box.
47 | P a g e
Step Action
48 | P a g e
Step Action
21. To add the THEN Action, click the Add Action icon under THEN.
49 | P a g e
Step Action
50 | P a g e
Step Action
23. Since we want the approval of a supervisor who is one level higher for this amount
bracket, enter 1 in the Number of levels text box.
51 | P a g e
Step Action
24. Specify the Starting Participant who will perform the approval task.
52 | P a g e
Step Action
25. Specify the Reference User whose Manager is to be the starting participant.
Enter Task.creator.
53 | P a g e
Step Action
54 | P a g e
Step Action
27. Specify the Top Participant up to whom the supervisory chain extends to.
Invoke the list of values by clicking on the LOV icon.
55 | P a g e
Step Action
56 | P a g e
Step Action
29. Specify the Reference User "FINUSER30" (in your scenario's it will be your specific user,
generally the top most member of your supervisory hierarchy) and confirm.
57 | P a g e
Step Action
58 | P a g e
Step Action
31. Click the Save icon near the top left of the screen to Save the rule.
59 | P a g e
Step Action
60 | P a g e
Step Action
61 | P a g e
Step Action
62 | P a g e
Step Action
35. Click the Save icon near the top left of the screen to Save the rule.
63 | P a g e
Step Action
64 | P a g e
Step Action
65 | P a g e
Step Action
66 | P a g e
Step Action
39. Select True from the drop down list for Auto Action Enabled.
Note that the Auto Action specified overrides the supervisory approval specified when the
Auto Action Enabled flag is set to True.
67 | P a g e
Step Action
40. Click the Save icon near the top left of the screen to Save the rule.
The rules to meet the three conditions have been created. Note that the rules defined
under each participant should be mutually exclusive and collectively exhaustive.
68 | P a g e
Step Action
41. Click on the Commit task icon on the top left corner to deploy the rules. Enter any
comments and click OK.
The approval rules defined will now be applied to any Journals submitted.
69 | P a g e
Step Action
42. You will be taken back to the Rules home page which shows the participant tree.
Notice that except the Edit task icon ( ) on the top left, all other icons are greyed out.
Step Action
43.
End of Procedure.
70 | P a g e
6.1.3 Define Account Flexfield Based Approval Rules
Procedure
Step Action
1. This demo presents a use case to define approval rules based on account flexfields.
Account flexfield based rule enables you to create rules that derive approver(s) based on
which account segment or account code combination has been used in a journal.
Vision Foods USA Ltd. submits all journal entries recorded on the Retained Earnings
Natural Account ‘31010’, to ‘finuser10’.
71 | P a g e
Step Action
72 | P a g e
Step Action
73 | P a g e
Step Action
74 | P a g e
Step Action
In the first condition of the rule we check that the Journal Approval Required flag for the
ledger is set to “Y”. To achieve this, click the Left Value icon.
From the pop-up select and expand JournalBatchLedger and select enableJeApprovalFlag
property. Click OK.
75 | P a g e
Step Action
6. Select is from the choice list of operators and enter “Y” on the right hand side text box.
76 | P a g e
Step Action
7. To add another condition click the list icon at the right of the first condition
77 | P a g e
Step Action
8. Click the Condition Brower and scroll to find the Accounting Flexfield. In this rule we look
for the Vision Foods Flexfield, Account1105Vision5FFoods5FUSA5FAccount.
78 | P a g e
Step Action
9. Select the Natural Account segment, which in this case is VFAccount, under the Chart of
Accounts in context. Click OK.
79 | P a g e
Step Action
10. Alternatively, to define a rule based on the entire account code, select
FNDACFFConcatenatedStorage attribute.
80 | P a g e
Step Action
11. Enter the natural account segment value for the Retained Earning account, “31010” on
the right side of the is operator.
Alternatively, if you want to enter the rule is for a particular Retained Earnings code
combination, say for Company 3111, you can enter the entire value “3111-000-0000-
0000-31010-0000-0000-0000”.
81 | P a g e
Step Action
82 | P a g e
Step Action
13.
Since the rule required approval from a specific user, click the search icon next to the
Users textbox
83 | P a g e
Step Action
Click the Select radio button and click OK to complete the user selection.
84 | P a g e
Step Action
15. Enter the rule name as “RetainedEarningsApprovalRule” click the Save icon on the top
left of the Tasks panel.
85 | P a g e
Step Action
Step Action
86 | P a g e
7. Considerations
There is one seeded approval rule. If you enable the ledger and the source for approval, then the journal
entry is sent for one level of approval by default. You must configure the approval rules in the AMX
Rules Setup user interface. To experiment with simple approval scenario, start by defining one or all of
the following rules:
Journal approval based on the highest journal line amount per ledger per batch.
Journal approval based on the highest journal amount per ledger per batch.
Journal approval behavior based on where you are in the period close process. For example, are
you in the beginning, middle, or end of the month, or in pre-close, close, post close, or quarter
close process?
For example, after your ledger is enabled for approval, enter the following approval rules to apply when
your maximum journal line amount is:
Less than 50,000 United States dollars (USD), then there is no approval required.
Between 50,000 to 100,000 USD, then the journal batch requires one level of approval.
Greater than 100,000 USD, then the journal batch requires two levels of approval.
Build your rules for every combination of ledger, entered amount, approval level, or other needed
scenarios by using the pattern in the suggested rules. In addition, Oracle Fusion functionality allows you
to further define your own rules based on attributes from the different parts of your journal, including
the ledger, batch, header, or line level. For example, use category, source information as selection
criteria for the journals to be sent for approval.
The ledger is included in the rules because you typically define approval rules per ledger. Set the options
that enable journal approval at the ledger level and by journal source. This allows the approval process
to determine which journals to send for approval.
Use the following AMX List Builder to build your approval list.
87 | P a g e
Note
Note
Best practices are to select Resource, Job Level, HR Supervisory, or Position list builders for your journal
approval rules.
88 | P a g e
8. Other Considerations
Approval is for the entire journal batch regardless of the attributes used in the approval rules.
The setup options to enable journal approval at the ledger level and by journal source will be
configured in the applicable setup user interfaces. The reason for this is that it will then allow
the Journals user interface to determine which journals to not send for approval.
For the job and position level approvals, the approval list continues up the job or position
hierarchies until it finds the approver with the correct approval authority.
If the journal requires approval, submitting a journal for posting automatically routes the journal
for approval before posting.
A journal can be escalated to a new approver by the administrator.
The Withdraw Approval button on the Journals page is used at anytime in the approval process
to withdraw journals from the process. Clicking this button allows you to edit to the journal.
After your changes are made, submit the entry for approval again. When a journal is withdrawn,
the completion status is set to Incomplete.
Approval notifications display a table of key journal attributes for each journal and a list of past,
current, and future approvers.
The Journals region in the General Accounting (GAM) dashboard displays the journals requiring
your approval (if you have the privilege to approve journals) and pending approval from others.
The Journals page allows you to approve or reject journals if you are the current approver.
Allocation journals are not routed through the approval process.
You cannot use different list builders under same rule set where the batch will get evaluated
against those rules.
Once you have defined an approval rule you need to have a rule which will catch all remaining
cases. You can enable self approval for it.
Every string specified directly during rule creation process needs to be enclosed in double
quotes. So when defining the batch name, it needs to be "Batch1". Similarly the approval group
needs to be added to the rule as "Approval Group1”.
Note:
Approval is enabled at the ledger level and source level. Both the ledger and journal source need
to be enabled for the approval process.
89 | P a g e
90 | P a g e
9. Creating Job Level and Position Level Hierarchies
1. Steps to update Job Level for a given Job
User: HR_SPEC_ALL/Welcome1
91 | P a g e
Select the Job, Click on Edit and select update.
Enter the Effective Date and Action Reason and click on Ok.
92 | P a g e
Set the Job-Level(1 to 9) and submit
If it does not require approval, it will update the job-Level. You can verify this upon querying the job
again.
93 | P a g e
Position Based Approval
Manage position trees displays the position trees. You can create a new position tree from here.
94 | P a g e
Here you can add /update the positions and their levels.
95 | P a g e
96 | P a g e
10. Troubleshooting
https://support.us.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1338489.1
10.1.1 Overview
Journal Approval has a SOA Composite which consists of a Mediator, Business Process Execution
Language (BPEL) process and Human Workflow.
The SOA composite is named as FinGlJrnlEntriesApprovalComposite and it can be seen in the following
screenshot.
This SOA composite will NOT be exposed directly, but can only be initiated by the business event.
The Mediator subscribes to a standalone business event, which can be published from:
97 | P a g e
Batch Actions (Request for Approval)
Search Journals user interface (Submit multiple batches for posting)
Desktop Integration Spreadsheet (Launch import and post automatically option)
Journal Import
Automatic Posting
The BPEL process further invokes Human Workflow service integrating with AMX, services exposed from
Journal Entry AM, and Enterprise Scheduler Services (ESS) for the Posting program.
The Application Development Framework user interfaces will detect whether journal approval is
required, and if required, then launch the journal approval BPEL process.
The BPEL process which will have to launch the posting program after the approval is done.
If approval is not required, the ADF user interfaces will directly submit the posting program.
The BPEL process accepts a list of Journal Batch Ids. It will first check for each batch if approval is
required.
For all batches that have already been approved or do not required approval, posting program will be
initiated via ESS web service (one request for all batches).
For the ones that require approval, Human Task will be initiated. After the approval task is completed,
posting program will be initiated via ESS web service (one request per batch).
10.1.2 Flow
1. DirectPostingWithoutApproval: This process identifies the batches that require approval and these
batches will be sent for approval. All the batches that do not require approval will be sent for posting
directly at a time. And the remaining which requires approval and posting will be sent for approval and
follows the below mentioned steps.
2. FlowN: This activity is to process multiple journal batches in parallel. Each branch will process one
journal batch. In a scenario of multiple batches, only one posting program should be submitted for all
the batches that do not require approval.
3. JournalBatchApprovalProcess: This step includes the human task activity and updates approval status,
action log, and so on. This step updates the column GL_JE_BATCHES.APPROVAL_STATUS_CODE to I
which means that Journal approval process is in progress.
Upon completion of the human workflow one should check for the following results
98 | P a g e
If Approved
a) Update GL_JE_BATCHES.APPROVAL_STATUS_CODE to A.
b) Update the Approver Employee Id with Person Id.
c) Continue for Posting.
If Rejected
a) Update GL_JE_BATCHES.APPROVAL_STATUS_CODE to J.
b) End the process.
If Withdrawn
a) Update GL_JE_BATCHES.APPROVAL_STATUS_CODE to R.
b) Update GL_JE_BATCHES. STATUS to U.
b) End the process.
Else
a) Update GL_JE_BATCHES.APPROVAL_STATUS_CODE to V.
b) End the process.
Approval Meaning
Status Code
Z N/A
V Validation Failed
R Required
J Rejected
I In Progress
A Approved
4. PostJournalBatch: In this step the posting program is submitted via ESS by passing posting_run_id as a
unique sequence number.
99 | P a g e
10.1.3 Configuration
These are the basic setups needed to setup Journal Approvals.
3. Setup up Approval rules using AMX. These rules can be seen using the BPM Worklist of FIN Domain-
>Administration->Task Configuration.
Select the human task which is of active composite in the EM i.e. FinGlJournalApproval (1.0).
Refer the following steps to understand where the issue is occurring. Provide the output of the following
steps in case of logging the service request.
1. Verify if the ledger and the journal source is enabled for the approval.
SELECT enable_je_approval_flag
FROM gl_ledgers
WHERE name = '&Ledger_name'
Verify the approval flag of the ledger:
SELECT journal_approval_flag
FROM gl_je_sources_b
WHERE user_je_source_name = '&Journal_source_name'
2. Verify the status of the batch after it is sent for the approval.
SELECT decode(approval_status_code, 'A', 'Approved', 'J', 'Rejected', 'Z', 'Not Required', 'V', 'Validation
Failed', 'R', 'Required', 'I', 'In Progress') approval_status_code,
name,
je_source,
100 | P a g e
approver_employee_id
FROM gl_je_batches
WHERE name = '&Batch_Name'
SELECT gjb.name,
gjal.action_code,
gjal.action_date,
gjal.user_id
FROM gl_je_action_log gjal,
gl_je_batches gjb
WHERE gjal.je_batch_id = gjb.je_batch_id
AND gjb.name = '&Batch_Name';
101 | P a g e
Screenshot . BPEL Flow Trace Error message.
Review the composite instance flow and fault details. If the instance is in error due to setup issue and it
is recoverable, attempt recovery using the Recovery tab of the BPEL process service engine in Oracle
102 | P a g e
11. Glossary
Term Definition
Notification A notification is an email, SMS or IM message that notifies a user or role
that there is a certain task that requires their attention. Notifications could
be task related or purely FYI.
User Task A user task is a work item or other task that requires manual intervention.
This was referred to as a Notification in Oracle Workflow
Worklist The Worklist interacts with the workflow service to retrieve user tasks and
enables users to perform action on their tasks.
Approval List The Approval list represents the participants generated by AMX for a
transaction defined within the approval task, based on the approval policies
defined for the approval task.
Approval Task Known as Transaction Types in AME.
An Approvals Task denotes the classification of approvals based on the
business purpose. For example, Journal batch Approval, Expense Report
Approvals. A single application can have several Approval Tasks.
Configuration Variables Configuration variables control the behavior of AMX, they are defined for
each Approval Task.
Dimension Dimension categorizes the rule context. For example, the dimensions
defined for Journals are batches, ledger, headers and lines. It is possible for
dimensions to not map to a stage (see below). A dimension may also be
associated with multiple approval stages.
A dimension is known as Message Attribute Group in Human Workflow (see
below) .
Human Workflow Human workflow is a component of AMX that provides a way to add a pre-
defined approval task service to a process flow from the component
palette. It also provides the users a visual interface to act on current
approvals assigned to the user in a secured manner.
Approver Groups Approver Groups are named static or dynamically generated group of
approvers. Typically approver groups represent functional or subject
matter experts outside the transaction’s managerial chain of authority.
Procurement may need HR or legal counsel that need to approve the
transaction before or after management has done so. It is possible that a
customer has a requirement for a separate approver group based on an
attribute at the journal line level or descriptive flexfield (DFF).
Approver groups are also used to simulate a forced hierarchy across
multiple types of approvers, or chaining approvers across multiple approver
types.
103 | P a g e
1) HR Supervisory: This method will walk up the HR Supervisory a
certain number of levels based on the dollar amount of the journal
attribute that the approval rule uses. A customer may select this
method, but Job Level is probably more ideal for General Ledger.
2) Job Level: This method this may be the most effective for a General
Ledger customer because a relative dollar amount can be attached
to a job, and the approval list will walk up the HR Supervisory
hierarchy up to the point it finds a job with the necessary approval
amount.
3) Position Hierarchy: Similar to job level, but based on positions. This
is effective if customer’s either need a hierarchy different than the
HR Supervisory hierarchy. It is also effective when there a multiple
hierarchies that need to be selected based on different attributes
achieved through PL/SQL script.
4) Approval Groups: Typically approver groups represent functional or
subject matter experts outside the transaction’s managerial chain
of authority, such as Legal or Human Resources.
5) Dual Chain: It is not expected that General Leger customer’s will
use this method.
List Builder Usage The approval list builder usage defines how an approval list builder is used
for a stage within an Approval Task. It defines the
- Preference: Used to specify the order in which the list builder
should be processed for the stage
- Default Voting Regime;
Chain A chain is a sub-path of an approval list builder. In the Approval Group list
builder, if multiple groups are to be included for a stage, then each group is
processed as a separate chain. These chains will always be processed in
parallel.
Condition Conditions are the IF clauses in an approval rule and are defined as
condition types, either true or false. For the rule to apply to a transaction,
all of its conditions must be true.
An example of a Condition is: 0 USD <= JOURNAL_BATCH_TOTAL
<=1,000,000 USD
Criteria The set of conditions under which a rule would be applicable is called
Criteria. If all the conditions in a routing policy are true, then that routing
policy is active for the transaction.
Terms Known as Attributes in AME.
Terms are semantic units of information relevant to a business user. Most
Terms originate from member fields of business objects, such as the First
Name of a Person.
104 | P a g e
linked to it. The following dimensions will then be created: Journal Batch,
Journal Header and Journal Line level.
Approval Policy Type Describes the type of action being done to the approver list. The supported
policy types are:
- List Creation
- List Modifications
- Approver Substitution
Journal Approval will only support the List Creation approval policy type.
Action An Action is an instruction to AMX to include a given set of approvers in a
transaction’s approver list.
For List Creation policy, it defines the:
- Approver list builder to be used
- Stopping rule
- Response type
- Include all members in the list
- Voting regime for the rule
105 | P a g e