[Home] [Help]
PACKAGE BODY: APPS.EDR_SECURITY_UTIL
Source
1 PACKAGE BODY edr_security_util AS
2 /* $Header: EDRSECWB.pls 120.1.12000000.1 2007/01/18 05:55:23 appldev ship $ */
3
4 PROCEDURE add_drop_policy (ERRBUF OUT NOCOPY VARCHAR2, RETCODE OUT NOCOPY VARCHAR2,
5 ACTION IN VARCHAR2)
6 IS
7 l_prod_schema varchar2(30);
8 l_status varchar2(10);
9 l_industry varchar2(10);
10 BEGIN
11 FND_FILE.PUT_LINE(FND_FILE.LOG,'Parameter: '||ACTION);
12 if (ACTION = 'ADD') then
13 FND_FILE.PUT_LINE(FND_FILE.LOG,'Adding security on the eRecords');
14
15 --Bug 4440223: Start
16 IF NOT FND_INSTALLATION.GET_APP_INFO('EDR', l_status, l_industry, l_prod_schema)
17 THEN
18 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19 END IF;
20
21 --DBMS_RLS.ADD_POLICY('EDR', 'EDR_PSIG_DOCUMENTS', 'EDR_DOCUMENTS_VIEW',
22 -- 'APPS', 'EDR_POLICY_FUNCTION_PKG.PSIG_VIEW', 'SELECT');
23 DBMS_RLS.ADD_POLICY
24 (l_prod_schema, --object schema
25 'EDR_PSIG_DOCUMENTS', --object name
26 'EDR_DOCUMENTS_VIEW', --policy name
27 null, --function schema
28 'EDR_POLICY_FUNCTION_PKG.PSIG_VIEW', --policy function
29 'SELECT'); --statement types
30
31 --DBMS_RLS.ADD_POLICY('EDR', 'EDR_PSIG_DOCUMENTS', 'EDR_DOCUMENTS_MODIFY',
32 -- 'APPS', 'EDR_POLICY_FUNCTION_PKG.PSIG_MODIFY', 'INSERT, UPDATE');
33 DBMS_RLS.ADD_POLICY
34 (l_prod_schema, --object schema
35 'EDR_PSIG_DOCUMENTS', --object name
36 'EDR_DOCUMENTS_MODIFY', --policy name
37 null, --function schema
38 'EDR_POLICY_FUNCTION_PKG.PSIG_MODIFY', --policy function
39 'INSERT, UPDATE'); --statement types
40
41 --DBMS_RLS.ADD_POLICY('EDR', 'EDR_PSIG_DOCUMENTS', 'EDR_DOCUMENTS_DELETE',
42 -- 'APPS', 'EDR_POLICY_FUNCTION_PKG.PSIG_DELETE', 'DELETE');
43 DBMS_RLS.ADD_POLICY
44 (l_prod_schema, --object schema
45 'EDR_PSIG_DOCUMENTS', --object name
46 'EDR_DOCUMENTS_DELETE', --policy name
47 null, --function schema
48 'EDR_POLICY_FUNCTION_PKG.PSIG_DELETE', --policy function
49 'DELETE'); --statement types
50 --Bug 4440223: End
51
52 elsif (ACTION = 'DROP') then
53 FND_FILE.PUT_LINE(FND_FILE.LOG,'Dropping security on the eRecords');
54 DBMS_RLS.DROP_POLICY('EDR', 'EDR_PSIG_DOCUMENTS', 'EDR_DOCUMENTS_VIEW');
55 DBMS_RLS.DROP_POLICY('EDR', 'EDR_PSIG_DOCUMENTS', 'EDR_DOCUMENTS_MODIFY');
56 DBMS_RLS.DROP_POLICY('EDR', 'EDR_PSIG_DOCUMENTS', 'EDR_DOCUMENTS_DELETE');
57 end if;
58 FND_FILE.PUT_LINE(FND_FILE.LOG,'Modification of security on eRecords sucessfully completed');
59 END add_drop_policy;
60
61 --Bug 3187777: Start
62 --This function would strip the occurence of { } and \ from a string making sure
63 --that all escaping done for Oracle Text has been removed
64
65 FUNCTION STRIP_SPECIAL_CHAR(qry varchar2)
66 return varchar2
67 is
68 nqry varchar2(100); -- normalized query word
69 begin
70 nqry := replace(qry, '}}', '}');
71 nqry := replace(nqry, '\\', '\');
72 nqry := ltrim(nqry, '{');
73 nqry := rtrim(nqry, '}');
74 return nqry;
75 end STRIP_SPECIAL_CHAR;
76 --Bug 3187777: End
77
78 end edr_security_util;