Довольно удобно выставлять профили через скрипт, особенно если их много.
Данный скрипт выставляет профили на уровне пользователя.
DECLARE l_user_name varchar2(100) := 'USER_NAME'; 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 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'); set_profile_at_user_level (l_user_name, 'Служебные программы: диагностика','Y'); set_profile_at_user_level (l_user_name, 'Цветовая схема Java','SWAN'); set_profile_at_user_level (l_user_name, 'Настройка веб-определений','Y'); set_profile_at_user_level (l_user_name, 'БОП: диагностика','Y'); set_profile_at_user_level (l_user_name, 'БОП: активизация ссылки области индивидуальной настройки', 'Y'); set_profile_at_user_level (l_user_name, 'БОП: режим встраивания индивидуальной настройки','Y'); COMMIT; END;
Скрипт не работает с fnd_profile_options_vl, работает только с fnd_profile_options_tl.
@Аноним
Добавил SET NLS_LANGUAGE