一.系统登陆链接实现

比如有一个外围支持系统,用户需要在外围系统登录之后点个link就可以登录到Oracle ERP系统中,那么我们需要先把外围系统的用户创建在Oracle ERP中,并且分配职责给他。

DECLARE
a BOOLEAN;
BEGIN
-------------------------------------------------------------
--Change password
-------------------------------------------------------------
/*
a := apps.fnd_user_pkg.changepassword('SIMON','oracle');
IF NOT a THEN
--RAISE_APPLICATION_ERROR(-20002, 'Password not updated');
dbms_output.put_line('Password not updated');
ELSE
dbms_output.put_line('***Password updated');
COMMIT;
END IF;
*/
-------------------------------------------------------------
--Create User
-------------------------------------------------------------
fnd_user_pkg.CreateUser('SIMON',
'SEED',
'PW$234567'
);
-------------------------------------------------------------
--Add Resp
--select * from fnd_responsibility fr where fr.responsibility_id =
--select * from fnd_responsibility_tl frt where upper(frt.responsibility_name) like '%%'
--select * from fnd_application fa where fa.application_id =
--select * from fnd_security_groups fs
------------------------------------------------------------- fnd_user_pkg.AddResp ('SIMON',
'SYSADMIN',
'SYSTEM_ADMINISTRATOR',
'STANDARD',
'Test API',
sysdate,
null
);
Commit;
End;

使用下面代码可以在Link中直接登录Oracle ERP系统:

<html>
<head>
<title>iSupport Login</title>
</head>
<body nLoad="document.Login.submit()">
<form. action="http://host:port/OA_HTML/jtfavald.jsp"
method="post" name="Login" id="Login">
<input type="hidden" name="username" value="$UserName$">
<input type="hidden" name="password" value="$Password$">
</form>
</body>
</html>

二 .删除用户

最近想删除系统中的一些无效用户,但系统好像不支持直接删除用户的功能,所以查看Fnd_User_Pkg这个的原代码,发现有一个过程可以删除用户但必须先将用户的有效日期改成FND_API.G_MISS_DATE的值,否则它就会报错,然后查看FND_API.G_MISS_DATE的值是等于2012-01-01的

fnd_user set start_date=to_date('20120101','yyyymmdd'),end_date=to_date('20120101','yyyymmdd')

where user_name = upper('SUNNLY');
commit; Begin Fnd_User_Pkg.Removependinguser('SUNNLY');
End;
commit;

三.添加并发到某一职责

这样一段Script免去了手工添加Concurrent的麻烦,直接在.sh脚本里一步发布程序到位。

BEGIN
IF NOT FND_PROGRAM.program_in_group(
program_short_name => 'XX_DETAIL_SALE_COST_PKG',
program_application => 'XX',
request_group => 'XX_GL_REQUEST_GROUP',
group_application => 'XX') THEN
Fnd_Program.Add_to_group(
program_short_name => 'XX_DETAIL_SALE_COST_PKG',
program_application => 'XX',
request_group => 'XX_GL_REQUEST_GROUP',
group_application => 'XX');
commit;
dbms_output.put_line('Program XX_DETAIL_SALE_COST_PKG added to Group XX_GL_REQUEST_GROUP');
ELSE
dbms_output.put_line('Program XX_DETAIL_SALE_COST_PKG already in Group XX_GL_REQUEST_GROUP');
END IF;
END;

用户创建,删除and并发注册and系统登陆的API研究(学习汇总网上资料)的更多相关文章

  1. linux用户创建删除以及文件权限查看修改

    一. 1.查看用户 命令如下:whoami 2.创建用户 创建用户命令:sudo adduser hello 超级用户是 root 删除用户名命令:sudo deluser hello --remov ...

  2. oracle数据库用户创建删除以及数据导入

    dmp文件的导入:1.首先,先创建表空间与用户--创建表空间create tablespace CCFOCUS01datafile 'D:\app\Administrator\oradata\orcl ...

  3. ORACLE用户创建&删除

    ●sqlplus登陆sqlplus sys/isc@testgmmc as sysdba●创建用户create user testpoi3 IDENTIFIED by iscaccount unloc ...

  4. oracle表空间建立与用户创建删除

    --创建临时表空间 --//Linux下的文件系统 create temporary tablespace cloudv2_temp tempfile '/home/oracle/app/oracle ...

  5. oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)

    这篇文章主要介绍了oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包等相关资料,需要的朋友可以参考下   oracle 创建,删除存储过程,参数传递,创建 ...

  6. 高并发实时弹幕系统 并发数一定是可以进行控制的 每个需要异步处理开启的 Goroutine(Go 协程)都必须预先创建好固定的个数,如果不提前进行控制,那么 Goroutine 就随时存在爆发的可能。

    小结: 1.内存优化1.一个消息一定只有一块内存使用 Job 聚合消息,Comet 指针引用. 2.一个用户的内存尽量放到栈上内存创建在对应的用户 Goroutine(Go 程)中. 3.内存由自己控 ...

  7. linux创建用户、设置密码、修改用户、删除用户

    创建用户.设置密码.修改用户.删除用户:useradd testuser 创建用户testuserpasswd testuser 给已创建的用户testuser设置密码说明:新创建的用户会在/home ...

  8. useradd adduser linux创建用户、设置密码、修改用户、删除用户

    创建用户.设置密码.修改用户.删除用户: useradd testuser 创建用户testuser passwd testuser 给已创建的用户testuser设置密码 说明:新创建的用户会在/h ...

  9. oracle学习笔记一:用户管理(2)创建删除用户

    本文主要介绍如何创建和删除用户,当然里面牵涉很多知识,慢慢道来. 1,创建用户 需求:假设你是oracle管理员,当一个同事入职,你需要分配给一个账号. 创建用户,一般需要有相应权限的用户才可以创建用 ...

随机推荐

  1. 使用 Cesium 动态加载 GeoJSON 数据

    前言 需求是这样的,我需要在地图中显示 08 年到现在的地震情况,地震都是发生在具体的时间点的,那么问题就来了,如何实现地震情况按照时间动态渲染而不是一次全部加载出来. 一. 方案分析 这里面牵扯到两 ...

  2. Logistic Regression vs Naive Bayes

    相同 逻辑回归和朴素贝叶斯都是对条件概率\(P(X|y)\)进行建模,使得最终的分类结果有很好的解释性. 不同 具体流程 逻辑回归: 假设\(P(y=1|X)\)满足逻辑函数\(h(z)=1/1+ex ...

  3. [Codeforces 864C]Bus

    Description A bus moves along the coordinate line Ox from the point x = 0 to the point x = a. After ...

  4. [HAOI 2008]糖果传递

    Description 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. Input 第一行一个正整数nn<=1'000'000,表示小朋友的个 ...

  5. hdu 5016 点分治(2014 ACM/ICPC Asia Regional Xi'an Online)

    Mart Master II Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  6. Uva 437 巴比伦塔 && UVA10003

    要求底面严格小于它下方立方体的长宽,求出最高情况,一块石头可以多次使用 用结构体记录一块石头的三种放置情况,按面积排序. dp[i] = max(dp[i],dp[j] + block[i].high ...

  7. bzoj1233[Usaco2009Open]干草堆tower 单调队列优化dp

    1233: [Usaco2009Open]干草堆tower Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 983  Solved: 464[Submi ...

  8. [bzoj2648/2716]SJY摆棋子

    平面上有n个点,要求支持插入一个点和查询一个点的最近点距离 n,m<=500000 用kdtree实现,但是复杂度貌似没法保证.....(莫名加了替罪羊重建更慢了...) #include< ...

  9. 某些情况下调用函数为什么要在函数名前加“(void)”

    我们知道,在定义函数时,加在函数名前的"void"表示该函数没有返回值.但在调用时,在函数名前加"(void)"的作用又是什么呢? 最明显的一点就是表示程序并不 ...

  10. 百度移动深度学习 Mobile-deep-learning(MDL)

    Free and open source mobile deep learning framework, deploying by Baidu. This research aims at simpl ...