EBSbeginner

Profile Options in Oracle EBS

Understand what profile options are and how they control application behavior at multiple hierarchy levels

A profile option changes application behaviour without code. The important part is that the same option can be set at four levels, and the most specific wins.

Profile options are like thermostat settings in an office building: there's a building-wide default (Site), but individual floors (Responsibility) or offices (User) can override it — and the more specific setting always wins.

Key Concepts

1
    Site            the whole installation
    Application     one application
    Responsibility  one responsibility
    User            one person
2
    most specific wins:  User > Responsibility > Application > Site
3
Why that hierarchy is the exam question. "I changed the value and it had no effect" is nearly always a more specific level overriding it.
4
    Site           = Operating Unit A
    Responsibility = Operating Unit B    <- this is what applies
    changed Site   = Operating Unit C    -- no visible effect
5
Checking every level, not just the one you set, is the diagnostic.
6
Where the values live.
    FND_PROFILE_OPTIONS         the definitions
    FND_PROFILE_OPTION_VALUES   the values, with a level and a level
                                value
7
Reading one in PL/SQL.
    v_ou := FND_PROFILE.VALUE('ORG_ID');
8
This resolves the hierarchy for the current session automatically, which is why code should use it rather than querying the tables.
9
The options that come up constantly.
    MO: Operating Unit       which operating unit's data a session sees
    MO: Security Profile     multi-org access control, R12 onwards
    GL Set of Books Name     the ledger
    FND: Debug Log Enabled   detailed diagnostic logging
    Sequential Numbering     document numbering behaviour
10
MO: Operating Unit is worth understanding properly, because it determines what data exists as far as a user is concerned. Subledger tables are partitioned by operating unit, and the views filter on the session's value.
MO: Operating Unit
11
So "the invoice is missing" is frequently "you are in the wrong operating unit". The data is there and the session cannot see it.
12
Session caching is the second reason a change appears not to work. Profile values are read into the session, so a change made while somebody is logged in does not reach them until they log out and back in.
13
For site-level changes affecting everyone, that means the change takes effect gradually as people re-authenticate — which produces the confusing state where it works for some users and not others.
14
What the interviewer is probing.1. "What is the hierarchy of profile options?" Probing: the core. Stalls: "One level." Moves up: site, application, responsibility, user, and in some cases server and organisation — the most specific setting wins.
15
2. "Why does this matter when debugging?" Probing: the practical angle. Stalls: "It does not." Moves up: behaviour differing between two users is very often a user-level profile override, not a code difference.
16
3. "Name a profile option you would set for debugging." Probing: hands-on experience. Stalls: "I do not know." Moves up: FND: Debug Log Level and FND: Debug Log Enabled, which turn on the logging the support team asks for.
17
4. "Can a custom program read profile options?" Probing: the extension angle. Stalls: "No." Moves up: yes, through FND_PROFILE.VALUE, which is how custom code inherits the same configuration pattern.