You are on page 1of 55

Getting Started With Approvals

Management Engine

Before We Start A Quick


Audience Survey
How many of you have used approvals
in Workflow?
How many of you have had to
customize the Workflow to accomplish
the required approvals?
How many of you have tried Approvals
Management Engine?
2

What we are going to cover


E-Business Suite Modules that currently utilize
Approvals Management Engine
Technically where is AME
Where does Approvals Management Engine
fit into the Workflow approvals processing
System Administration steps to enable
Approvals Management Engine (briefly)
Definition of AME processes
Testing AME processing
Quick Demo of AME (time permitting)
3

Modules that currently utilize AME


Applications Module
Advanced Benefits
Bills of Material
Cash Management
E-Records
Engineering
Enterprise Performance Foundation
Human Resources
Internal Controls Manager
Inventory
Labor Distribution
Learning Management
Lease Management
Partner Management
Payables
Process Manufacturing Inventory
Process Manufacturing Logistics
Process Manufacturing Process Execution
Process Manufacturing Product Development
Public Sector HR
Purchasing
Quality
Quoting
Receivables
Sourcing
Trade Management
Work in Process
iAssets

Transaction Types
2
4
1
13
9
1
2
3
11
1
1
8
4
2
13
2
14
44
1
8
23
1
4
1
2
3
2

Many OraApps Modules Have Restrictions


Requisition Approvals can not be
forwarded to other approvers
Quote Approvals can not process
approvals in parallel
Please review the restrictions for your
OraApps Module on Metalink
5

Technically Where is AME


Tables exist in HR schema
Tables begin with AME_%
This tells us that Oracle views this as a
component of HR
This is very important to realize since the
functionality is HR centric in the approval list
building process
6

How does AME fit in?


AME builds approval lists.
AME uses the logic you setup to control
the building of the approval list.
AME does not send notifications or
handle any of the other required glue
in an approval process.
Typically AME is just a few new
processes/functions on an existing
approval process defined in Workflow.
7

Using the Requisition Approval process as an example

Using the Requisition Approval process as an example (cont.)

Using the Requisition Approval process as an example (cont.)

10

Sysadmin steps to enable AME


1. Assign responsibilities/roles to your system
administrators
2. Setup AME System Wide Configuration
3. Setup module specific Profile Options
4. Assign responsibilities/roles to your
functional users who will be setting up AME
5. Setup AME functionality for module

Steps 1-4 are only covered briefly here and


are quite involved, we are going to instead
concentrate on step 5

11

Assign resp/roles to Sys. Admins


AME uses the new User Management
functionality
You must assign the responsibility User
Management to the people who will
assign AME responsibilities to others
Have to do this assignment as the
SYSADMIN OraApps user
The role to be assign is Security
Administrator
12

Setup AME Configuration Parameters


Using the responsibility Approvals
Management Administrator the
SysAdmins can assign setup the AME
Configuration Parameters.
For the most part these parameters can
remain with their default values.

13

Assign resp/roles to functional super users


The SysAdmins must assign AME
functional roles to the required OraApps
user accounts using the User
Management
The responsibility Approvals
Management Business Analyst is
assigned along with the required roles,
viewable in the Indirect Responsibilities
tab of the Define Users form.

14

Setup AME Profile Options


'AME:Installed' at the Application Levels
Oracle Quoting = Yes

For quoting there are several others to


setup, these are module specific
'ASO : Enable Approvals' = Yes
'ASO : Allow Skip Approvers' = No

15

AME Approvers
AME Approvers must be setup as
FND_USERs

AME Approvers must be setup as


Employees

16

Setup AME Module Functionality


The responsibility to be used is:

Approvals Management Business Analyst

Each OraApps module has different


specific values, but the same general
setup process holds true for each.

17

AME Allows For Very Complex Approval Rules


An example of Quote Approval Requirements:
Discounts have different approval limits by product line by
operating unit
Terms non-standard (non-default)
If the Sales Person is New
Sales Person Technical Review Required
Total Quote Price is $0
Verify quote total is not less than GSA total
Remove Service Agreement items from quote/discount totals
Quote approvals go no higher than the VP of Sales

All of these were implemented through customized of


AME Attributes

18

Definition of the AME Process


1.
2.
3.
4.
5.
6.

Define Attributes
Define Conditions
Define Action Types
Define Approval Groups
Define Rules
Test Process

All of this takes place on the AME


Business Analyst Dashboard
19

Example of Approval Rules

20

AME Dashboard

21

AME Attributes

AME Attributes are the variables which are


evaluated by your AME Process as it runs

AME Attributes can be Header or Line Item

Dynamic Attributes are filled in at run time by an


SQL query

AME Attribute values are all stored internally as


string values limited to a length of 100 characters

Most customization activity is around Attributes


22

AME Attributes Data Types

Boolean

True or False

(amount,denomination,conversion method)

YYYY:MON:DD:HH24:MI:SS

Integer or decimal
(using users character set decimal point)

Currency
Date

Number
String

Up to 100 characters in length

23

Currency Attributes

An SQL routine which populates a


Currency Attribute must return three
columns:
Amount = decimal value
Denomination = 3 Char Currency Code
Conversion Method = Corporate

Static definitions are like the following:


5000.00,USD,Corporate

24

Number Attributes

SQL routines should run the numeric


values through the PL/SQL function:
fnd_number.number_to_canonical

25

Date Attributes

Stored as a string

There is a PL/SQL date format mask


you can use to format dates:
ame_util.versionDateFormatModel
YYYY:MON:DD:HH24:MI:SS

Notice there are no spaces.

26

Dynamic Attributes

Dynamic attributes can be populated by an


SQL expression.
Select to_char(sysdate, ame_util.versionDateFormatModel) from
dual;

All Attributes are stored internally as


strings.
Must return one row.
The :transactionid is passed as a bind
variable to the query. This is the key for the
AME processes execution.
Limitation on SQL of 2000 characters
27

PL/SQL Usage

It is often advantageous to call a


PL/SQL function rather than embed an
SQL script in the attribute definition.
This has the added benefit of
preventing functional users who can
setup AME from modifying the
underlying SQL.
Drawback is that Currency values require
three PL/SQL function calls.
28

PL/SQL Example

29

PL/SQL Currency Example


You end up with Currency PL/SQL calls like the following.
select MY_PACKAGE.GET_MY_AMOUNT(:transactionId),
MY_PACKAGE.GET_MY_CURRENCY(:transactionId),
MY_PACKAGE.GET_MY_CONVERSION_TYPE(:transactionId)
from dual

30

Conditions
There are two types of conditions:
Regular Conditions
Simple logic statements

Technical Review Required = Y


Discount is greater than -12 and less than or
equal to -7.23

List Modifier Conditions

Any approver is Adams, John

31

Regular Conditions

32

Regular Conditions

33

List Modifier Conditions

34

Action Types
Action Types are groups of similar actions
that build your approval list for you.
Common Predefined Action Rule Types are:

Chain of authority action types


List Modification action types
Post List Approval Group
Pre List Approval Group

35

Some of the Chain of Authority Action Types


Job Level
absolute job level

chains of authority based on absolute job level

relative job level

chains of authority based on relative job level

final approver only

chains of authority containing only the final job-level approver

Position
hr position

chains of authority based on a particular HR position

hr position level

chains of authority based on HR positions

Hierarchy
manager then final approver

chain of authority includes requestor's manager and then the final approver

supervisory level

chains of authority based on number of supervisory levels

36

Job Level

37

Chain of authority action types

38

Absolute Job Level


Actions:
Require
Require
or
Require
Require

approvals up to at most level 2


approvals up to at most level 3
approvals up to at least level 2
approvals up to at least level 3

Whats the difference:

Chain of approvers have levels 1,2,3,5 (4 is missing)


Requires Level 4 approval
At most => 1,2,3
At least => 1,2,3,5

39

List Modification Action Types


final authority
grant final authority to an approver

nonfinal authority
extend the chain of authority past an
approver

40

List modification action types

41

Pre or Post List Approval Groups


These actions add a list of approvers
either before or after the approval is
built.
Approvals in group can be serial or
parallel.

42

Pre or Post List Approval Groups

43

Approval Groups
Either static or dynamic lists of
approvers
Approvals can be:
Serial Voting (one after another, all for approval)
Consensus Voting (majority wins)
First-Responder-Wins Voting (parallel voting)
Order-Number Voting
(one after another, all for approval)
(allows for parallel voting)

44

Approval Groups

45

Rules
Rules are where one or more conditions result in an action.
This is what everyone has been waiting for.

46

Rules Level 2 Approval


Actual Definition form

47

Rules List Modification


Actual Definition form

48

Testing the Process


AME has an excellent Test Workbench for seeing how
all these rules will actually work in real life.

49

Testing the Process


Put in Transaction ID. For Quoting that is the Quote Header ID.
Historical transactions are required.

50

Testing the Process


This dumps the attribute values

51

Testing the Process


This dumps rules and final approver list

52

My Suggestion
AME is complex, dont try to understand
it all at once
Put in some OraApps Module
Transactions
Dive into AME and just try some simple
test cases
You will end up making changes
With the Test Workbench you can easily
see how your setups are working
53

Summary

Approvals Management Engine allows


for complex approval processes
Customizations are primarily
accomplished with minimal code to pull
in new Attribute values
This product is complex and the
documentation is very difficult to
understand, hopefully this presentation
has given you a brief introduction to
Approvals Management Engine
54

My contact information:
John Peters
john.peters@jrpjr.com
http://www.jrpjr.com

Additional reference papers can be


found at:
http://www.norcaloaug.org
http://www.jrpjr.com

55

You might also like