EBS API:EBS用户导入并分配职责
1. 创建用户并关联员工
declare
ln_employee_name varchar2(50) := 'TEST001';
v_employee_check number;
ln_person_id number;
begin
--检查员工是否存在
select count(1)
into v_employee_check
from per_all_people_f
where last_name = ln_employee_name;
if v_employee_check = 0 then
dbms_output.put_line('The employee does not exists in system' );
elsif v_employee_check > 1 then
dbms_output.put_line('there are more than 1 employee named ' || ln_employee_name);
elsif v_employee_check = 1 then
select person_id
into ln_person_id
from per_all_people_f
where last_name = ln_employee_name;
--创建用户
fnd_user_pkg.createuser (
x_user_name => 'TEST001',
x_owner => null,
x_unencrypted_password => '123456',
x_start_date => sysdate,
x_end_date => null,
x_password_date => sysdate,
x_password_lifespan_days => 90, --密码到期天数
x_employee_id => ln_person_id,
x_email_address => 'TEST001@163.com');
COMMIT;
end if;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
2. 更改用户信息
--更改用户密码
BEGIN
fnd_user_pkg.updateuser(x_user_name => 'TEST001'
,x_owner => null
,x_unencrypted_password => '654321');
COMMIT;
END;
3. 失效用户
--更改终止日期为当前日期
BEGIN
fnd_user_pkg.disableuser(username => 'TEST001');
COMMIT;
END;
4. 分配职责给用户
DECLARE
l_resp_app VARCHAR2(50);
l_resp_key VARCHAR2(30);
BEGIN
SELECT a.application_short_name, v.responsibility_key
INTO l_resp_app, l_resp_key
FROM fnd_responsibility_vl v, fnd_application a
WHERE v.application_id = a.application_id
AND v.responsibility_name = 'INV_USER';
fnd_user_pkg.addresp(username => 'TEST001'
,resp_app => l_resp_app --application_short_name
,resp_key => l_resp_key
,security_group => 'STANDARD' --不能赋值为'標準',select * from fnd_security_groups
,description => null
,start_date => SYSDATE
,end_date => null);
COMMIT;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
5. 失效已分配职责
DECLARE
l_resp_app VARCHAR2(50);
l_resp_key VARCHAR2(30);
BEGIN
SELECT a.application_short_name, v.responsibility_key
INTO l_resp_app, l_resp_key
FROM fnd_responsibility_vl v, fnd_application a
WHERE v.application_id = a.application_id
AND v.responsibility_name = 'INV_USER';
fnd_user_pkg.delresp(username => 'TEST001'
,resp_app => l_resp_app
,resp_key => l_resp_key
,security_group => 'STANDARD');
COMMIT;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
分类:
EBS
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析