Saturday, February 16, 2013

Implementation of AME with Employee Change Request


           

This Post explains the implementation of AME for Employee Change Request.
Oracle Approvals Management (AME) is a self-service Web application that enables users to define business rules governing the process for approving transactions in Oracle Applications .This enables development of custom rules to manage transaction approvals that is integrated with multiple Oracle EBS applications such as HR, PO, AP and UMX.

In order to achieve AME, we need to add 'Approvals Management Business Analyst' responsibility
Select the transaction type as 'Oracle Self Service Human Resources'
This requires the following.
1. Attributes
2. Conditions
3. Approver Groups
4. Rules

1.Create condition:
Name = HR_IS_ASSIGNMENT_CHANGE_SS is true 
Item Class = Header
Attribute Name = HR_IS_ASSIGNMENT_CHANGE_SS
Date Type = Boolean
Condition = HR_IS_ASSIGNMENT_CHANGE_SS is true



2.Create condition:
Create another condition which include the work flow attribute like 'HR_EMP_STATUS_CHG_JSP_PRC'
Condition Type: Ordinary
Item Class= Header
Attribute Name= Workflow_Process_Name
Data_Type=  String
Condition = WORKFLOW_PROCESS_NAME in (BMCD_HR_EMP_STATUS_CHG_JSP_PRC)

3. After creating conditions we have create approver groups.
    These approver groups can be static or dynamic.
Static approver groups: These are the once where we give a particular name and it is prefixed.
Dynamic approver groups: These are the once we retrieve depending on the conditions given.
The below example given is about approval going to the employee's manager. This can be achieved through below approver group.
Name: XXXX 1st Level Approval
Order Number: 10 --Used to tell which one should go first.
Voting Method: Serial
Usage Type: Dynamic
Query: 
SELECT 'person_id:' || a.person_id
  FROM per_all_people_f a, hr_api_transactions hat
 WHERE     hat.transaction_id = :transactionId
       AND a.person_id =
              (SELECT supervisor_id
                 FROM per_all_assignments_f
                WHERE assignment_id =
                         (SELECT number_value
                            FROM hr_api_transaction_values val,
                                 hr_api_transaction_steps stp
                           WHERE     val.NAME = 'P_ASSIGNMENT_ID'
                                AND stp.transaction_id =hat.transaction_id                               
                                 AND stp.transaction_step_id =
                                        val.TRANSACTION_STEP_ID
                                 AND val.number_value IS NOT NULL
                                 AND ROWNUM = 1)
                  AND sysdate between effective_start_date and effective_end_date)
       AND SYSDATE BETWEEN a.effective_start_date AND a.effective_end_date

4. Final step is to create a Rule and attach the above created once to it.
Click on Rules and then click on Create:
Give a name to it and click on Next.
Click on Next-> Add Conditions
Here select the two conditions we created earlier and 
Click on Next-> Add Action
Here select the approver group we created earlier and click on Finish.




While adding Actions, we come across 'Action Type'. Here we select 'approval-group chain of authority'.
These can be different type.
1. Supervisory level: Where we select this when the approvals should go up to certain level of authority.
2. approval-group chain of authority: Where we specify group of persons the approvals should go.

We can test this by entering into the Employee Change Request form in Self-Service and modify any change and proceed to the final review page where we can the find Manager as the approval.

Note: Migration of This AME stuff is published in my next post.

No comments:

Post a Comment