Responsibility in Oracle Apps


Responsibility in Oracle Apps:
A responsibility lets you control what (forms / reports ) a user can access when logged into it.
A responsibility will have one main menu. Under that main menu you can have other sub menus or functions. Each of these responsibilities can be assigned to various user accounts.
Menu is assigned to responsibility –> Responsibility is assigned the user.
When user logs into Oracle apps, he will see a list of responsibilities that he can access. When he gets into one of the responsibilities, he will see the list of menus, sub menus and functions he can access.

If you log in to System Administrator responsibility, you will see a whole lot of sub menus and functions. Say for some security reasons, a particular user should be given access only to two forms – Users form and Responsibility form. He should not be get to any other forms in System administrator menu. Now lets see how to achieve this requirement.

1. Create a custom menu that will only have the forms – Users and Responsibility.
Refer to the article Menu in Oracle Apps

2. Create a new responsibility called “erpSchools Access Resp” and assign the custom menu that has been created in Step 1.
Navigation: System Administrator > Security > Responsibility > Define
Screenshot_041414_021708_PM

Enter the below details and save.
Responsibility Name:  Meaningful name for the new responsibility. Users will see this name in the responsibilities list.
Application: Since this is a custom responsibility, give in the custom application name.
Responsibility Key: Short name for this responsibility for internal use.
Description: Meaningful description that conveys the need for this responsibility.
Effective Dates: The date range during which the user can access this responsibility.
Available From: From what Oracle Application system, this responsibility can be accessed from.
Menu: The menu you want to see under the responsibility.
Request Group: What reports or concurrent requests the user can run from this responsibility.
Data Group: The data group defines the pairing of application and ORACLE username. Select the application whose ORACLE username forms connect to when you choose this responsibility to access the underneath database tables.

Screenshot_041414_022218_PM

3.Lets assign this responsibility to a user
Navigation: System Administrator > Security > User> Define
Screenshot_041414_022508_PM

4. Log in as the above user and get into the responsibility erpSchools Access Resp.
Screenshot_041414_023213_PM

You will see only two forms under the custom responsibility – Users and Responsibility.
Screenshot_041414_023447_PM

Menu Exclusion:
Say you want to exclude Responsibilities form from our custom responsibility, you can do so by navigating to
System Administrator > Security > Responsibility > Define
Query the custom responsibility “erpSchools Access Resp”
Screenshot_041414_023935_PM

Under Menu Exclusions tab, give in the form details and save.
Type: Choose Menu if you want to exclude  a menu. Choose Function to exclude a form.
Name: Type in the Menu name / function name you want to exclude.

Screenshot_041414_024205_PM

Login to responsibility. You will only see Users form as Responsibilities form has been excluded from the responsibility.
Screenshot_041414_024406_PM

Technical details:
Responsibility details are stored in the following tables:
FND_RESPONSIBILITY
FND_RESPONSIBILITY_TL

Views:

FND_RESPONSIBILITY_VL: is available which a join between FND_RESPONSIBILITY and FND_RESPONSIBILITY_TL table. This view can be used to get responsibility name and description based on responsibility ID.
FND_USER_RESP_GROUPS_ALL: can be used to find out the association of the user with the responsibility. This view contains user id and responsibility id. This view can be joined with FND_USER and FND_RESPONSIBILITY_TL table to select all the responsibilities assigned to an user.