Implementing User Profiles :

You should define user profile options whenever you want your application to react in different ways for different users, depending on specific user attributes.

You can decide whether your end users can view and update options you define at the User level or you can also define the option such that your end users could not see or change its value.

Predefined User Profile Options :

Database Profile Options :

Oracle Application Object Library provides many user profile options that the Oracle System Administrator or the users can see and update.

Internally Generated Profile Options :

Oracle Application Object Library also provides a set of profile options that you can access via the user profile routines. You can retrieve values for these profile options in your forms and programs.

However, except for the profiles CONC_PRINT_OUTPUT and CONC_PRINT_STYLE, you cannot change their values. System administrators and end users cannot see the values for, nor change the values of, these profile options.

  • FND_PROFILE: User Profile APIs :

You can use the user profile routines to manipulate the option values stored in client and server user profile caches.
On the client, a single user profile cache is shared by multiple form sessions. Thus, when Form A and Form B are both running on a single client, any changes Form A makes to the client’s user profile cache affect Form B’s run–time environment, and vice versa.

On the server, each form session has its own user profile cache. Thus, even if Form A and Form B are running on the same client, they have separate server profile caches. Server profile values changed from Form A’s session do not affect Form B’s session, and vice versa.

Similarly, profile caches on the server side for concurrent programs are separate.

Also, note that the server–side profile cache accessed by these PL/SQL routines is not synchronized with the C–code cache. If you put a value using the PL/SQL routines, it will not be readable with the C–code routines.

Any changes you make to profile option values using these routines affect only the run–time environment.

The effect of these settings ends when the program ends, because the database session (which holds the profile cache) is terminated.

  • FND_PROFILE.PUT :

Summary procedure FND_PROFILE.PUT

(name IN varchar2,

value IN varchar2);

Location FNDSQF library and database (stored procedure)

Description Puts a value to the specified user profile option. If the option does not exist, you can also create it with PUT.

Arguments (input)

name The (developer) name of the profile option you want to set.

Value The value to set in the specified profile option.

  • FND_PROFILE.GET

Summary procedure FND_PROFILE.GET

(name IN varchar2,

value OUT varchar2);

Location FNDSQF library and database (stored procedure)

Description Gets the current value of the specified user profile option, or NULL if the profile does not exist.

Arguments (input)

name The (developer) name of the profile optionwhose value you want to retrieve.

Arguments (output)

Value The current value of the specified user profile option as last set by PUT or as defaulted in the current user’s profile.

Example FND_PROFILE.GET (’USER_ID’, user_id);

  • FND_PROFILE.VALUE

Summary function FND_PROFILE.VALUE

(name IN varchar2) return varchar2;

Location FNDSQF library and database (stored function)

Description VALUE works exactly like GET, except it returns the value of the specified profile option as a function result.

Arguments (input)

Name The (developer) name of the profile option whose value you want to retrieve.