Объединенный скрипт создания пользователя включает в себя
- Создание пользователя
- Заполнение профилей
- Добавление полномочий
DECLARE l_user_name VARCHAR2(100) := 'USER_NAME'; -- !!! установить логин создаваемого пользователя l_user_id NUMBER; l_responsibility_key fnd_responsibility.responsibility_key%TYPE := 'SYSTEM_ADMINISTRATOR'; l_application_short_name fnd_application.application_short_name%TYPE := 'SYSADMIN'; l_responsibility_id NUMBER; l_application_id NUMBER; l_responsibility_name VARCHAR2(200) := 'System Administrator'; l_security_group_id NUMBER := 0; PROCEDURE set_profile_at_user_level(p_user_name fnd_user.user_name%TYPE, p_user_profile_option_name fnd_profile_options_vl.user_profile_option_name%TYPE, p_profile_option_value fnd_profile_option_values.profile_option_value%TYPE ) IS l_user_id fnd_user.user_id%TYPE; l_profile_option_name fnd_profile_options_vl.profile_option_name%TYPE; BEGIN SELECT fu.user_id INTO l_user_id FROM fnd_user fu WHERE fu.user_name = p_user_name; SELECT fpo.profile_option_name INTO l_profile_option_name FROM fnd_profile_options_vl fpo WHERE fpo.user_profile_option_name = p_user_profile_option_name; IF Fnd_Profile.SAVE(x_name => l_profile_option_name, x_value => p_profile_option_value, x_level_name => 'USER', x_level_value => l_user_id) THEN NULL; END IF; END set_profile_at_user_level; BEGIN --------------------------- ------Создание юзера------- --------------------------- dbms_output.put_line('Создание юзера'); if (fnd_user_pkg.userExists(l_user_name)) then dbms_output.put_line('! Пользователь ' || l_user_name || ' уже существует'); dbms_output.put_line(' '); else l_user_id := fnd_user_pkg.CreateUserId(x_user_name => l_user_name, x_owner => 'CUST', x_unencrypted_password => '123456'); SELECT application_id INTO l_application_id FROM fnd_application WHERE application_short_name = l_application_short_name; SELECT responsibility_id INTO l_responsibility_id FROM fnd_responsibility WHERE application_id = l_application_id AND responsibility_key = l_responsibility_key; fnd_user_resp_groups_api.insert_assignment(user_id => l_user_id, responsibility_id => l_responsibility_id, responsibility_application_id => l_application_id, security_group_id => l_security_group_id, start_date => trunc(SYSDATE), end_date => NULL, description => l_responsibility_name); fnd_wf_engine.default_event_raise('oracle.apps.fnd.security.user.assignment.change', l_user_id || ':' || l_responsibility_id); fnd_wf_engine.propagate_user_role('FND_USR', l_user_id, 'FND_RESP' || l_application_id, l_responsibility_id, trunc(SYSDATE), NULL); -- Added for Function Security Cache Invalidation Project fnd_function_security_cache.insert_user_resp(l_user_id, l_responsibility_id, l_application_id); end if; ------------------------------- ------Установка профилей------- ------------------------------- dbms_output.put_line('Установка профилей'); EXECUTE IMMEDIATE 'ALTER session SET NLS_LANGUAGE=''RUSSIAN'''; set_profile_at_user_level (l_user_name, 'ВЕБ: время ожидания для сеанса', '3600000'); set_profile_at_user_level (l_user_name, 'ВЕБ: форматная маска даты','DD-MM-RRRR'); --3 профиля чтобы не вводить пароль аппса при вызове Справка-Диагностика set_profile_at_user_level (l_user_name, 'БОП: диагностика', --FND: Diagnostics 'Y'); set_profile_at_user_level (l_user_name, 'Служебные программы: диагностика', --Utilities:Diagnostics 'Y') ; -- убирает пункт меню Диагностика из стандартного меню set_profile_at_user_level (l_user_name, 'Не показывать на экране команду меню "Диагностика"', --Hide Diagnostics menu entry 'N') ; -- Для включения возможности персонализации веб-страничек set_profile_at_user_level (l_user_name, 'БОП: режим встраивания индивидуальной настройки', 'Y'); EXECUTE IMMEDIATE 'ALTER session SET NLS_LANGUAGE=''AMERICAN'''; set_profile_at_user_level(l_user_name, 'Personalize Self-Service Defn','Y'); set_profile_at_user_level(l_user_name, 'FND: Personalization Region Link Enabled', 'N'); -------------------------------------------- ------Добавление основных полномочий-------- -------------------------------------------- dbms_output.put_line(''); dbms_output.put_line('Добавление основных полномочий'); dbms_output.put_line('Суперпользователь закупок'); fnd_user_pkg.addresp(l_user_name, 'PO', 'PURCHASING_SUPER_USER', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Запасы'); fnd_user_pkg.addresp(l_user_name, 'INV', 'INVENTORY', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Управление затратами - SLA'); fnd_user_pkg.addresp(l_user_name, 'CST', 'COST_MANAGEMENT', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Суперпользователь внедрения Проектов'); fnd_user_pkg.addresp(l_user_name, 'PA', 'PA_IMPLEMENTATION_SU_GUI', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Суперпользователь Казначейства'); fnd_user_pkg.addresp(l_user_name, 'XTR', 'T', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Глобальный руководитель SLA/ЗРП'); fnd_user_pkg.addresp(l_user_name, 'PAY', 'GLB_SLA_PAYROLL_MANAGER', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Глобальный суперпользователь-руководитель СУПЕР'); fnd_user_pkg.addresp(l_user_name, 'PER', 'GLB_SHRMS_MANAGER', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Закупки для SLA'); fnd_user_pkg.addresp(l_user_name, 'PO', 'SLA_PO_DEV', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Desktop Integrator'); fnd_user_pkg.addresp(l_user_name, 'BNE', 'DESKTOP_INTEGRATOR', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Разработчик приложений'); fnd_user_pkg.addresp(l_user_name, 'FND', 'APPLICATION_DEVELOPER', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Администратор функций'); fnd_user_pkg.addresp(l_user_name, 'FND', 'FND_FUNC_ADMIN', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Диспетчер кредиторов'); fnd_user_pkg.addresp(l_user_name, 'SQLAP', 'PAYABLES_MANAGER', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Администратор издателя XML'); fnd_user_pkg.addresp(l_user_name, 'XDO', 'XDO_ADMINISTRATION', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Системный администратор'); fnd_user_pkg.addresp(l_user_name, 'SYSADMIN', 'SYSTEM_ADMINISTRATOR', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Диспетчер основных средств'); fnd_user_pkg.addresp(l_user_name, 'OFA', 'FIXED_ASSETS_MANAGER', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Диспетчер Дебиторов'); fnd_user_pkg.addresp(l_user_name, 'AR', 'RECEIVABLES_MANAGER', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line('Суперпользователь Главной книги'); fnd_user_pkg.addresp(l_user_name, 'SQLGL', 'GENERAL_LEDGER_SUPER_USER', 'STANDARD', 'Add by script', sysdate, null); dbms_output.put_line(''); dbms_output.put_line('Responsibility Added Successfully'); COMMIT; END;
Последние комментарии