add

About Me

My photo
Oracle Apps - Techno Functional consultant

Monday, June 30

USER Management | Role Categories | Roles | Indirect Responsibilities


User Mangement Application helps system administrators to assign or un-assign a responsibility for multiple users at a time. Yes, We don’t have to manage individual user accounts for assigning the responsibilities if you are using User Management Application.
In Oracle Applications, Traditional method of assigning a responsibility to a user is from System Administrator > Security > User > Define form
This approach works well when we have limited number of users and responsibilities which doesn’t change very often.
Consider a business scenario where you have 3 departments in your company namely
·         IT with 10 people
·         Sales Dept with 20 People
·         Purchasing with 10 People

For each person in IT department you want to assign 5 different responsibilities. In this scenario you end up going to User screen 5 different times and then adding 5 responsibilities for each user. Basically you end up doing 25 tasks / mouse clicks (assuming you are not using key board shortcuts  )
System Administrator:



The same scenario can be implemented very easily with few steps if we go with User Management Application.
User Management:

Demo:
1.   Create Role Category ( erpSchools IT Dept)
2.   Create Role (erpSchools Authors) under the Role Category created in above step
3.   Assign multiple responsibilities to the Role created in above step.
4.   Check User screen for indirect responsibilities section.

1. Create Role Category: erpSchools IT Dept
Navigation: User Management responsibility

Once you enter User Management Responsibility make sure that you are in Role Categories Tab

Click Update Button as shown above to create a new Role
Fill in the details as shown below and click Apply button to save the record.

2. Create Role: erpSchools Authors
Select Roles & Role Inheritance tab

Click “Create Role” Button

Enter details as below and click Apply button to save data

You will be prompted with a warning message “Updates to Role data will not be visible in the application until the following processes are started : Workflow Background Engine”
Go to system administrator responsibility or any other responsibility from where you can run “Workflow background process”



Once the workflow background process concurrent program is completed just refresh your OAF page by clicking on “Roles & Role Inheritance” tab one more time
So far you have done everything right you should be able to see the Role Category and Role that we created.

3. Assign few responsibilities to the Role we created in above step.
Click on 

in Add Node section of the above screen shot

Search for the responsibility that you would like to add. In this case I would like add the below three responsibilities one after the other
a. erpSchools Demo
b. erpSchools Demo 32
c. erpSchools Demo 322

Select one responsibility at a time and click Select button
Once you add a responsibility to a Role a successfully you can see the responsibility under the Role

Repeat the above two steps to add two more responsibilities to the same Role


4.  Assign the Role to a User.
Navigate to Users Tab.

Search for the user to which you would like assign the Role and click Update Icon

Once you navigate to the user screen select “Assign Roles”

In Search window look for the Role that we created.

Check the checkbox and click on “Select” button
Enter Justification and click either Save or Apply button.

Again you will be prompted with Warning message asking to run “Workflow background process”. Go ahead and complete this step.
Finally, Login into System Administrator to see if indirect responsibilities are added

Done.
We can also create a role and assign role to user from backend.

DECLARE
  lv_role      VARCHAR2(100) := 'ERPSCHOOLS_DEMO_ROLE';
  lv_role_desc VARCHAR2(100) := ' ERPSCHOOLS_DEMO_ROLE';
BEGIN
  WF_DIRECTORY.CREATEADHOCROLE (LV_ROLE, LV_ROLE_DESC, NULL, NULL, 'Role Demo for erpschool users', 'MAILHTML', 'OPERATIONS', --USER NAME SHOULD BE IN UPPER CASE
  NULL, NULL, 'ACTIVE', NULL);
  COMMIT;
  dbms_output.put_line('Created Role' ||' '||lv_role);
END;
/

DECLARE
  v_role_name VARCHAR2(100);
  v_user_name VARCHAR2(100);
BEGIN
  v_role_name := 'ERPSCHOOLS_DEMO_ROLE';
  v_user_name := 'JKUMAR';                                    --USER NAME SHOULD BE IN UPPER CASE
  WF_DIRECTORY.AddUsersToAdHocRole(v_role_name, v_user_name); --USER NAMES SHOULD BE in CAPS
  COMMIT;
END;
/
Important tables :
SELECT * FROM WF_ROLES;
SELECT * FROM WF_USER_ROLES;
SELECT * FROM WF_LOCAL_ROLES;
SELECT * FROM WF_USER_ROLE_ASSIGNMENTS;

No comments: