(Oracle EBS)和标准用户有关的处理的API [Z]

/*
和标准用户有关的处理的API。
*/

---和用户处理有关的API
FND_USER_PKG

---和用户密码处理有关的API
fnd_web_sec

---和用户职责处理有关的API
FND_USER_RESP_GROUPS_API

-----------------------------
---处理实例
-----------------------------

SELECT * FROM FND_USER WHERE USER_NAME = ‘WX214492‘

---更新用户,将用户失效:
DECLARE
BEGIN
FND_USER_PKG.UpdateUser
(
x_user_name => ‘WX214492‘
,x_owner => NULL
,x_end_date => SYSDATE
);
--用下面的也可以,其实还是调用一样的处理过程。
--FND_USER_PKG.DisableUser(‘WX214492‘);
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;

--增加用户的职责:
FND_USER_PKG.AddResp;

--失效用户的职责:
FND_USER_PKG.DelResp;

---直接修改密码。这是直接修改的密码,User重新登录之后,直接登录。下面有修改密码之后,第一次用户登录必须要更改口令的过程。
SELECT fnd_web_sec.change_password(‘WX214492‘,‘samt261‘) FROM DUAL

---验证密码的有效性
SELECT fnd_web_sec.validate_login(‘WX214492‘,‘samt2611‘) 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(‘WX214492‘,5954,‘11samt2611‘,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(‘WX214492‘, ‘NEWKEY‘);
   DBMS_OUTPUT.PUT_LINE(‘newpass:‘||newpass);
   --fnd_user_pkg.setreencryptedpassword(‘WX214492‘, newpass, ‘NEWKEY‘);

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 (
‘AH502998‘
       );
   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;

---------------------
---失效用户的职责----
---------------------

---失效超过一定日期没使用过的职责。
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 = ‘WX214492‘
         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;
时间: 2024-11-08 23:11:55

(Oracle EBS)和标准用户有关的处理的API [Z]的相关文章

Oracle EBS 初始化用户密码

---修改密码,并且将限制用户下次登录的时候(第一次登录),强制要换一个新的口令: ---此过程可以完全模拟我们在标准用户的Form里面初始化用户的密码的动作! ---最后要说明的是,这个处理过程是通过研究标准创建用户的画面得出来的结果,所以,如果有需要,请放心使用! SELECT last_logon_date,password_date,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN FROM FND_USER WHERE USER_NAME = 'QWR01'; DE

Oracle EBS 提示XX对当前用户不可用--XX is not a valid responsibility for the current user

Oracle EBS 提示XX对当前用户为不可用职责--XX is not a valid responsibility for the current user 最近在EBS中添加新职责进行切换没问题,但是要进入相关职责的Form或Web页面则会碰到如图的难题.解决方法是这样的. 1. 进入Functional Administrator职责. 2. 选择Core Services->Caching Framework->Global Configuration. 3. 分别Clear Al

Oracle EBS 初始化用户密码(转)

---修改密码,并且将限制用户下次登录的时候(第一次登录),强制要换一个新的口令: ---此过程可以完全模拟我们在标准用户的Form里面初始化用户的密码的动作! ---最后要说明的是,这个处理过程是通过研究标准创建用户的画面得出来的结果,所以,如果有需要,请放心使用! SELECT last_logon_date,password_date,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN FROM FND_USER WHERE USER_NAME = 'QWR01'; DE

如何启用Oracle EBS Form监控

前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负荷,从而提供系统运行速度. 或者,(特别是)在系统要升级的时候,这些数据就显得非常重要了:决定哪个Form应该留,哪个Form应该拿掉. 当然,这个信息只是做出决策的参考数据而已. 1. 在Oracle EBS上进行Form跟踪的技术方法: Oracle EBS的一个Profile 提供此功能: U

如何启用Oracle EBS Form监控【Z】

前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负荷,从而提供系统运行速度. 或者,(特别是)在系统要升级的时候,这些数据就显得非常重要了:决定哪个Form应该留,哪个Form应该拿掉. 当然,这个信息只是做出决策的参考数据而已.1. 在Oracle EBS上进行Form跟踪的技术方法:Oracle EBS的一个Profile 提供此功能: Use

Oracle EBS WMS功能介绍(二)

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 出货物流逻辑主要包括 1.      打包,可以进行多层嵌套式的打包,并通知用户为订单所做的特殊打包方法.打包可以在拣货时做,也可以作为一个独立的操作来做. 2.      为行程进行码头预约,可以使仓库经理计划出库运输公司的预约,码头门的可用性和仓库内的待装区的使用. 3.      拣货方法,为不同订单的拣货需要选择不同的拣货方法. 4.      管理拣货,可以使订单基于移动手持应用拣

Oracle EBS WMS功能介绍(一)

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) Oracle WMS是仓储管理,是Oracle 高级供应链和制造解决方案中的一个组件,不完全等同于库存(Oracle Inventory),因为它支持高度自动化的手持扫描枪和物料处理系统:且极大的扩展了现有EBS的功能,并提供了包括仓存资源管理,仓储配置,生产率,性能分析,任务计划,高级拣货方法和附加值服务.所以WMS中的大部分操作是通过扫描枪来进行的. 要使用WMS的一个重要前提就是必须使

Using Integrated SOA Gateway in Oracle EBS(websevice)

http://blog.csdn.net/pan_tian/article/details/10159935 Oracle EBS如何与第三方系统相集成?比如这样的需求,X系统知道物料编码,需要从EBS系统里读取具体物料信息,或者X系统想把自己的人员信息同步到EBS,这类集成问题你就可能需要用到Oracle EBS Integrated SOA Gateway. Integrated SOA Gateway是EBS里的一个职责,分配给用户后就能看到 ,进入职责(如下图)后,就能看到所有Oracl

[转]oracle EBS 基础100问

from:http://www.cnblogs.com/xiaoL/p/3593691.html  http://f.dataguru.cn/thread-51057-1-1.html 1001 ORACLE EBS学习的其他资源有哪四个? 1002 ORACLE OPEN WORLD大会是不是一个市场营销活动? 1003 Oracle 大学有哪五种课程? 1004 多个责任分配给一个人,是多对一关系,还是一对多关系? 1005 一个责任分配给多个人,是什么样的关系? 1006 双+号和双-号,