Mastering Profiles in Oracle Apps R12

Profiles in Oracle EBS R12

As an Oracle E-Business Suite (EBS) R12 Architect, one concept I find both powerful and essential is the Oracle Apps System Profiles Option — or simply, a Profile.

Profiles are your EBS user’s personal control panel. They silently define what users see, how the system behaves, and how secure their session is.

They are the DNA of Oracle EBS, governing every aspect of behavior — from data visibility (MO: Operating Unit) to session security (ICX: Session Timeout).

In short:

Profiles are the hidden key to customizing and securing Oracle EBS — without writing a single line of code.

What Exactly Is a Profiles in Oracle Apps?

A Profile Option is a configurable system variable that determines how Oracle Apps behaves for a specific user, responsibility, application, or the entire site.

Think of your EBS instance as a car shared by many drivers in a large organization.

Profile LevelAnalogyDescription
SiteFactory DefaultThe global, system-wide setting — the ultimate fallback.
ApplicationFleet StandardApplies to all users of a specific application (e.g., Purchasing).
ResponsibilityDriver RoleAdjustments for a specific job function (e.g., ‘AP Clerk’ vs. ‘AP Manager’).
UserPersonal Fine-TuningThe individual’s custom setting (e.g., Joe’s preferred printer).

Every user drives the same car — but with their mirrors and seats perfectly adjusted, thanks to Profiles.

Functional Areas Controlled by Oracle Apps Profiles

Profiles act as the central switchboard for Oracle Apps — influencing everything from Multi-Org Access Control (MOAC) to User Interface personalization and concurrent processing.

Functional AreaExample Profile OptionPurpose
MOAC & Data SecurityMO: Security ProfileDefines the Operating Units a user or responsibility can access — vital for Multi-Org Access Control setups.
Security & AccessICX: Session TimeoutControls how long a user can stay inactive before automatic logout (enhances session security).
UI & PersonalizationFND: DiagnosticsEnables the Diagnostics link — useful for IT or power users during troubleshooting.
Concurrent ProcessingPrinterDefines the default printer for a user or responsibility’s concurrent requests.
General Ledger / ReportingGL: Data Access SetDetermines which ledgers or legal entities are visible to the responsibility.

Each of these profiles plays a functional role in tailoring Oracle EBS for a department, process, or person.

The Oracle Apps Profiles Hierarchy: The Rule of Specificity

Oracle follows a strict evaluation hierarchy known as the Rule of Specificity — it always applies the most specific profile value available.

User → Responsibility → Application → Site

Here’s how it works:

  • If a User-level value exists, that’s used.
  • If not, Oracle checks the Responsibility level.
  • Then Application.
  • Finally, the Site default applies if nothing else is set.
LevelProfile OptionValue
SiteFND: DiagnosticsNo
ResponsibilityFND: DiagnosticsYes

When user Ravi logs in with the GL Manager responsibility, Oracle uses the Responsibility-level setting, enabling Diagnostics — even though the Site-level value is No.

This mechanism ensures granular personalization without needing multiple installations or code changes.

Profiles in Oracle Apps R12

How to View or Change Oracle Apps Profiles Values

The safest and most common way to manage profiles is via the System Administrator responsibility.

Navigation:
System Administrator → Profile → System

Steps:

  1. Enter the Profile Name (e.g., %MO: Operating Unit%).
  2. Select Site, Application, Responsibility, and User checkboxes.
  3. Click Find.
  4. View or update values directly in the results window.

Pro Tip: Always record the existing value before modifying it. That’s your rollback point.

Profiles MO: Operating Unit

For developers or DBAs performing audits or troubleshooting, the backend tables are your friends.

Table NamePurposeKey Column
FND_PROFILE_OPTIONSStores the definition (technical name) of each profile option.PROFILE_OPTION_ID
FND_PROFILE_OPTION_VALUESStores actual values for each level (Site, Resp, User).PROFILE_OPTION_ID

This SQL retrieves the value of MO: Operating Unit for the General Ledger Superuser responsibility:

SQL
SELECT
    fpo.profile_option_name,
    fpov.profile_option_value,
    frt.responsibility_name
FROM
    fnd_profile_options fpo,
    fnd_profile_option_values fpov,
    fnd_responsibility_tl frt
WHERE
    fpo.profile_option_id = fpov.profile_option_id
    AND fpov.level_id = 10003   -- Responsibility level
    AND fpov.level_value = frt.responsibility_id
    AND fpo.profile_option_name = 'MO_OPERATING_UNIT'
    AND frt.responsibility_name = 'General Ledger Superuser'
    AND frt.language = USERENV('LANG');
SQL
Level NameLevel_ID
Site10001
Application10002
Responsibility10003
User10004

🛠️ Creating a Custom Profile Option

When developing custom Oracle modules (XX applications), you can define your own profile options to control behavior dynamically.

Steps:

  1. Navigate to
    Application Developer → Profile → System Profile Options
  2. Click New.
  3. Enter details such as:
    • Name: XX: Enable Custom Logging
    • Application: XX Custom Application
    • User Changeable: Yes
    • Site Enabled: Yes
  4. Save your changes.

Accessing It in Code:

SQL
FND_PROFILE.VALUE('XX_ENABLE_CUSTOM_LOGGING');
SQL

You can use this value inside PL/SQL packages or workflows to control logging, debug modes, or feature toggles dynamically.

You can download the profiles using FNDLOAD and migrate to higher test instances.

Key Takeaways

Profiles are one of the most versatile and underestimated tools in Oracle EBS R12.

They let you personalize, secure, and optimize the application — all through configuration.

ScenarioRelevant Profile
User cannot see specific operating unitsMO: Security Profile
Session expires too quicklyICX: Session Timeout
Functionality differs by responsibilityFND: Diagnostics
Custom module logging controlXX: Enable Custom Logging

🧩 Summary Table

AspectDescription
PurposeControl system behavior across users, responsibilities, and modules.
HierarchyUser → Responsibility → Application → Site
Key TablesFND_PROFILE_OPTIONS, FND_PROFILE_OPTION_VALUES
Used ForMOAC, security, personalization, reporting defaults, debugging
Common IssueCache not refreshed after new profile creation

Final Thought

When troubleshooting or tuning Oracle EBS:

Always check the Profile Options first — they often hold the key to “why this works for one user but not another.”

Mastering Profiles means mastering control — not just of the system, but of the user experience itself.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.