Vous êtes sur la page 1sur 55

Getting Started With Approvals Management Engine

John Peters
JRPJR, Inc.
john.peters@jrpjr.com

01/17/07 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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?
01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 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)
01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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
01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 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
01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 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.
01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 7

Using the Requisition Approval process as an example

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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
01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 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.

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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.

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

15

AME Approvers
AME Approvers must be setup as FND_USERs

AME Approvers must be setup as Employees

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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.

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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


01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 19

Example of Approval Rules

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

20

AME Dashboard

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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
John Peters, JRPJR, Inc. 22

01/24/06 NorCal OAUG Training Day, Paper 3.9

AME Attributes Data Types

Boolean

Currency
Date

True or False (amount,denomination,conversion method) YYYY:MON:DD:HH24:MI:SS Integer or decimal (using users character set decimal point)

Number
String

Up to 100 characters in length

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

24

Number Attributes
SQL routines should run the numeric values through the PL/SQL function: fnd_number.number_to_canonical

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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.

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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
John Peters, JRPJR, Inc. 27

01/24/06 NorCal OAUG Training Day, Paper 3.9

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.
John Peters, JRPJR, Inc. 28

01/24/06 NorCal OAUG Training Day, Paper 3.9

PL/SQL Example

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

31

Regular Conditions

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

32

Regular Conditions

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

33

List Modifier Conditions

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

35

Some of the Chain of Authority Action Types


Job Level absolute job level relative job level
chains of authority based on absolute job level chains of authority based on relative job level chains of authority containing only the final job-level approver

final approver only

Position hr position

hr position level

chains of authority based on a particular HR position


chains of authority based on HR positions

Hierarchy manager then final approver supervisory level

chain of authority includes requestor's manager and then the final approver chains of authority based on number of supervisory levels

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

36

Job Level

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

37

Chain of authority action types

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

39

List Modification Action Types


final authority
grant final authority to an approver

nonfinal authority
extend the chain of authority past an approver

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

40

List modification action types

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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.

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

42

Pre or Post List Approval Groups

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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)

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

44

Approval Groups

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

45

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

46

Rules Level 2 Approval


Actual Definition form

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

47

Rules List Modification


Actual Definition form

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

48

Testing the Process


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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

49

Testing the Process


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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

50

Testing the Process


This dumps the attribute values

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

51

Testing the Process


This dumps rules and final approver list

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

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
01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 53

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
01/24/06 NorCal OAUG Training Day, Paper 3.9 John Peters, JRPJR, Inc. 54

Summary

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

01/24/06 NorCal OAUG Training Day, Paper 3.9

John Peters, JRPJR, Inc.

55

Vous aimerez peut-être aussi