DBA Data[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;