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的更多相关文章

  1. Oracle EBS FND User Info API (转) EBS用户账号密码职责相关

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

  2. 转:Oracle EBS FND User Info API

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

  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. [转]oracle EBS 基础100问

    from:http://www.cnblogs.com/xiaoL/p/3593691.html  http://f.dataguru.cn/thread-51057-1-1.html 1001 OR ...

  5. BPM与 SAP & Oracle EBS集成解决方案分享

    一.需求分析 SAP和Oracle EBS都是作为全球顶级的的ERP产 品,得到了众多客户的青睐.然而由于系统庞大.价格昂贵以及定位不同,客户在实施过程中经常会面临以下困惑: 1.SAP如何实现&qu ...

  6. 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 ...

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

    20150719 Created By BaoXinjian

  8. Oracle EBS Form 发布到Server端的注意事项

    前段时间在本地XP系统上测试了一些整合javabean的Form例子,想着发布到服务器段去看看能否运行正常,一开始以为会和本地XP系统一样,部署到相关的目录下进行一些配置就可以了,但实际过程却和想象的 ...

  9. 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的时候又报了错误 ...

随机推荐

  1. 教你判断一个APP页面是原生的还是H5页面 。(还没看)

    来源:https://www.25xt.com/appdesign/11851.html 刚好是周末,无意之间学堂君在收集相关资料的时候,发现有部分童鞋在问<如何判断一个APP页面是不是H5页面 ...

  2. httpclient跳过https请求的验证

    一.因为在使用https发送请求的时候会涉及,验证方式.但是这种方式在使用的时候很不方便.特别是在请求外部接口的时候,所以这我写了一个跳过验证的方式.(供参考) 二.加入包,这里用的是commons- ...

  3. Linux gdb调试器用法全面解析

    GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序. 让被调试的程序在工程师指定的断 ...

  4. python之数据驱动ddt

    下载ddt并安装 Pip install ddt 或者官网下载安装 http://ddt.readthedocs.io/en/latest/ https://github.com/txels/ddt ...

  5. Navicat 入门使用方法

    Navicat 多重连接数据库的管理工具,支持连接到(MySQL.Oracle.PostgreSQL.SQLite .MariaDB )多类数据库,也支持多类数据库的管理和使用 1.Navicat 主 ...

  6. 【CentOS 6.5】安装gcc-4.8.2和Qt5.2

    因为CentOS6.5中gcc版本比较低.安装Qt5.2前先升级gcc. 首先下载gcc,附上百度盘地址:http://pan.baidu.com/s/1jGibvqY 解压安装包,并进入到解压文件夹 ...

  7. SpringFox swagger2 and SpringFox swagger2 UI 接口文档生成与查看

    依赖: <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency ...

  8. vc通过进程名返回进程id

    std::string WcharToChar(const wchar_t* wp, size_t m_encode = CP_ACP) { std::string str; , wp, wcslen ...

  9. C语言文件实现学生成绩管理

    C语言实现学生成绩管理 项目简介 用C语言的链表及文件操作实现学生成绩的管理,实现主要的添加.修改.删除.查询的主要功能,并在程序关闭时将数据存储在二进制的文件中并加密.下一次打开程序,先解密二进制文 ...

  10. write()和print()还有<%= %>的细微区别

    1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等 (2).print():可以将各种类型(包括Object)的数据通过默 ...