Create User & Assign Responsibility
in Oracle EBS R12
A complete step-by-step DBA guide — from login to SQL verification, with field tables, tips, and production-tested queries.
Managing Oracle E-Business Suite R12 user accounts is one of the most frequent tasks for an EBS DBA. Whether onboarding a new employee or extending access for an existing user, knowing the exact steps — and how to verify them at the database level — keeps your environment secure, auditable, and well-documented.
This guide walks through all 10 steps: from System Administrator login to ticket closure, with field references, SQL verification queries, and real-world DBA tips throughout.
Prerequisites
- You have System Administrator responsibility assigned to your login
- You know the responsibility name(s) to assign to the new user
- Employee record exists in HR (if linking the user to a Person)
- User's email address is available for workflow notifications
- Password policy is reviewed and agreed with your security team
FND_USER before creating to avoid duplicates. A user already exists if end_date is null or in the future — just reactivate instead of creating new.
-- Check if user already exists before creating SELECT user_id, user_name, start_date, end_date FROM fnd_user WHERE user_name = 'JSMITH';
Step-by-Step Guide
Open Oracle EBS in your browser and authenticate with your named DBA account. Select the System Administrator responsibility from the list.
http://<host>:<port>/OA_HTML/AppsLogin)From the System Administrator responsibility, navigate through the menu to open the Users definition form (FNDSCAUS).
Navigator → Security → User → Define
FNDSCAUS) opens — this is an Oracle Forms screenFNDSCAUS directly into the Navigator search bar to open the form immediately.Fill in all required fields in the top section of the Users form. These define the user's identity, access window, and notification channel.
| Field | Value / Example | Status |
|---|---|---|
| User Name | JSMITH | Required |
| Password | Welcome#123 | Required |
| Description | John Smith – AP Clerk | Optional |
| Email Address | jsmith@company.com | Required |
| Password Expiration | 90 Days | Per Policy |
| Start Date | Today's Date | Required |
| End Date | (Leave blank) | Blank = Active |
FND_PROFILE password complexity settings before assigning an initial password.Linking the user to an HR person record is required for Self-Service HR, iExpense, iProcurement, and workflow notification routing. Always link when an employee record exists.
%Smith% and press FindPER_ALL_PEOPLE_F before linking.SELECT full_name, employee_number, effective_start_date FROM per_all_people_f WHERE last_name LIKE '%SMITH%' AND SYSDATE BETWEEN effective_start_date AND NVL(effective_end_date, SYSDATE);
Responsibilities control what the user can see and do inside EBS. Each responsibility maps to a menu, security group, and application. Scroll to the lower block of the Users form to assign them.
%AP% or %Payables%| Field | Value / Example | Status |
|---|---|---|
| Responsibility Name | AP Manager | Required |
| Application | Payables | Auto-filled |
| Security Group | Standard | Auto-filled |
| From Date | Today's Date | Required |
| To Date | (Leave blank) | Optional |
Commit all changes to the database. Confirm the status bar shows a successful save message before proceeding.
Ctrl+STransaction complete: 1 records applied and savedRun these two queries immediately after saving to confirm the user record and responsibility assignments are correctly committed to the database.
-- Confirm user was created successfully SELECT user_id, user_name, email_address, start_date, end_date, person_party_id FROM fnd_user WHERE user_name = 'JSMITH';
-- Confirm all responsibilities are assigned with correct dates SELECT fu.user_name, fr.responsibility_name, fur.start_date, fur.end_date FROM fnd_user_resp_groups_all fur, fnd_user fu, fnd_responsibility_tl fr WHERE fu.user_id = fur.user_id AND fur.responsibility_id = fr.responsibility_id AND fu.user_name = 'JSMITH' AND fr.language = 'US';
FND_USER with a null end_date, and one row per responsibility in FND_USER_RESP_GROUPS_ALL with the correct start_date.Login as the new user in a separate browser session to confirm everything is working end-to-end before closing the ticket.
For multi-org environments or module-specific access, set these profile options at the user level. Navigate via System Administrator → Profile → System, query the user, and update accordingly.
| Profile Option | Typical Value | When Required |
|---|---|---|
| MO: Operating Unit | Vision Operations | Multi-org setups |
| GL: Ledger Name | Vision Operations (USD) | GL module access |
| HR: User Type | Full Access | SSHR / HR access |
| ICX: Language | American English | Non-default language |
Every user creation must be documented for SOX, internal audit, or IT governance. Log the change with full details before closing the ticket.
user_id and responsibilities assignedend_date on the FND_USER record AND on each responsibility row immediately. Dormant active accounts are a top audit finding in Oracle EBS environments.Key Database Tables
| Table Name | Purpose |
|---|---|
| FND_USER | All EBS application users — username, password hash, email, start/end dates |
| FND_USER_RESP_GROUPS_ALL | Links users to responsibilities with effective date ranges |
| FND_RESPONSIBILITY_TL | Translatable responsibility names and descriptions |
| FND_RESPONSIBILITY | Responsibility definitions — menu, data group, security group |
| PER_ALL_PEOPLE_F | HR person records — used when linking a user to an employee |
| FND_PROFILE_OPTION_VALUES | Profile option values at all levels including user level |
Post-Creation Checklist
FND_USER with correct start date and null end dateFND_USER_RESP_GROUPS_ALL with correct datesFinal Thoughts
User creation in Oracle EBS R12 looks simple on the surface — but getting it right means linking the HR person, assigning the correct responsibilities, verifying at the database level, and documenting for audit. That difference separates a reactive DBA from a proactive one.
The SQL queries in this guide take 30 seconds to run and save hours of troubleshooting if something goes wrong. Make them part of every user creation workflow.