Read-Only responsibility in Oracle Applications

Scenario: Administrator wants to provide the access to the menu functions attached to a specific responsibility but doesn’t want the users to do any updates. This is a typical business requirement when some stakeholders want to know the data and information for FYI purpose but are not authorized to edit the existing data nor insert new data.
Solutions:
Solution 1

1.    Identify the menu attached to the responsibility of the role to which you want to provide the View only access.
The Navigation is: Security à Responsibility à Define


2.    In the Menu identify the form functions attached to the Menu
Application à Menu


3.    Create a new form function same as the standard form but set the Parameter
Query_Only = Yes


a.    Navigation is : Application à Function à Form à Parameter
b.    The function becomes read only

4.    Create a new menu with these read only functions
5.    Assign the new menu to the new responsibility
6.    Assign the new responsibility to users who can have only read access


Solution 2
1.    Create a Database user rd_user
2.    Grant all the objects/ synonyms from apps to rd_user
3.    Create synonym for all the apps objects in rd_user
4.    In Oracle apps, register the user rd_user as a user and datagroup which is similar to apps
5.    Create responsibility similar to apps but attach rd_user datagroup

What if the user has 50 responsibilities? It consumes a lot of time in creating the functions, menus and finally adding relevant profiles to the responsibility. There is another simpler way to make all the responsibilities of a user as read-only. Check out the following blog post: