This Post is going to describe how to use AME for Requisition approvals. Purchase requisition and Purchase orders can be approved using AME. AME Stands for Approval Management Engine.
We are going to perform the setup steps one by one and see a demo test case. We are going to perform this case on R12.1.3
Setup Steps
1) AME Profile Options
2) Assign AME Roles and Responsibilities
3) Grant Transaction Type Access to User
4) Create New Transaction Types
5) Approval Process Setup
6) Enable AME for Requisition Approval
Step 2) Assign AME Roles and Responsibilities
Navigate to User Management Responsibility > Users
Query for the User. In our case its Apps_User
Click on Update and then Assign Roles
Now Query for "Approvals%" and select "Approval Management Administrator" and "Approval Management Business Analyst"
Click Select
Put some justification and click apply. A message will be displayed "You have successfully updated the information "
Step 3) Grant Transaction Type Access to User
Next step is to Grant Transaction Type Access to User.
Navigate to Functional Administrator >Security > Grants> Create Grants
Fill In below Information in the next form
Name = Apps_User Grants
Grantee Type = Specific User
Grantee = Apps_User
Object = AME Transaction Types
Click On next
Data Context Type = All Rows
Click Next
Set = AME Calling Applications
Click Next and review and clicking on Finish will display "Grant '' has been created successfully."
Step 4) Create new Transaction Type
You can use existing transaction type also or can create your own. Lets Create a new Transaction type.
Navigate to Approval Management Administrator (This Responsibility will be available now because it was assigned in step 2) and Click On "Create Transaction Type"
Enter Information as shown below or create your own Transaction type
Click Next, Select Line Item from Drop Down and Click "Go"
Change the Order Number to 2
Post below in the query. I copied it from earlier Requisition approval transaction type.
select prd.distribution_id from po_req_distributions_all prd,
po_requisition_lines_all prl
where prl.requisition_header_id = po_ame_setup_pvt.get_new_req_header_id(:transactionId)
and prl.requisition_line_id = prd.requisition_line_id
and nvl(prl.cancel_flag, 'N') = 'N'
and nvl(prl.modified_by_agent_flag, 'N') = 'N'
order by prd.distribution_id
Click on Validate, a message will be displayed "The query is valid" and now click on "Apply".
Click on Next and enter the details as shown in below screenshot.
Click on Validate Button after entering each value. Below are the value. I copy pasted from seeded transaction type defined
ALLOW_DELETING_RULE_GENERATED_APPROVERS=
select decode(PO_AME_SETUP_PVT.is_system_approver_mandatory(:transactionId),
'N', 'true', 'false')
from dual
ALLOW_REQUESTOR_APPROVAL=
select decode (PO_AME_SETUP_PVT.can_preparer_approve(:transactionId),
'Y', 'true', 'false')
from dual
WORKFLOW_ITEM_KEY=
select wf_item_key from po_requisition_headers_all where requisition_header_id = po_ame_setup_pvt.get_new_req_header_id(:transactionId)
WORKFLOW_ITEM_TYPE=
select wf_item_type from po_requisition_headers_all where requisition_header_id = po_ame_setup_pvt.get_new_req_header_id(:transactionId)
Now Click On next and Finish Button. A confirmation message will be displayed as "Transaction type Mandeep Purchase Requisition Approval has been created successfully."
Step 5) Approval Process Setup
Next is to define Attributes, Conditions, Actions Types, Approval Group, Rules etc
Navigate to Approval Management Business Analyst > Business Analyst Dashboard
In Approval Process Setup, Query for Transaction Type as "Mandeep Purchase Requisition Approval".
Attributes:
Next Click on Attributes. Click On "Use Existing Attributes"
Now select the attributes as shown below and click Go
Select REQUISTION_TOTAL and Click On Continue
Select Usage Type as Dynamic and Copy below sql there
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'
Click on Validate and then Finish will display a message "Attribute REQUISITION_TOTAL has been created successfully."
Similarly do same for Item category. Click on Use Existing Attributes. Select Attributes as shown below
Select Item Category and click Continue
Select Usage Type as Dynamic and Copy below sql there
select mck.concatenated_segments from mtl_categories_b_kfv mck, po_requisition_lines_all prl, po_req_distributions_all prd where mck.category_id = prl.category_id and prl.requisition_line_id = prd.requisition_line_id and prl.requisition_header_id = po_ame_setup_pvt.get_new_req_header_id(:transactionId) order by prd.distribution_id
Also Add Below Attributes for selecting action types
TRANSACTION_REQUESTOR_PERSON_ID(Required for Supervisory level Action Type)
select nvl(PREPARER_ID, 0) from po_requisition_headers_all where REQUISITION_HEADER_ID = po_ame_setup_pvt.get_new_req_header_id(:transactionId)
And Now add
ALLOW_EMPTY_APPROVAL_GROUPS(Required for approval-group chain of authority Action Type)
Conditions:
Next is to specify Conditions. Click on Setups> Conditions > then click on Create
Condition for Item Category
Condition for Requisition Total
Action Types
Now click on action types and select use existing actions
Select below value and click Continue
and click on Finish "The selected action types have been added successfully."
Approver Groups
Now click on Approver Groups and click on Create Button.
Enter Name, description , Order number, Voting Method. and add approvers
Click Apply. Similarly create other approver groups.
Give order number
AME Rule Setups
Now ;lets use condition and approver groups to create rules. Click on Rule
Click on Create.
Enter Rule details like Name, End date will automatically come and you can change it also. Click Next and Add Conditions.
Select Conditions which is created earlier or use from exiting conditions. Click Continue. You can add more conditions here and then click next and add actions
Click Next and Review
Click on Finish "Rule Supervisior has been created successfully".
Similarly create rule for Item Category Condition
Click Finish "Rule Item Category has been created successfully."
Step 6) Enable AME for Requisition Approval
Next step is to enable AME for requisition approval.
Navigate to Purchasing super user>Setup>Purchasing>Document Type and search for Purchase requisition
Add "Mandeep_Purchase_REQ" in Approval Transaction Type and save
This complete our AME setups.
Thanks
Mandeep
We are going to perform the setup steps one by one and see a demo test case. We are going to perform this case on R12.1.3
Setup Steps
1) AME Profile Options
2) Assign AME Roles and Responsibilities
3) Grant Transaction Type Access to User
4) Create New Transaction Types
5) Approval Process Setup
6) Enable AME for Requisition Approval
Step 2) Assign AME Roles and Responsibilities
Navigate to User Management Responsibility > Users
Query for the User. In our case its Apps_User
Click on Update and then Assign Roles
Now Query for "Approvals%" and select "Approval Management Administrator" and "Approval Management Business Analyst"
Click Select
Put some justification and click apply. A message will be displayed "You have successfully updated the information "
Step 3) Grant Transaction Type Access to User
Next step is to Grant Transaction Type Access to User.
Navigate to Functional Administrator >Security > Grants> Create Grants
Fill In below Information in the next form
Name = Apps_User Grants
Grantee Type = Specific User
Grantee = Apps_User
Object = AME Transaction Types
Click On next
Data Context Type = All Rows
Click Next
Set = AME Calling Applications
Click Next and review and clicking on Finish will display "Grant '' has been created successfully."
Step 4) Create new Transaction Type
You can use existing transaction type also or can create your own. Lets Create a new Transaction type.
Navigate to Approval Management Administrator (This Responsibility will be available now because it was assigned in step 2) and Click On "Create Transaction Type"
Enter Information as shown below or create your own Transaction type
Click Next, Select Line Item from Drop Down and Click "Go"
Change the Order Number to 2
Post below in the query. I copied it from earlier Requisition approval transaction type.
select prd.distribution_id from po_req_distributions_all prd,
po_requisition_lines_all prl
where prl.requisition_header_id = po_ame_setup_pvt.get_new_req_header_id(:transactionId)
and prl.requisition_line_id = prd.requisition_line_id
and nvl(prl.cancel_flag, 'N') = 'N'
and nvl(prl.modified_by_agent_flag, 'N') = 'N'
order by prd.distribution_id
Click on Validate, a message will be displayed "The query is valid" and now click on "Apply".
Click on Next and enter the details as shown in below screenshot.
Click on Validate Button after entering each value. Below are the value. I copy pasted from seeded transaction type defined
ALLOW_DELETING_RULE_GENERATED_APPROVERS=
select decode(PO_AME_SETUP_PVT.is_system_approver_mandatory(:transactionId),
'N', 'true', 'false')
from dual
ALLOW_REQUESTOR_APPROVAL=
select decode (PO_AME_SETUP_PVT.can_preparer_approve(:transactionId),
'Y', 'true', 'false')
from dual
WORKFLOW_ITEM_KEY=
select wf_item_key from po_requisition_headers_all where requisition_header_id = po_ame_setup_pvt.get_new_req_header_id(:transactionId)
WORKFLOW_ITEM_TYPE=
select wf_item_type from po_requisition_headers_all where requisition_header_id = po_ame_setup_pvt.get_new_req_header_id(:transactionId)
Now Click On next and Finish Button. A confirmation message will be displayed as "Transaction type Mandeep Purchase Requisition Approval has been created successfully."
Step 5) Approval Process Setup
Next is to define Attributes, Conditions, Actions Types, Approval Group, Rules etc
Navigate to Approval Management Business Analyst > Business Analyst Dashboard
In Approval Process Setup, Query for Transaction Type as "Mandeep Purchase Requisition Approval".
Attributes:
Next Click on Attributes. Click On "Use Existing Attributes"
Now select the attributes as shown below and click Go
Select REQUISTION_TOTAL and Click On Continue
Select Usage Type as Dynamic and Copy below sql there
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'
Click on Validate and then Finish will display a message "Attribute REQUISITION_TOTAL has been created successfully."
Similarly do same for Item category. Click on Use Existing Attributes. Select Attributes as shown below
Select Item Category and click Continue
Select Usage Type as Dynamic and Copy below sql there
select mck.concatenated_segments from mtl_categories_b_kfv mck, po_requisition_lines_all prl, po_req_distributions_all prd where mck.category_id = prl.category_id and prl.requisition_line_id = prd.requisition_line_id and prl.requisition_header_id = po_ame_setup_pvt.get_new_req_header_id(:transactionId) order by prd.distribution_id
Also Add Below Attributes for selecting action types
TRANSACTION_REQUESTOR_PERSON_ID(Required for Supervisory level Action Type)
select nvl(PREPARER_ID, 0) from po_requisition_headers_all where REQUISITION_HEADER_ID = po_ame_setup_pvt.get_new_req_header_id(:transactionId)
And Now add
ALLOW_EMPTY_APPROVAL_GROUPS(Required for approval-group chain of authority Action Type)
Conditions:
Next is to specify Conditions. Click on Setups> Conditions > then click on Create
Condition for Item Category
Condition for Requisition Total
Action Types
Now click on action types and select use existing actions
Select below value and click Continue
- Supervisory level
- Approval-Group Chain of authority
and click on Finish "The selected action types have been added successfully."
Approver Groups
Now click on Approver Groups and click on Create Button.
Enter Name, description , Order number, Voting Method. and add approvers
Click Apply. Similarly create other approver groups.
Give order number
AME Rule Setups
Now ;lets use condition and approver groups to create rules. Click on Rule
Click on Create.
Enter Rule details like Name, End date will automatically come and you can change it also. Click Next and Add Conditions.
Select Conditions which is created earlier or use from exiting conditions. Click Continue. You can add more conditions here and then click next and add actions
Click Next and Review
Click on Finish "Rule Supervisior has been created successfully".
Similarly create rule for Item Category Condition
Click Finish "Rule Item Category has been created successfully."
Step 6) Enable AME for Requisition Approval
Next step is to enable AME for requisition approval.
Navigate to Purchasing super user>Setup>Purchasing>Document Type and search for Purchase requisition
Add "Mandeep_Purchase_REQ" in Approval Transaction Type and save
This complete our AME setups.
Mandeep