1. 与用户信息相关API PKG.

--和用户处理有关的API

FND_USER_PKG;

--和用户密码处理有关的API
FND_WEB_SEC; --和用户职责处理有关的API
FND_USER_RESP_GROUPS_API; 2. 激活失效用户帐号.
-----------------------------
---处理实例
----------------------------- SELECT * FROM FND_USER WHERE USER_NAME = 'QWR01'; ---更新用户,将用户失效:
DECLARE
BEGIN
FND_USER_PKG.UpdateUser
(
x_user_name => 'QWR01'
,x_owner => NULL
,x_end_date => SYSDATE
);
--用下面的也可以,其实还是调用一样的处理过程。
--FND_USER_PKG.DisableUser('QWR01');
END; --批量失效用户:
DECLARE
CURSOR CUR_DISABLE_USER
IS
SELECT USER_NAME
FROM FND_USER
WHERE USER_NAME IN ('');
L_DEAL_COUNT NUMBER;
BEGIN
L_DEAL_COUNT := 0;
FOR REC_DISABLE_USER IN CUR_DISABLE_USER LOOP
FND_USER_PKG.DisableUser(REC_DISABLE_USER.USER_NAME);
L_DEAL_COUNT := L_DEAL_COUNT+L_DEAL_COUNT;
END LOOP;
DBMS_OUTPUT.PUT_LINE('成功失效用户数:'||L_DEAL_COUNT);
END; ---------------
---批量失效用户----
---------------
DECLARE
CURSOR CUR_DISABLE_USER
IS
SELECT USER_NAME
FROM FND_USER
WHERE SYSDATE BETWEEN START_DATE AND NVL(END_DATE,SYSDATE+1)
AND USER_NAME IN ('QWR01');
L_DEAL_COUNT NUMBER;
BEGIN
fnd_global.APPS_Initialize( user_id=>1183, resp_id=>20420, resp_appl_id =>1);
L_DEAL_COUNT := 0;
FOR REC_DISABLE_USER IN CUR_DISABLE_USER LOOP
FND_USER_PKG.DisableUser(REC_DISABLE_USER.USER_NAME);
L_DEAL_COUNT := L_DEAL_COUNT+1;
END LOOP;
COMMIT;
DBMS_OUTPUT.PUT_LINE('成功失效用户数:'||L_DEAL_COUNT);
END; 3. 激活失效用户职责.
--增加用户的职责:
FND_USER_PKG.AddResp; --失效用户的职责:
FND_USER_PKG.DelResp;
---------------------
---失效用户的职责----
--------------------- ---失效超过一定日期没使用过的职责。
DECLARE
CURSOR CUR_DISABLE
IS
SELECT FU.USER_ID
,FU.USER_NAME
,FRESP.APPLICATION_SHORT_NAME
,FRESP.RESPONSIBILITY_KEY
,FRESP.SECURITY_GROUP_KEY
,FRESP.RESPONSIBILITY_NAME
,FRESP.START_DATE
,FRESP.END_DATE
,RESP_LOGIN.MAX_START_TIME
FROM FND_USER_RESP_GROUPS_DIRECT_V FRESP
,FND_USER FU
,(SELECT FL.USER_ID,FLR.RESPONSIBILITY_ID,MAX(FLR.START_TIME) MAX_START_TIME
FROM FND_LOGIN_RESPONSIBILITIES FLR,FND_LOGINS FL
WHERE FLR.LOGIN_ID = FL.LOGIN_ID
GROUP BY FL.USER_ID,FLR.RESPONSIBILITY_ID) RESP_LOGIN
WHERE 1=1
AND FU.USER_ID = FRESP.USER_ID
AND RESP_LOGIN.USER_ID(+) = FRESP.USER_ID
AND RESP_LOGIN.RESPONSIBILITY_ID(+) = FRESP.RESPONSIBILITY_ID
AND ((SYSDATE - RESP_LOGIN.MAX_START_TIME) >= 60 OR RESP_LOGIN.MAX_START_TIME IS NULL)
AND SYSDATE BETWEEN FU.START_DATE AND NVL(FU.END_DATE,SYSDATE+1)
AND SYSDATE BETWEEN FRESP.START_DATE AND NVL(FRESP.END_DATE,SYSDATE+1)
AND FU.USER_NAME = 'QWR01'
AND FRESP.RESPONSIBILITY_KEY = 'XYG-WH-WCB-OM-QUERY'
ORDER BY FU.USER_NAME,FRESP.RESPONSIBILITY_NAME; L_DEAL_COUNT NUMBER;
BEGIN
fnd_global.APPS_Initialize( user_id=>1183, resp_id=>20420, resp_appl_id =>1);
L_DEAL_COUNT := 0;
DELETE XYG_PUB_COMMON_TABLE_TEMP;
FOR REC_DISABLE IN CUR_DISABLE LOOP
FND_USER_PKG.DelResp(REC_DISABLE.USER_NAME,REC_DISABLE.APPLICATION_SHORT_NAME,REC_DISABLE.RESPONSIBILITY_KEY,REC_DISABLE.SECURITY_GROUP_KEY);
L_DEAL_COUNT := L_DEAL_COUNT+1;
END LOOP;
COMMIT;
DBMS_OUTPUT.PUT_LINE('成功失效职责数:'||L_DEAL_COUNT);
END; 4. 用户密码相关.
---直接修改密码。这是直接修改的密码,User重新登录之后,直接登录。下面有修改密码之后,第一次用户登录必须要更改口令的过程。
SELECT fnd_web_sec.change_password('QWR01','PASSWORD') FROM DUAL; ---验证密码的有效性
SELECT fnd_web_sec.validate_login('QWR01','PASSWORD') FROM DUAL; ---获取错误的信息。
select fnd_message.get() from dual; ---获取加密的密码
declare
l_enc_fnd_pwd VARCHAR2(4000);
l_enc_user_pwd VARCHAR2(4000);
L_RETURN VARCHAR2(4000);
begin
L_RETURN := fnd_web_sec.get_encrypted_passwords('QWR01',5954,'PASSWORD1',l_enc_fnd_pwd,l_enc_user_pwd);
DBMS_OUTPUT.PUT_LINE('L_RETURN:'||L_RETURN);
DBMS_OUTPUT.PUT_LINE('p_enc_fnd_pwd:'||l_enc_fnd_pwd||CHR(10)||'p_enc_user_pwd:'||l_enc_user_pwd);
end; ---修改:ENCRYPTED_USER_PASSWORD,暂时没测试。
declare
newpass varchar2(100);
begin
newpass := fnd_user_pkg.getreencryptedpassword('QWR01', 'NEWKEY');
DBMS_OUTPUT.PUT_LINE('newpass:'||newpass);
--fnd_user_pkg.setreencryptedpassword('QWR01', newpass, 'NEWKEY');
end;

Oracle EBS FND User Info API (转) EBS用户账号密码职责相关的更多相关文章

  1. 转:Oracle EBS FND User Info API

    转自:http://www.cnblogs.com/quanweiru/p/3775635.html 1. 与用户信息相关API PKG. --和用户处理有关的API FND_USER_PKG; -- ...

  2. Oracle EBS FND User Info API

    1. 与用户信息相关API PKG. --和用户处理有关的API FND_USER_PKG;     --和用户密码处理有关的API FND_WEB_SEC;     --和用户职责处理有关的API ...

  3. EBS安装过程报错,oracle.apps.fnd.txk.config.ProcessStateException: FileSys OS COMMAND Failed : Exit=2 See log for details.

    日志: Executing command: /test/software/12/startCD/Disk1/rapidwiz/jre/Linux_x64/1.6.0/bin/java -cp /te ...

  4. E-Business Suite 12.2 startCD 50 Install Fails with Fatal Error: TXK Install Service oracle.apps.fnd.txk.config.ProcessStateException: OUI process failed Cannot install Web Tier Utilities

    在rhel7.2上,使用startCD 50安装ebs r12.2的使用,安装到38%的时候就报错,遇到了和以下文章类似的问题: http://www.cnblogs.com/abclife/p/49 ...

  5. OAF_开发系列25_实现OAF中Java类型并发程式开发oracle.apps.fnd.cp.request(概念)

    20150719 Created By BaoXinjian

  6. Fatal Error: TXK Install Service oracle.apps.fnd.txk.config.ProcessStateException: OUI process failed : Exit=255 See log for details

    安装EBS的时候,database pre-install checks检查报警,显示"!" 一开始忽略了该报警,继续安装.在post-install checks的时候又报了错误 ...

  7. OAF_开发系列26_实现OAF中Java类型并发程式开发oracle.apps.fnd.cp.request(案例)

    20150730 Created By BaoXinjian

  8. Oracle 11g 下载|Oracle 11g 官网下载|Oracle 11g 官网下载 带登录用户和密码

    本文转载自 Oracle 11g 下载|Oracle 11g 官网下载|Oracle 11g 官网下载 带登录用户和密码 oracle 下载还需要用户名我自己注册了个方便大家使用下载直接点击提示找不到 ...

  9. Oracle INV - SO line backorder API

    --Sales Order Lines to backorder API--===================================--SET serveroutput on size ...

随机推荐

  1. Linux中总线设备驱动模型及平台设备驱动实例

    本文将简要地介绍Linux总线设备驱动模型及其实现方式,并不会过多地涉及其在内核中的具体实现,最后,本文将会以平台总线为例介绍设备和驱动程序的实现过程. 目录: 一.总线设备驱动模型总体介绍及其实现方 ...

  2. 第 5 章 基础 DOM 和 CSS 操作

    在常规的 DOM 元素中,我们可以使用 html()和 text()方法获取内部的数据.html()方法 可以获取或设置 html 内容,text()可以获取或设置文本内容. $('#box').ht ...

  3. log4j详解(一)

    >>>>1. 概述<<<< 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统 ...

  4. 那些年一起用过的iOS开发利器之Parse

    阅读此文章需要对Objective-C和iOS有一定的了解,完全没有基础的朋友请先阅读<让不懂编程的人爱上iPhone开发>系列教程. 什么是后台服务(back-end service)? ...

  5. java面试问题整理-垃圾回收

    对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址.大小以及使用情况.通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式确定哪些对象是"可达的" ...

  6. PHP 使用 password_hash() 给密码加密

    PHP >= 5.5 时,可以使用 password_hash() 和 password_verify() 来对用户的密码进行加密和验证,例如在用户注册(加密存储)和登陆(验证): <?p ...

  7. 安装oracle 11g时出现启动服务出现错误,找不到OracleMTSRecoveryService

    运行注册表(cmd-输入regedit),到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,找到OracleMTSRecoveryServ ...

  8. 简单而兼容性好的Web自适应高度布局,纯CSS

    纯CSS实现的自适应高度布局,中间内容不符自动滚动条.兼容IE9以上.chrome.FF.关键属性是box-sizing: border-box. 不废话,直接上代码: <!doctype ht ...

  9. 给Source Insight做个外挂系列之三--构建外挂软件的定制代码框架

    上一篇文章介绍了“TabSiPlus”是如何进行代码注入的,本篇将介绍如何构建一个外挂软件最重要的部分,也就是为其扩展功能的定制代码.本文前面提到过,由于windows进程管理的限制,扩展代码必须以动 ...

  10. spark-submit 分发应用

    Spark 提供了一个名为spark-submit 的单一工具来跨集群管理器的提交作业,命令如下: bin/spark-submit [options] <app jar | python fi ...