Anda di halaman 1dari 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

Serial Consensus First Responder Wins Order-number

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: 2nd: 3rd: A and B C 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 Item Class Description Data Type Approver Type Usage Type Value Set Category Action Types Value Others None The following query is used : DEMO_REQUISITION_TOTAL Header RequisitionTotal Currency None Dynamic

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 Item Class Attribute Name Data Type

Ordinary Header DEMO_REQUISITION_TOTAL 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 Rule Type Item Class Start Date End Date Priority

Demo Rule List Creation Header 18-Oct-2007 31-Dec-4712 1

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: Action :

Supervisory Level Require approvals upto the first superior.

Action Type: Action:

Supervisory Level Require approvals upto the first three superiors.

Action Type: Action:

Manager then final approver. The final approver must at least have job level 2.

Action Type: Action:

Manager then final approver. The final approver must at least have job level 1.

Action Type: Action:

Final approver only. The final approver must at most have job level 2.

Action Type: Approvers:

Approval group - Chain of authority Employee Byr , Employee Apr, Employee Mgr.

Action Type: Approvers:

Approval group - Chain of authority 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.