Fusion Concepts: Profiles

This is the final post in the series Fusion Concepts. Profiles is the way to manage user preferences and system configuration parameters. This helps in customizing the behavior of the application based on profile values. Profiles can be set at different levels based on how a profile is defined. End user can manage his profile however, depending upon the profile definition all the profile options may not be visible to the end user and all the visible options may not be updatable.

Managing Profiles

From the application administrators perspective profiles can be managed based on their level. Similar profiles can be searched and managed by the administrator. Fusion Applications support following hierarchy for the profiles
  • Site (Lowest Level): This means profile is applied to all the users for the application instance.
  • Product: This level is intended for the product owning the code module user is accessing.
  • User (Highest Level): An individual user identified by their current userId for the session.
A profile can be set at more than one level and in that case higher level profile overrides the lower level profile setting. As profile values are defaulted from lowest to highest level so most of the profile options are set at the SITE level by administrators. This becomes the default profile for all the end users until they override those values at USER level.

Data Model

Following tables are involved in implementing Profiles (FND Profiles)
FND_PROFILE_OPTIONS_VL view is created on the top of FND_PROFILE_OPTIONS_B & FND_PROFILE_OPTIONS_TL and serves as a base profile table. FND_PROFILE_OPTION_VALUES is a child table containing the values corresponding to profile names in the FND_PROFILE_OPTIONS_B table. FND_PROFILE_LEVELS This table defines available level of profiles.  FND_PROFILE_OPTION_LEVELS this is an intersection between profile levels and hierarchy. For each profile/level combination, it records weather the profile is enabled and updatable by admin at a level. FND_PROFILE_HIERARCHIES This table lists the recognized profile hierarchies. FND_PROFILE_HIERARCHY_LEVELS This table This table records the sequential arrangement of profile levels within a hierarchy. This table is referred to determine the previous level for defaulting values to current level.

Programmatic Access

Following code can be used to access profile values programatically:

import oracle.apps.fnd.applcore.Profile;
fndDiagnostics = Profile.get("AFLOG_ENABLED");


A more detailed explanation can be referred from the Fusion Applications Developer guide here.

Hi ,
I have question on implementation of profiles with an sample app. With Delivered common profiles model and view jars i am able to define new profile options/categories to existing applications/modules(LOV of application and module) at any profile level. But if i try to access any value programmatically or using EL iam getting only site level values, for other i am getting as null. My first issue is how can i add new application/module to configure such that i will get my app/module while configuring profiles and how can i integrate my app to work with profiles at product or user level.

Posted by guest on April 10, 2014 at 10:24 AM PDT #

- Module and Application attributes are validated against the Application Taxonomy. If you want new values you need to add them there. For Application it needs to be a node of type APPLICATION. For Module attribute it just needs to be a taxonomy node of any type (although probably APPLICATION or LBA) with the Seed Data Enabled property set.

- For Product and User levels to work, your test app has to first know who you are and what product this is. My guess would be that you haven't enabled security on the test app, so it doesn't know either. Maybe make sure they've defined the ApplSession filters, as described at http://docs.oracle.com/cd/E36909_01/fusionapps.1111/e15524/sec_usession.htm#OADEE181

Posted by Vik on April 14, 2014 at 03:32 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Follow us on twitter Fusion Applications Extensibility, Customizations and Integration forum Fusion Applications Dev Relations YouTube Channel
This blog offers news, tips and information for developers building extensions, customizations and integrations for Oracle Fusion Applications.


« November 2015