You are on page 1of 29

Requisition Approval using AME

An Oracle White Paper


March 2008

Requisition Approval using AME

Introduction ....................................................................................................... 4
Requisition Approval Process in AME.......................................................... 5
Approval Routing Chooser in Requisition Approval Workflow: ..... 6
AME Approval List Routing: ................................................................. 6
What AME Does and Does not do? .............................................................. 8
What AME Does?......................................................................................... 8
What AME Does Not Do? ......................................................................... 8
Setup in Core Purchasing:................................................................................ 9
AME-A Concepts............................................................................................ 10
AME- B Concepts........................................................................................... 10
OAF Approach: .......................................................................................... 10
Administrator Dashboard: .................................................................... 10
Business Analyst Dashboard: ............................................................... 11
Functional Components:................................................................................ 12
Transaction Type: ....................................................................................... 13
Attributes: .................................................................................................... 14
Conditions:................................................................................................... 15
Actions:......................................................................................................... 16
Pre-defined Action Types ..................................................................... 16
Approver Group: ........................................................................................ 17
Approver Lists:............................................................................................ 17
Rules: ............................................................................................................ 19
Item Class:.................................................................................................... 22
Configuration Variables: ............................................................................ 23
General Configuration Variables: ............................................................. 23
Parallelization Concepts: ................................................................................ 24
Voting Methods/Regimes: ........................................................................ 24
Serial ......................................................................................................... 24
Consensus................................................................................................ 24
First Responder Wins ............................................................................ 24
Order-Number ....................................................................................... 25
Diagnostics: ...................................................................................................... 25
AME in R12: .................................................................................................... 25
References : ...................................................................................................... 26
Test Case Scenario (Demo in Viewlets):...................................................... 26
Employee : ................................................................................................... 26
Attribute : ..................................................................................................... 26

Requisition Approval using AME

Page 2

Condition : ................................................................................................... 27
Rule: .............................................................................................................. 27
Acknowledgement........................................................................................... 28

Requisition Approval using AME

Page 3

INTRODUCTION

AME provides a central business rules repository and a common execution engine,
integrated with Oracle Workflow, to manage approvals for the business processes
delivered within the Oracle eBusiness Suite. Oracle Approvals Management (AME)
is available for Purchasing and iProcurement from Family Pack 'J' (11.5.10)
onwards. Current limitation in 11.5.10.2 is, AME is integrated only with Purchasing
Requisitions when using Employee/Supervisor relationships. AME does not
support Position Hierarchies nor Purchase Order Approvals workflow at this time.
However in R12 Position Hierarchy is supported.

FEATURES

Provide accountability and integrity - for key business transactions

Enable a consistent method of approval policy definition across the whole of


the eBusiness suite

Allow customer to define comprehensive approval policies without resorting


to code

Rules engine able to handle organizational structure changes as they occur in


the approval flow

Approval rules can be dated and prioritized to reflect changes in


organizational requirements

Centralize storage of approval policies, improves audit and accountability

Requisition Approval using AME

Page 4

REQUISITION APPROVAL PROCESS IN AME

Requestor creats a Requisition and submits it for Approval. REQAPPRV workflow


checks whether AME is used for Approval or normal approval process is used. If
AME is used for approval, a call is made from the workflow to AME Engine. AME
engine will evaluate the applicable rules and generates an approver list. It also
returns the next approver. A notification now goes to the next approver. Approvers
can Approve, Reject or Return. REQAPPRV workflow repeats this process until
no more approvers are found (i.e. Requisition gets Approved).

Requisition Approval using AME

Page 5

Approval Routing Chooser in Requisition Approval Workflow:

This process in Requisition Approval Workflow is used to choose the route it has
to follow to get the approvers. There are two routes AME Approval list route or
normal Approval list route.
AME Approval List Routing:

Requisition Approval using AME

Page 6

The calling application (Requisition Approval) calls AME from Workflow to get
next approver. Firstly the Requisition Approval workflow (REQAPPRV) validates
the setup for this document type / sub-type (AME_TRANSACTION_TYPE from
table PO_DOCUMENT_TYPES) and sets the workflow attribute
(IS_AME_APPROVAL) accordingly. To retrieve the next approver, the workflow
makes a call to procurement PL/SQL procedure, which in turn makes a call to
AME (using API getNextApprover) to find the right values. The results (or 'No
Approver Found' warning) are returned, and placed into the workflow attributes,
for onward processing. When workflow responses are processed, after validation
and initial processing, the PL/SQL calls again go to AME API's to update the
approver list and return the next approver.
AME evaluates applicable rules and generates an approver list. It then returns the
next approver. The calling application notifies next approver. The calling
application deals with approvers response Approve, Reject or Return and sends
response to AME.The calling application repeats these steps until no more
approvers are found. The function called here is Get Next Approver Using
AME.

Function: POR_AME_APPROVAL_LIST_WF1S.GET_NEXT_APPROVER
This function generates the list of approvers and from that it gets the next approver
to whom Notification is to be sent.
Most of the processing between iProcurement and AME is done in PL/SQL
package POR_AME_APPROVAL_LIST_WF1S (file: POXAME1B.pls).
Package POR_AME_APPROVAL_LIST_WF1S in file: POXAME1B.pls
Package POR_AME_APPROVAL_LIST in file: POXAPL2B.pls
Package REQAPPROVAL_INIT1 in file: POXWPA1B.pls
Package PO_APPROVALLIST_S1 in file: POXAPL1B.pls
Package PO_AME_SETUP_PVT in file: POXAMESB.pls (Release 12.x)
Package AME_API in file: ameeapin.pkb (and later ameeapi2.pkb)
Package AME_ENGINE in file: ameeengi.pkb
Workflow REQAPPRV in file: poxwfrqa.wft

Requisition Approval using AME

Page 7

WHAT AME DOES AND DOES NOT DO?


What AME Does?

Provides APIs for products to interface with

Accepts a Transaction ID and Transaction Type

Generates a List of Approvers based on the defined Rules and Setup

Returns the WF Role and reference for the next approver

Provides various functionality which products can choose to implement (eg


Parallel Approvals, FYI Notifications)

What AME Does Not Do?

Decide what AME functionality products choose to implement (eg Parallel


Approvals, FYI Notifications)

Sending and receiving of notifications

Requisition Approval using AME

Page 8

SETUP IN CORE PURCHASING:

If Approval transaction type is given a value, then Requisition will use AME for
approvals.
For Purchase Requisition, the value is PURCHASE_REQ
For Internal Requisition, the value is INTERNAL_REQ
These are seeded values defined in the table ame_calling_apps.
If Approval transaction type is Blank, AME will not be used for approvals.

Requisition Approval using AME

Page 9

AME-A CONCEPTS

AME-A is the first version on AME. AME-A provides a single web page for
administration and setup. So, both the AME Business Analyst and Administrator
will have the rights to use the same responsibility. There are seven tabs in the
Approvals Management page. They are Attributes, Conditions, Actions, Groups,
Rules, Test and Admin.These will be covered later on in the whitepaper document.
Users have to select the transaction type and proceed with either setup or testing or
administration.
AME- B CONCEPTS
OAF Approach:

There are two entry points to AME. These are role based. One for Business
Analyst and another for Administrator.

Administrator Dashboard.

Business Analyst Dashboard.

Administrator Dashboard:

This is for Administrator.


This dashboard allows the administrator to modify the runtime characteristics of
AME as well as review error logs and define new transaction types. For this release
the admin dashboard more or less mimics the features of the Admin Tab in the old
UI but with the addition of the AME Setup Diagnostic report. Previously the user
required apps account privileges to obtain this report. Transaction types are defined
within this screen and represent whole business flows to which approval rules can
be attached. These flows may represent an overall process such as iExpenses or can
be more granular where it defines sub flows within an overall process. Typically the
Oracle application teams, that require integration to AME, define the transaction
type and not the customer.

Requisition Approval using AME

Page 10

Business Analyst Dashboard:

This is for Business Analyst.


This dashboard is aimed toward the business analyst, the person typically tasked
with interpreting an organization approval policy and entering and maintaining
them within AME. The process steps are split into three main groupings, Setup,
Rules and Test. A content container is provided container detailing these main
grouping as well as providing launch points to the various AME objects they
interact with. Recently touched transaction types to which the user has access to are
displayed within the dashboard as well as rules that have been modified, are due to
come into effect or expire.

Requisition Approval using AME

Page 11

Within setup the user / Oracle Dev teams, would define the objects that are
required before approval rules can be created.

FUNCTIONAL COMPONENTS:

Transaction Type

Attributes

Condition

Action

Approver Group

Rules

Requisition Approval using AME

Page 12

Transaction Type:

Transaction Type is the root entity under which all the approval policies and related
setup for a particular transaction flow are grouped together.

Transaction Types are seed by the individual Product Teams.


For example,

Purchase Requisition Approval.

Internal Requisition Approval.

Creation or Updating of an Vacancy.

SSHR flow like changing a Manager of an Employee.

Requisition Approval using AME

Page 13

Attributes:

An attribute in AME is an object which holds a business fact.


For example,

Requisition Total.

Item UOM.

Attributes are of 5 data types Number, String, Currency, Date and


Boolean.Attributes can be Static or Dynamic.Attributes can be linked to an
Approver.Attributes can be based on a value set. Attributes belong to a certain item
class. Attributes are categorized in one of the following category Mandatory,
Required and Others.

Requisition Approval using AME

Page 14

Conditions:

Conditions in AME are statements against which the business facts are evaluated
against for a transaction.
For example,

TOTAL_REQ_AMOUNT > 5,000

COST_CENTER in {YAX1, YEC1}

All Conditiions defined are based on Attributes.Conditions are of 3 types


Ordinary & Exception (Regular), List Modification (List Modifiers). List Modifiers
are not transaction type specific. List Modifiers are like If any approver is, If final
approver is and are used for List Modification Actions.

Requisition Approval using AME

Page 15

Actions:

An Action in AME is an instruction to AME to do something when all the


conditions are evaluated as true for a transaction.
For example,
1) Get Approval from 2 superiors
2) Get Approval from FINANCE group
3) Substitute John as approver, wherever Tim exists as an approver.
Actions are grouped into Action Type. All the actions under a particular Action
Type generate the same type of Approver. Action Types can be ordered within a
transaction type. Action Types have sublist mode. They can have one of the three
voting Regime (serial, consensus, first-responder-wins)
Pre-defined Action Types

Chain of Authority (List Creation/Exception)


Supervisory/Job Level based

Absolute Job Level

Relative Job Level

Manager then Final

Final Approver Only

Supervisory Level

Dual Chain of Authority

Line-Item Job-Level (deprecated)

Position Based

HR Position Level

HR Position

Group Based

Approval Group Chain of Authority

You can create your own Action Types, however you will need to write your own
PL/SQL handlers to tell AME how to handle this Action Type. This is not an easy
task. Anyhow, AME Development has seeded an extensive list of Action Types to

Requisition Approval using AME

Page 16

be used, so there should no need to do this. If there were a Business Case for a new
Action Type, it would be best to contact the AME Development team.
Approver Group:

An Approver Group is a ordered set of one or more approver; Usually contains


those approvers who do not fall under a certain hierarchy.
For example,
For certain in a company, for certain chemical items procurement, R&D
department manager needs to approve the Requisition. But there exists no
relationship between preparer and R&D Manager. This relationship can be defined
using Approver group.
Approver Lists:

A complete list of approvers generated by AME for a transaction is called as its


approver list. The initial approver list may not be same as the final approver list
when the approval process completes.An approver list can be divided into 3 sub
parts (or sub-lists) they are pre, chain-of-authority and post
A chain-of-authority (COA) is the sub list, which is generated using one of the
chain of authority/list creation based action type (like supervisory action type).
Pre and Post sub lists are usually approvers generated by a group.
Step 1:
Create New Approver Group:

Requisition Approval using AME

Page 17

This is the first page for Approver Group creation. An unique name for the
Approver Group is specified here along with Description Order Number in which
this Approver Group needs to be given preference, Voting method & Usage Type.
Usage type is of two types.

Static

Dynamic.

If Usage Type is given as dynamic, a query needs to be specified in Query field that
will be executed to generate approvers. If Usage type is Static, Approvers are
manually added which can be seen in the next picture.

Approver Type can be FND Users, Nested Group, HR People, HR Positions &
Position Control Roles. Order Number decides to which approver, Requisition
should be sent first.
Note: Upto 11.5.10.2, Voting method should be Serial for Requisition Transaction
types.

Requisition Approval using AME

Page 18

Rules:

Approval Policies translates into a Rule in AME and are made up of the following
components

Rules belong to a certain item class

Rules can be dated (can specify the life span of it). This is called as Rule
Usage

Rules can be defined for future (future dated)

Multiple conditions have a logical AND between them when associated to a


rule

Step 1: (Enter Rule Details)

Requisition Approval using AME

Page 19

This is the first page for rule creation. An unique name for the rule is specified here
along with Rule type Item Class & Effective dates.
Step 2: (Add Conditions)

Conditions defined for the transaction type is linked to the rule here. On clicking
Add Condition, the following page is displayed.

Requisition Approval using AME

Page 20

The required condition is selected here .

Step 3: (Add Actions)

Actions defined are linked to the Rule in this page. Action type is selected from the
combo and appropriate Action is also selected.

Requisition Approval using AME

Page 21

Step 4: (Review)

This is the Review page that shows that the Conditions and Action Type linked to
the Rule. On clicking Finish, the Rule will be created for the corresponding
transaction type specified.
Item Class:

A grouping of certain info about a transaction constitutes to a class.


Or
An item class aggregates a certain type of items/information that a transaction can
have.
For example,
Line Items of a transaction can be categorized into an item class called as line-item
Cost Center can be another categorization of an item class

Header (default always exists)

Line

Requisition Approval using AME

Page 22

Configuration Variables:

A configuration variable is a parameter that controls a certain behaviour within


AME.
For example,
adminApprover The user to who should be notified in the event of an error.
allowFyiNotification whether to allow generating of approvers with FYI category.

They work similar to FND Profiles in Applications (in the fact that they override
each other at different levels). They are delivered at the following levels:
4) Global (default)
5) Transaction Type
General Configuration Variables:

adminApprover

allowAllApproverTypes

allowAllItemClassRules

allowFyiNotifications

productionFunctionality

repeatedApprovers

Requisition Approval using AME

Page 23

forwardingBehaviour

rulePriorityModes

purgeFrequency

currencyConversionWindow

distributedEnvironment

PARALLELIZATION CONCEPTS:

Parallelization is the process of sending notifications and getting approval response


from more than one approver at a time.The parallelization is maintained internally
in AME via an approval tree and parallelization can be done at 6 levels in this tree.
For all practical purposes, we can assume the parallelization can be done at the
following levels Item Class, Sub-list, Action Type and Group/Chain.

Note: Requisition Approval does not support Parallelization upto 11.5.10.2.


However, from R12, parallelization is supported.
Voting Methods/Regimes:

Voting method in AME determines in what order the notifications are to be sent to
approvers and how the approver responses should be tackled. AME provides the
voting methods for action-types and approver groups. The following 4 voting
methods

Serial

Consensus

First Responder Wins

Order-number

Serial

Sent out 1 at a time. All approvers must Respond


Consensus

Sent to all approvers at once. All approvers must respond.


First Responder Wins

Sent to all approvers at once. Only 1 approver needs to respond.

Requisition Approval using AME

Page 24

Order-Number

You can manually set the Order in which approvers receive their
notifications.

For example: A1, B1, C2, D3, E3


The order would be as follows
1st:

A and B

2nd:

3rd:

D and E

All approvers must Respond

Note: Requisition Approval supports only Serial Method.

DIAGNOSTICS:

Note 361880.1 - Oracle Purchasing Approval Data Collection Test

Note 224583.1 - iProcurement Requisition Approval Workflow Status


Activity Test

Note 287255.1 - Approvals Management Reporting Utility Support Tool

Note 338508.1 - Error "Oracle Approvals Management has found


parallelization configuration..."

AME IN R12:

In R12, following are the main features implemented in Requisition Approval.


Position hierarchy support - Prior to R12, only employee - supervisor hierarchy was
used in AME. In R12, customers can configure position hierarchy approver group
for Requsition Approvals.
Customers who use position hierarchy for their regular approval process are greatly
benefitted by this.
Parallel approval support -Requisition approvals with AME integration supports
parallel approvals. This means send parallel notifications (notify all members of the
group at the same time).
Support for FYI Notifications - AME can now send FYI Notifications to required
persons.

Requisition Approval using AME

Page 25

REFERENCES :

http://hcmwiki.uk.oracle.com/ame/index.php/Main_Page

Note.428552.1 How To Diagnose Issues With Approvals Management


Engine (AME) In Procurement

TEST CASE SCENARIO (DEMO IN VIEWLETS):

Employee :

Created three employees.

EMPLOYEE BYR

EMPLOYEE APR

EMPLOYEE MGR

EMPLOYEE BYR reports to EMPLOYEE APR.


EMPLOYEE APR reports to EMPLOYEE MGR.

Attribute :

Created one attribute. Demo_Requisition_total.


This will accommodate the Requisitions total value.
Name

DEMO_REQUISITION_TOTAL

Item Class

Header

Description

RequisitionTotal

Data Type

Currency

Approver Type

None

Usage Type

Dynamic

Value Set
Category

Others

Action Types

None

Value

The following query is used :

Requisition Approval using AME

Page 26

SELECT nvl(SUM(decode(order_type_lookup_code, 'RATE', amount, 'FIXED


PRICE', amount, quantity * unit_price)), 0),
po_ame_setup_pvt.get_function_currency(max(requisition_header_id)),
po_ame_setup_pvt.get_rate_type(max(requisition_header_id)) from
po_requisition_lines_all where requisition_header_id =
po_ame_setup_pvt.get_new_req_header_id(:transactionId) and nvl(cancel_flag,
'N') ='N'
and nvl(modified_by_agent_flag, 'N') = 'N'

Condition :

Created one condition.

Condition Type

Ordinary

Item Class

Header

Attribute Name

DEMO_REQUISITION_TOTAL

Data Type

Currency

Condition
DEMO_REQUISITION_TOTAL is greater than 10000 and less
than or equal to 50000,USD

All the rules will be tested based on the above attribute and condition.
Rule:

Name

Demo Rule

Rule Type

List Creation

Item Class

Header

Start Date

18-Oct-2007

End Date

31-Dec-4712

Priority

Condition
DEMO_REQUISITION_TOTAL is greater than 10000 and less
than or equal to 50000,USD
Action Type

Action type will be changed for each scenario

Following action types are covered in the Viewlets:

Requisition Approval using AME

Page 27

Action Type:

Supervisory Level

Action :

Require approvals upto the first superior.

Action Type:

Supervisory Level

Action:

Require approvals upto the first three superiors.

Action Type:

Manager then final approver.

Action:

The final approver must at least have job level 2.

Action Type:

Manager then final approver.

Action:

The final approver must at least have job level 1.

Action Type:

Final approver only.

Action:

The final approver must at most have job level 2.

Action Type:

Approval group - Chain of authority

Approvers:

Employee Byr , Employee Apr, Employee Mgr.

Action Type:

Approval group - Chain of authority

Approvers:

Employee Byr , Employee Mgr.

ACKNOWLEDGEMENT

I wish to record my sincere appreciation towards:


Clarina Allen and Varkey Joseph from Procurement Support team for reviewing
this whitepaper and for making it complete with their feedback. Thanks to Varkey
Joseph for providing guidance at various situations. I am grateful to my manager
Chandu Tadanki for his constant encouragement and support.

Requisition Approval using AME

Page 28

Requisition Approval using AME


May 2008
Author: Selvan Jayakumar

Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com
Copyright 2007, Oracle. All rights reserved.
This document is provided for information purposes only and the
contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to any
other warranties or conditions, whether expressed orally or implied
in law, including implied warranties and conditions of merchantability
or fitness for a particular purpose. We specifically disclaim any
liability with respect to this document and no contractual obligations
are formed either directly or indirectly by this document. This document
may not be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without our prior written permission.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

You might also like