Saturday 12 January 2013

Profile Options in Oracle

Profile Options are options provided by Oracle which helps the user to customize the application. Profile options act as global variables which help in customization of Oracle Applications.

Profile options make the application flexible and helps the business to achieve the desired functionality with minimum hard-coding.


There are many oracle provided profile options which facilitate the working of oracle applications in the desired manner , we will look at it with the help of an example.In a business, the business will be placing orders to procure stationery items , now for a large scale business there will be numerous users placing the request. In order to minimize wasteful purchase the business might want to put a cap on the number of units that can be requested by each employee the business might keep a cap that clerical level employee can request at the max 2 units of any item , managers 5 units and so on.


For this function the business has a custom form , now to implement this functionality the business will have to include all the complex logic in the form to check for this , and in future if any changes are needed the form needs to be changed. To prevent this type of hardcoding and increase flexibility we can use profile options.


Define a profile options : XXPRO_STAT_REQ.In the form we will have a simple piece of code:


IF :oe_line_block.requesed_qty> fnd_profile.value('XXPRO_STAT_REQ') THENmessage( 'You can’t give discount more than ' || fnd_profile.value('XXPRO_STAT_REQ') || '%' ) ;raise form_trigger_failure ;



Thus with the help of profile options the functionality can be easily implemented , now if there are 1000 users in the system , defining the profile option for each user will be an issue , thus the system can assign the profile option at responsibility level and assign this responsibility for requisition to the users.In future when needed to change the value , the user can query the profile option from the front end and make the changes.Oracle provides the functionality to define the profile options at different levels

  1. Site: This field displays the value if set to all the users in the current installation site
  1. Application : This value if set will be applicable to all the users working under the responsibilities defined under this application
  1. Responsibility : This value if defined will be applicable to all the users currently working under this responsibility
  1. User : this value if defined will apply to the current user
Thus if a profile option value is defined at multiple levels then the user level will override the values defined at the responsibility/application/site level and so on


No comments:

Post a Comment