Title: Getting Started With Approvals Management Engine
1Getting Started With Approvals Management Engine
- John PetersJRPJR, Inc.
- john.peters_at_jrpjr.com
2Before 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?
3What 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)
4Modules that currently utilize AME
5Many 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
6Technically 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
7How 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.
8Using the Requisition Approval process as an
example
9Using the Requisition Approval process as an
example (cont.)
10Using the Requisition Approval process as an
example (cont.)
11Sysadmin steps to enable AME
- Assign responsibilities/roles to your system
administrators - Setup AME System Wide Configuration
- Setup module specific Profile Options
- Assign responsibilities/roles to your functional
users who will be setting up AME - 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
12Assign 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
13Setup 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.
14Assign 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.
15Setup AME Profile Options
- 'AMEInstalled' 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
16AME Approvers
- AME Approvers must be setup as FND_USERs
- AME Approvers must be setup as Employees
17Setup 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.
18AME 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
19Definition of the AME Process
- 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
20Example of Approval Rules
21AME Dashboard
22AME 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
23AME Attributes Data Types
- Boolean
- True or False
- Currency
- (amount,denomination,conversion method)
- Date
- YYYYMONDDHH24MISS
- Number
- Integer or decimal (using users character set
decimal point) - String
- Up to 100 characters in length
24Currency 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
following5000.00,USD,Corporate
25Number Attributes
- SQL routines should run the numeric values
through the PL/SQL function fnd_number.number_to_
canonical
26Date Attributes
- Stored as a string
- There is a PL/SQL date format mask you can use to
format datesame_util.versionDateFormatModel - YYYYMONDDHH24MISS
- Notice there are no spaces.
27Dynamic 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
28PL/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.
29PL/SQL Example
30PL/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
31Conditions
- There are two types of conditions
- Regular ConditionsSimple 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
32Regular Conditions
33Regular Conditions
34List Modifier Conditions
35Action 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
36Some 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
37Job Level
38Chain of authority action types
39Absolute Job Level
- Actions
- Require approvals up to at most level 2
- Require approvals up to at most level 3
- or
- Require approvals up to at least level 2
- Require 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 gt 1,2,3
- At least gt 1,2,3,5
40List Modification Action Types
- final authority
- grant final authority to an approver
- nonfinal authority
- extend the chain of authority past an approver
41List modification action types
42Pre 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.
43Pre or Post List Approval Groups
44Approval 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)
45Approval Groups
46Rules
- Rules are where one or more conditions result in
an action. - This is what everyone has been waiting for.
47Rules Level 2 Approval
48Rules List Modification
49Testing the Process
- AME has an excellent Test Workbench for seeing
how all these rules will actually work in real
life.
50Testing the Process
- Put in Transaction ID. For Quoting that is the
Quote Header ID. - Historical transactions are required.
51Testing the Process
- This dumps the attribute values
52Testing the Process
- This dumps rules and final approver list
53My 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
54Summary
- 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
55- My contact information
- John Petersjohn.peters_at_jrpjr.com
http//www.jrpjr.com -
- Additional reference papers can be found
athttp//www.norcaloaug.org - http//www.jrpjr.com