Thursday, 25 August 2011

Create Oracle FND_USER with System Administrator

If you have the Apps Password, its quite easy to create a FND_USER for yourself by using the API.
I find this script very useful when development environment gets cloned from Production(that is when i do not have FND_USER in Production.
Please note that:-
1. You will be allocated System Administrator by this script. Hence you can assign whatever responsibilities that you desire latter, after logging in.
2. The password will be set to oracle
3. You need apps password to run this script. Alternately you need execute permission on fnd_user_pkg from the user where this script will be run. If using some other user, please use apps.fnd_user_pkg.createuser
4. You need to do a COMMIT after this script has run. I have not included the commit within this script.
5. When running this script, you will be prompted to enter a user name.

--------------------------------Script-----------------------------------
DECLARE
  v_session_id INTEGER := userenv('sessionid');
  v_user_name  VARCHAR2(30) := upper('&Enter_User_Name');
BEGIN
  --Note, can be executed only when you have apps password.
  -- Call the procedure to Create FND User
  fnd_user_pkg.createuser(x_user_name                  => v_user_name
    ,x_owner                                 => ''
    ,x_unencrypted_password       => 'oracle'
    ,x_session_number                  => v_session_id
    ,x_start_date                           => SYSDATE - 10
    ,x_end_date                            => SYSDATE + 100
    ,x_last_logon_date                  => SYSDATE - 10
    ,x_description                         => 'easyoracleapps.blogspot.com'
    ,x_password_date                  => SYSDATE - 10
    ,x_password_accesses_left     => 10000
    ,x_password_lifespan_accesses => 10000
    ,x_password_lifespan_days     => 10000
    ,x_employee_id                       => 30
         /*Change this id by running below SQL*/
         /*  
        SELECT person_id
                    ,full_name
        FROM   per_all_people_f
       WHERE  upper(full_name) LIKE '%' || upper('<ampersand>full_name') || '%'
       GROUP  BY person_id
                          ,full_name
       */
    ,x_email_address => 'easyoracleapps.blogspot@gmail.com'
    ,x_fax           => ''
    ,x_customer_id   => ''
    ,x_supplier_id   => '');
  fnd_user_pkg.addresp(username       => v_user_name
                      ,resp_app       => 'SYSADMIN'
                      ,resp_key       => 'SYSTEM_ADMINISTRATOR'
                      ,security_group => 'STANDARD'
                      ,description    => 'Auto Assignment'
                      ,start_date     => SYSDATE - 10
                      ,end_date       => SYSDATE + 1000);
END;
/

No comments:

Post a Comment