FND User Upload

Description

FND User Upload creates and maintains Oracle E-Business Suite user accounts directly from Excel, together with their responsibility assignments. In a single template you can create new users, set or reset passwords, update contact details and validity dates, assign responsibilities (one per row), and optionally link a user to an existing employee or create the employee record at the same time. It is also a quick way to report on every user and the responsibilities they currently hold.

When to use it

  • Onboard users in bulk – create many new EBS accounts in one pass.
  • Assign responsibilities – grant or re-date responsibilities for new or existing users.
  • Clone a user’s access – create a new user with exactly the same responsibilities as an existing one.
  • Deactivate – end-date a user account or an individual responsibility assignment.
  • Reset passwords in bulk, or update email, fax and descriptions across many accounts.
  • Link to HR – tie a user to an existing person, or create the employee record alongside the account.
  • Download and review all users and their active responsibilities without uploading any changes.

Before you start

  • Blitz Report is installed and you are signed in to a responsibility that can administer EBS users and assign responsibilities (System Administrator level access).
  • Any Responsibility, Application and Business Group you reference already exists – they are validated against their lists.
  • To link or create an employee, Oracle HR is available and the Person / Employee Number resolves within the chosen Business Group.
  • Any password you set meets your instance’s password policy.

Step 1 – Open the upload and choose a mode

Run FND User Upload from the Blitz Report menu and choose an Upload Mode:

  • Create – an empty template for entering brand-new users.
  • Create, Update – downloads existing users and their responsibility assignments so you can review or change them.

Whichever mode you pick, each row is automatically treated as a create or an update by checking whether the user already exists – you do not set an action yourself.

Step 2 – Set the parameters and download the template

In Create, Update mode the parameters limit what is downloaded:

ParameterPurpose
Upload ModeCreate, or Create, Update (see Step 1).
User NameRestrict the download to a single user.
Has Access to ResponsibilityDownload only users who currently hold a given responsibility.
Has Access to ApplicationDownload only users who hold any responsibility in a given application.
Active onlyRestrict to currently active users and assignments (default Yes).
Creation Date From / ToDownload users created within a date range.
Created within daysDownload users created in the last N days.

Step 3 – Enter the user account

On each row enter the User Name and a User Start Date (both required). Optionally set a Password (the Unencrypted Password column – always blank on download; fill it only to set or change the password), a Description, Email Address, Fax, and a User End Date to deactivate the account.

Step 4 – Assign a responsibility

Each row carries the user plus one responsibility assignment: Responsibility Name, Responsibility Application and Responsibility Start (required), with an optional Responsibility End and assignment description. To grant several responsibilities to one user, repeat the user on several rows – one responsibility per row. Assignments are created as direct assignments in the Standard security group.

Step 5 – Link to an employee (optional)

To tie the account to a person, supply a Business Group and the Person or Employee Number. If no matching person exists, the upload creates a new employee from the First Name, Last Name, Gender, Date of Birth and email you provide. Leave Business Group blank for a plain, non-employee account.

Step 6 – Validate and Save

Click Validate and Save. This checks for missing required values and runs any extra validation the upload defines, then saves the file. Correct anything it flags before continuing.

Step 7 – Upload and view the result

Back in Blitz Report, click Upload and select your saved file. This submits the Blitz Upload request, which processes each row independently. When it finishes, a result report opens showing each row as success or error.

What’s produced

  • New or updated user accounts, their direct responsibility assignments, and – where a Business Group was supplied – linked or newly created employee records.
  • A result report listing every row with a status (success or error) and a message (for example “New user created.”, “Responsibility has been assigned to the user.” or “User has been updated.”), so you can see which rows succeeded and why any failed. The password column is always returned blank.

Common questions

How do I give one user several responsibilities?
Put the user on several rows – one responsibility per row. The account is touched once and each row adds or updates one assignment.

How do I create a new user with the same responsibilities as an existing one?
Run the upload in Create, Update mode and filter the download to the template user (set User Name to the existing account). In the downloaded sheet – which has one row per responsibility the user holds – change the User Name on every row to the new user’s name, then Validate and Save and Upload. Because each row is created or updated by whether the user exists, the new name is created and all of the template user’s responsibilities are granted in one pass. Leave the Password blank unless you want to set one, and clear the Person / Business Group columns (or enter the new person) so the new account is not tied to the original user’s employee.

How do I set or reset a password?
Enter it in the Password column. It is never shown on download, and leaving it blank on an update keeps the existing password unchanged.

How do I deactivate a user or a responsibility?
Enter a User End Date to end-date the account, or a Responsibility End to end-date that one assignment. There is no separate delete action.

Do I have to fill in the employee fields?
No. They are used only when you supply a Business Group. Leave it blank to create or maintain a plain user account.

I’m in Create mode and the user already exists – what happens?
The user row is skipped (“Existing user, skipped user creation.”), but the responsibility on that row is still assigned if it is missing. Use Create, Update to change an existing user’s details.

Troubleshooting

MessageCauseWhat to do
Existing user, skipped user creation.The row was processed in Create mode but the user name already exists.Use Create, Update mode to modify the existing user, or remove the duplicate row.
Responsibility is already assigned to the user.The user already holds that responsibility.No action needed; switch to an update only if you want to change its dates or description.
Not processed due to missing user or responsibility information.Required key fields are missing.Check that the Upload Mode, User Name and the responsibility columns are filled and valid.
Responsibility, Application or Business Group not in listA value typed does not match a valid list entry.Pick values from the dropdowns; the Responsibility Application must own the chosen responsibility.
Person or employee details rejectedA Business Group was supplied but the person details fail HR validation.Check that Business Group, Person and Employee Number resolve together, or clear Business Group to create a plain user.
select
y.*
from
(
select
null action_,
null status_,
null message_,
null modified_columns_,
fu.user_name,
null unencrypted_password,
fu.description,
papf.business_group,
papf.full_name person,
papf.employee_number,
papf.first_name,
papf.last_name,
papf.sex gender,
papf.date_of_birth date_of_birth,
fu.email_address,
fu.fax,
fu.start_date user_start_date,
fu.end_date user_end_date,
fu.last_logon_date last_logon_date,
xxen_util.user_name(fu.created_by) created_by,
xxen_util.client_time(fu.creation_date) user_creation_date,
xxen_util.user_name(fu.last_updated_by) user_last_updated_by,
xxen_util.client_time(fu.last_update_date) user_last_update_date,
frv.responsibility_name,
frv.application_name responsiblity_application,
frv.start_date responsiblity_start,
frv.end_date responsiblity_end,
frv.description assignment_description,
0 upload_row
from
fnd_user fu,
(select pbg.name business_group, papf.* from per_all_people_f papf, per_business_groups pbg where papf.business_group_id=pbg.business_group_id and nvl(papf.effective_end_date,sysdate)>=trunc(sysdate)) papf,
(
select
furgd.user_id,
frv.responsibility_name,
fa.application_short_name application_name,
furgd.start_date,
furgd.end_date,
furgd.description
from
fnd_responsibility_vl frv,
fnd_application fa,
fnd_user_resp_groups_direct furgd
where
2=2 and
frv.application_id=fa.application_id and
frv.application_id=furgd.responsibility_application_id and
frv.responsibility_id=furgd.responsibility_id
) frv
where
1=1 and
fu.employee_id=papf.person_id(+) and
fu.user_id=frv.user_id(+)
) y
Parameter NameSQL textValidation
Upload Mode
:upload_mode like '%' || xxen_upload.action_update
LOV
User Name
fu.user_name=:user_name
LOV
Has Access to Responsibility
fu.user_id in (
select
furg.user_id
from
fnd_responsibility_vl frv,
fnd_user_resp_groups furg
where
frv.responsibility_name=:responsibility and
frv.responsibility_id=furg.responsibility_id and
frv.application_id=furg.responsibility_application_id
)
LOV
Has Access to Application
fu.user_id in (
select
furg.user_id
from
fnd_application_vl fav,
fnd_user_resp_groups furg
where
fav.application_name=:application and
fav.application_id=furg.responsibility_application_id
)
LOV
Active only
sysdate between fu.start_date and nvl(fu.end_date,sysdate)
LOV
Creation Date From
fu.creation_date>=:creation_date_from
Date
Creation Date To
fu.creation_date<:creation_date_to+1
Date
Created within days
fu.creation_date>=sysdate-:days
Number