Wednesday, June 17, 2009

How to chect if a profile option is set in you instance.

Goal
You want to check if a profile option is set in you instance and for which level it was done.

Solution
There are 3 options for checking this.- the best and easiest way is to follow Note 244972.1 Profile Options Data Collection Test (for 11i)- The second option is to run the standard concurrent report "User Profile Option Value" available via "System Administrator" responsibility. This report is fine if you want to check it for a specific user, but it won't allow you to check for all users .- The third way is to run the following sqlplus statement. SELECT po.user_profile_option_name, po.profile_option_name "NAME" , DECODE (TO_CHAR (pov.level_id), '10001', 'SITE' , '10002', 'APP', '10003', 'RESP', '10004', 'USER', '???') "LEV", DECODE (TO_CHAR (pov.level_id) , '10001', '', '10002', app.application_short_name , '10003', rsp.responsibility_key, '10004', usr.user_name, '???') "CONTEXT" , pov.profile_option_value "VALUE" FROM fnd_profile_options_vl po, fnd_profile_option_values pov, fnd_user usr, fnd_application app, fnd_responsibility rsp WHERE (po.profile_option_name = upper('&profil_name')) AND pov.application_id = po.application_id AND pov.profile_option_id = po.profile_option_id AND usr.user_id(+) = pov.level_value AND rsp.application_id(+) = pov.level_value_application_id AND rsp.responsibility_id(+) = pov.level_value AND app.application_id(+) = pov.level_valueORDER BY "NAME", pov.level_id, "VALUE" /You just have to provide the internal profile option name when asked for value for &profile_name.
E.g. internal name for user profile option "Initialization SQL Statement - Oracle" is "FND_APPS_INIT_SQL"
Note that profile option name you are seeing when assigning profiles in Oracle applications is the "user profile name" not the internal one.

No comments: