一段Oracle EBS中給指定使用者增加指定職責的PLSQL指令碼
在一些比較注重許可權的EBS專案中, 普通使用者通常沒有System Administrator許可權, 只能由DBA給一個一個使用者一個一個職責加, 純手工的話很麻煩, 於是寫了一段PLSQL指令碼, 留著備用. 由於Oracle 10g尚不支援continue語句, 因此10g和11g分開寫了.
1. Based on EBS R12.0.6/Oracle DB 10gR2
- DECLARE
- -- script to add user responsibility for R12.0/10gR2
-
TYPE tab_user_list ISTABLEOF
- TYPE arr_resp_list IS VARRAY (100) OF VARCHAR2 (100);
- -- user to be changed
- l_tab_user_list tab_user_list
- := tab_user_list ('LIAO'
- ,'KARL'
- ,'xx');
-
-- responsibility to be added
- l_arr_resp_list arr_resp_list
- := arr_resp_list ('system Administrator'
- ,'Purchasing Super User'
- ,'Application Administrator');
- CURSOR cur_user (
- pc_username IN VARCHAR2)
-
IS
- SELECT fu.user_id
- ,fu.user_name
- FROM fnd_user fu
- WHERE fu.user_name = pc_username
- AND TRUNC (SYSDATE) BETWEEN TRUNC (NVL (fu.start_date, SYSDATE))
- AND TRUNC (NVL (fu.end_date, SYSDATE));
- TYPE tab_user ISTABLEOF cur_user%ROWTYPE;
- l_tab_user tab_user;
- CURSOR cur_resp (
- pc_resp IN VARCHAR2)
- IS
- SELECT fa.application_id
- ,fa.application_short_name
- ,fr.responsibility_id
- ,fr.responsibility_name
- ,fr.responsibility_key
- ,fsg.security_group_key
- FROM fnd_application fa
- ,fnd_responsibility_vl fr
- ,fnd_security_groups fsg
- WHERELOWER (fr.responsibility_name) = LOWER (pc_resp)
- AND fa.application_id = fr.application_id
- AND fr.data_group_id = fsg.security_group_id;
- TYPE tab_resp ISTABLEOF cur_resp%ROWTYPE;
- l_tab_resp tab_resp;
- expt_no_user EXCEPTION;
- expt_no_resp EXCEPTION;
- l_expt_msg VARCHAR2 (2000);
- BEGIN
- --l_tab_user_list := tab_user_list ();
- IF (l_tab_user_list.COUNT = 0)
- THEN
- l_expt_msg := 'no user to change';
- RAISE expt_no_user;
- END IF;
- --l_arr_resp_list := arr_resp_list ();
- IF (l_arr_resp_list.COUNT = 0)
- THEN
- l_expt_msg := 'no resp to add';
- RAISE expt_no_resp;
- END IF;
- -- loop user
- <<loop_tab_user_list>>
- FOR idx_tab_user_list IN l_tab_user_list.FIRST .. l_tab_user_list.LAST
- LOOP
- DBMS_OUTPUT.put_line (
- '>>> '
- || idx_tab_user_list
- || ' , working for user ('
- || l_tab_user_list (idx_tab_user_list)
- || ') <<< ');
- -- check if user exist or active
- OPEN cur_user (l_tab_user_list (idx_tab_user_list));
- FETCH cur_user
- BULK COLLECT INTO l_tab_user;
- CLOSE cur_user;
- IF (l_tab_user.COUNT = 0)
- THEN
- DBMS_OUTPUT.put_line (
- 'user ('
- || l_tab_user_list (idx_tab_user_list)
- || ') is not exist or disabled');
- --CONTINUE loop_tab_user_list;
- goto goto_tab_user_list;
- END IF;
- -- loop responsibility
- <<loop_arr_resp_list>>
- FOR idx_arr_resp_list IN l_arr_resp_list.FIRST .. l_arr_resp_list.LAST
- LOOP
- -- check if responsibility active
- OPEN cur_resp (l_arr_resp_list (idx_arr_resp_list));
- FETCH cur_resp
- BULK COLLECT INTO l_tab_resp;
- CLOSE cur_resp;
- IF (l_tab_resp.COUNT = 0)
- THEN
- DBMS_OUTPUT.put_line (
- 'resp ('
- || l_arr_resp_list (idx_arr_resp_list)
- || ') is not exist or disabled');
- --CONTINUE loop_arr_resp_list;
- goto goto_arr_resp_list;
- END IF;
- -- add resp for user
- DBMS_OUTPUT.put_line (
- 'Adding resp ('
- || l_arr_resp_list (idx_arr_resp_list)
- || ') for user ('
- || l_tab_user_list (idx_tab_user_list)
- || ')');
- fnd_user_pkg.addresp (
- username => l_tab_user_list (idx_tab_user_list)
- ,resp_app => l_tab_resp (1).application_short_name
- ,resp_key => l_tab_resp (1).responsibility_key
- ,security_group => l_tab_resp (1).security_group_key
- ,description => NULL
- ,start_date => TRUNC (SYSDATE)
- ,end_date => NULL);
- <<goto_arr_resp_list>> null;
-
相關推薦
一段Oracle EBS中給指定使用者增加指定職責的PLSQL指令碼
在一些比較注重許可權的EBS專案中, 普通使用者通常沒有System Administrator許可權, 只能由DBA給一個一個使用者一個一個職責加, 純手工的話很麻煩, 於是寫了一段PLSQL指令碼, 留著備用. 由於Oracle 10g尚不支援continue語句
從一段視頻中按幀提取圖片
imp book ima open HA image %d 數據 使用 這裏實現的是從一段視頻中每10幀讀取第10幀圖片,代碼如下: # -*- coding:utf-8 -*- #視頻中按序列提取幀,獲得訓練數據 import cv2 import os
sql server中的charindex函數用法解析(在一段字符中搜索字符或者字符串-----返回expression1在expression2出現的位置;反之,返回0)
abcde char 解析 ssi num 結果 -- art pan https://blog.csdn.net/xinghuo0007/article/details/70651358 知識點一:charindex()語法 CHARINDEX ( exp
Oracle EBS中列印二維碼
Oracle EBS暫時還只支援一維碼,所以如需要二維碼的列印和掃描,需要自行開發。PL/SQL還沒有成熟的二維碼生成類庫,但Java已有很多二維碼生成和解碼的第三方類庫(比如,QRCode,ZXing
怎樣把一段視頻中的音樂剪切下來
1.5 文件添加 下載 幫助 term text 想法 如果 alt 有一些視頻中的歌曲非常好聽,可是如果我們相對這首歌曲進行剪切的話,該如何操作呢?平時在欣賞一段影片的時候都會有這種將音樂剪切下來的想法,所以今天就整理了一篇怎麽把一段視頻中的音頻剪切下來的內容,大家感興趣
java中給當前日期增加固定的天數
//將要增加的日期和要加的天數轉換成毫秒 long effectiveDate = (new Date()).getTime()+(int)days*24*60*60*1000; //建立Calendar物件,用來轉換 Calendar calendar = Calendar.getInstanc
Java 寫一段字元到指定的文字文件中,如果該文字文件不存在,則建立該文字文件
寫一段字元到指定的文字文件中,如果該文字文件不存在,則建立該文字文件 1 import java.io.File; 2 import java.io.FileNotFoundException; 3 import java.io.FileOutputStream; 4 import java.
oracle 每天備份指定表的資料到另外一張備份表中
因為有一張中轉資料的表,資料量特別大不能儲存太久,但是最近幾天的有可能要使用。所以只保留7天的資料量,其他的資料按月重新建表分開儲存,用以備份。 首先建立備份的儲存過程 CREATE OR REPLACE PROCEDURE P_DAYCLEAR IS V_TABLE
C++ 隊列queue中的一段玄學代碼
原因 gin p s emp printf empty ont ffffff pro 代碼: mtx.lock(); printf("node %d push localW prepared,and local flag=%d,clock=%d\n",procID,l
js中給easyui的一列添加按鈕
clas easy eas index style lai detailed 發放 btn $("#totalTb").datagrid({ columns: [[ { field: ‘ENTITY_ACTNAME‘, title: ‘活動
JavaSE7基礎 找到一維數組中指定數值(第一次出現)的索引值 do-while循環實現
學習資源 public 不可用 oid 索引 ati 精華 args 運行 版本參數:jdk-7u72-windows-i586註意事項:博文內容僅供參考,不可用於其他用途。 代碼 class Demo{ public static void main(Stri
WinForm中,每隔一段時間(參數)調用一次函數(使用定時器)
pre tick break switch 時間 器) chan pri args 1 System.Windows.Forms.Timer setTimer; //定義一個定時器 2 int flg = 0;
統計oracle表中字段的個數
nbsp pre rom count brush ble clas where all select count(column_name) from user_tab_columns where table_name=‘emp‘ dba權限對應的視圖是dba_tab
javascript組件封裝中一段通用代碼解讀
img 中一 factor log func 解讀 amd oba 通過 有圖有真相,先上圖。 相信很多想去研究源碼的小夥伴一定被這段代碼給嚇著了把,直接就打消了往下看下去的想法。我剛開始看的時候也是有點一頭霧水,這是什麽東東這麽長,但是慢慢分析你就會發現其中的奧秘,
C# 中寫得很不錯的一段代碼摘出來
spa edi model png off callback 代碼 iss back private void LikeMyworkEvent(EditedImg img, bool islike) //點贊自己的作品 { if (Applica
從一組集合中獲取,分多次取集合中的每段數據中的最大值,重組成一個新的集合。
clas pub 處理 oat private color andro sublist roi 一個項目中偶遇的簡單算法,個人覺得還不錯,雖不常用,也記錄在此吧。 1 package huolongluo.qihuo.util; 2 3 import androi
TensorFlow實現Softmax Regression識別手寫數字中"TimeoutError: [WinError 10060] 由於連接方在一段時間後沒有正確答復或連接的主機沒有反應,連接嘗試失敗”問題
http 截圖 技術 數字 alt 分享圖片 inf 主機 orf 出現問題: 在使用TensorFlow實現MNIST手寫數字識別時,出現“TimeoutError: [WinError 10060] 由於連接方在一段時間後沒有正確答復或連接的主機沒有反應,連接嘗試失敗”
《愛麗絲夢遊仙境》中的一段對話
block 不知道 details 要去 post 去哪兒 class tails 說道 我很喜歡《愛麗絲夢遊仙境》中的一段對話: 一天,愛麗絲走到了一個岔路口,看見樹上趴著一只柴郡貓。 “我該走哪條路呢?”她問道。 “你要去哪
php中使用curl來post一段json數據
問題 mozilla gecko 處理 行數 agent body nts 本地 場景:在調用第三方接口時經常需要使用到curl進行數據交互,在初次使用時遇到一些小問題,記錄下來隨時查閱。 封裝curl相關方法便於使用,方法如下: /** * @param $url
MySQL中給字段添加索引
數據 TE fulltext alter http 速度 訪問 HR AI 1 普通索引 ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 2 主鍵索引 ALTER TABLE `table_name