DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_K_ACCESS_RULES_PKG

Source


1 package body OKE_K_ACCESS_RULES_PKG as
2 /* $Header: OKEKACRB.pls 120.1 2005/06/02 12:00:37 appldev  $ */
3 procedure INSERT_ROW (
4   X_ROWID                   IN OUT NOCOPY /* file.sql.39 change */    VARCHAR2,
5   X_ACCESS_RULE_ID          IN OUT NOCOPY /* file.sql.39 change */    NUMBER,
6   X_CREATION_DATE           in        DATE,
7   X_CREATED_BY              in        NUMBER,
8   X_LAST_UPDATE_DATE        in        DATE,
9   X_LAST_UPDATED_BY         in        NUMBER,
10   X_LAST_UPDATE_LOGIN       in        NUMBER,
11   X_ROLE_ID                 in        NUMBER,
12   X_SECURED_OBJECT_NAME     in        VARCHAR2,
13   X_ATTRIBUTE_GROUP_TYPE    in        VARCHAR2,
14   X_ATTRIBUTE_GROUP_CODE    in        VARCHAR2,
15   X_ATTRIBUTE_CODE          in        VARCHAR2,
16   X_ACCESS_LEVEL            in        VARCHAR2
17 ) is
18   cursor C is select ROWID from OKE_K_ACCESS_RULES
19     where ACCESS_RULE_ID = X_ACCESS_RULE_ID
20     ;
21 begin
22   select OKE_K_ACCESS_RULES_S.nextval
23   into   X_ACCESS_RULE_ID
24   from   dual;
25 
26   insert into OKE_K_ACCESS_RULES (
27     ACCESS_RULE_ID,
28     CREATION_DATE,
29     CREATED_BY,
30     LAST_UPDATE_DATE,
31     LAST_UPDATED_BY,
32     LAST_UPDATE_LOGIN,
33     ROLE_ID,
34     SECURED_OBJECT_NAME,
35     ATTRIBUTE_GROUP_TYPE,
36     ATTRIBUTE_GROUP_CODE,
37     ATTRIBUTE_CODE,
38     ACCESS_LEVEL
39   ) values (
40     X_ACCESS_RULE_ID,
41     X_CREATION_DATE,
42     X_CREATED_BY,
43     X_LAST_UPDATE_DATE,
44     X_LAST_UPDATED_BY,
45     X_LAST_UPDATE_LOGIN,
46     X_ROLE_ID,
47     X_SECURED_OBJECT_NAME,
48     X_ATTRIBUTE_GROUP_TYPE,
49     X_ATTRIBUTE_GROUP_CODE,
50     X_ATTRIBUTE_CODE,
51     X_ACCESS_LEVEL
52   );
53 
54   open c;
55   fetch c into X_ROWID;
56   if (c%notfound) then
57     close c;
58     raise no_data_found;
59   end if;
60   close c;
61 
62 end INSERT_ROW;
63 
64 procedure LOCK_ROW (
65   X_ACCESS_RULE_ID          in        NUMBER,
66   X_ROLE_ID                 in        NUMBER,
67   X_SECURED_OBJECT_NAME     in        VARCHAR2,
68   X_ATTRIBUTE_GROUP_TYPE    in        VARCHAR2,
69   X_ATTRIBUTE_GROUP_CODE    in        VARCHAR2,
70   X_ATTRIBUTE_CODE          in        VARCHAR2,
71   X_ACCESS_LEVEL            in        VARCHAR2
72 ) is
73   cursor c is select
74       ROLE_ID,
75       SECURED_OBJECT_NAME,
76       ATTRIBUTE_GROUP_TYPE,
77       ATTRIBUTE_GROUP_CODE,
78       ATTRIBUTE_CODE,
79       ACCESS_LEVEL
80     from OKE_K_ACCESS_RULES
81     where ACCESS_RULE_ID = X_ACCESS_RULE_ID
82     for update of ACCESS_RULE_ID nowait;
83   recinfo c%rowtype;
84 
85 begin
86   open c;
87   fetch c into recinfo;
88   if (c%notfound) then
89     close c;
90     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
91     app_exception.raise_exception;
92   end if;
93   close c;
94   if (    (recinfo.ROLE_ID = X_ROLE_ID)
95       AND (recinfo.SECURED_OBJECT_NAME = X_SECURED_OBJECT_NAME)
96       AND (recinfo.ACCESS_LEVEL = X_ACCESS_LEVEL)
97       AND ((recinfo.ATTRIBUTE_GROUP_TYPE = X_ATTRIBUTE_GROUP_TYPE)
98            OR ((recinfo.ATTRIBUTE_GROUP_TYPE is null) AND (X_ATTRIBUTE_GROUP_TYPE is null)))
99       AND ((recinfo.ATTRIBUTE_GROUP_CODE = X_ATTRIBUTE_GROUP_CODE)
100            OR ((recinfo.ATTRIBUTE_GROUP_CODE is null) AND (X_ATTRIBUTE_GROUP_CODE is null)))
101       AND ((recinfo.ATTRIBUTE_CODE = X_ATTRIBUTE_CODE)
102            OR ((recinfo.ATTRIBUTE_CODE is null) AND (X_ATTRIBUTE_CODE is null)))
103   ) then
104     null;
105   else
106     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
107     app_exception.raise_exception;
108   end if;
109 
110   return;
111 end LOCK_ROW;
112 
113 procedure UPDATE_ROW (
114   X_ACCESS_RULE_ID          in        NUMBER,
115   X_LAST_UPDATE_DATE        in        DATE,
116   X_LAST_UPDATED_BY         in        NUMBER,
117   X_LAST_UPDATE_LOGIN       in        NUMBER,
118   X_ROLE_ID                 in        NUMBER,
119   X_SECURED_OBJECT_NAME     in        VARCHAR2,
120   X_ATTRIBUTE_GROUP_TYPE    in        VARCHAR2,
121   X_ATTRIBUTE_GROUP_CODE    in        VARCHAR2,
122   X_ATTRIBUTE_CODE          in        VARCHAR2,
123   X_ACCESS_LEVEL            in        VARCHAR2
124 ) is
125 begin
126   update OKE_K_ACCESS_RULES set
127     LAST_UPDATE_DATE     = X_LAST_UPDATE_DATE,
128     LAST_UPDATED_BY      = X_LAST_UPDATED_BY,
129     LAST_UPDATE_LOGIN    = X_LAST_UPDATE_LOGIN,
130     ROLE_ID              = X_ROLE_ID,
131     SECURED_OBJECT_NAME  = X_SECURED_OBJECT_NAME,
132     ATTRIBUTE_GROUP_TYPE = X_ATTRIBUTE_GROUP_TYPE,
133     ATTRIBUTE_GROUP_CODE = X_ATTRIBUTE_GROUP_CODE,
134     ATTRIBUTE_CODE       = X_ATTRIBUTE_CODE,
135     ACCESS_LEVEL         = X_ACCESS_LEVEL
136   where ACCESS_RULE_ID = X_ACCESS_RULE_ID;
137 
138   if (sql%notfound) then
139     raise no_data_found;
140   end if;
141 end UPDATE_ROW;
142 
143 procedure DELETE_ROW (
144   X_ACCESS_RULE_ID          in        NUMBER
145 ) is
146 begin
147   delete from OKE_K_ACCESS_RULES
148   where ACCESS_RULE_ID = X_ACCESS_RULE_ID;
149 
150   if (sql%notfound) then
151     raise no_data_found;
152   end if;
153 
154 end DELETE_ROW;
155 
156 procedure DELETE_ALL (
157   X_ROLE_ID                 in        NUMBER
158 ) is
159 begin
160   delete from OKE_K_ACCESS_RULES
161   where ROLE_ID = X_ROLE_ID;
162 
163   delete from OKE_COMPILED_ACCESS_RULES
164   where ROLE_ID = X_ROLE_ID;
165 
166 end DELETE_ALL;
167 
168 end OKE_K_ACCESS_RULES_PKG;