[Home] [Help]
PACKAGE BODY: APPS.IBC_GRANTS_PKG
Source
1 PACKAGE BODY Ibc_Grants_Pkg AS
2 /* $Header: ibctgntb.pls 115.1 2002/11/13 23:46:40 vicho ship $ */
3
4 -- MODIFICATION HISTORY
5 -- Person Date Comments
6 -- --------- ------ ------------------------------------------
7 -- vicho 11/05/2002 Remove G_MISS defaulting on UPDATE_ROW
8
9
10 PROCEDURE INSERT_ROW (
11 PX_ROWID IN OUT NOCOPY VARCHAR2,
12 P_GRANT_ID IN NUMBER,
13 P_PERMISSION_CODE IN VARCHAR2,
14 P_GRANTEE_RESOURCE_ID IN NUMBER,
15 P_GRANTEE_USER_ID IN NUMBER,
16 P_GRANTEE_RESOURCE_TYPE IN VARCHAR2,
17 P_GRANT_GROUP_ID IN NUMBER,
18 P_ACTION IN VARCHAR2,
19 P_GRANT_LEVEL IN NUMBER,
20 P_CASCADE_FLAG IN VARCHAR2,
21 P_OBJECT_VERSION_NUMBER IN NUMBER,
22 P_OBJECT_ID IN NUMBER,
23 p_CREATION_DATE IN DATE,
24 p_CREATED_BY IN NUMBER,
25 p_LAST_UPDATE_DATE IN DATE,
26 p_LAST_UPDATED_BY IN NUMBER,
27 p_LAST_UPDATE_LOGIN IN NUMBER
28 ) IS
29 CURSOR C IS SELECT ROWID FROM IBC_GRANTS
30 WHERE GRANT_ID = P_GRANT_ID
31 ;
32 BEGIN
33 INSERT INTO IBC_GRANTS (
34 PERMISSION_CODE,
35 GRANTEE_RESOURCE_ID,
36 GRANTEE_USER_ID,
37 GRANTEE_RESOURCE_TYPE,
38 GRANT_GROUP_ID,
39 ACTION,
40 GRANT_LEVEL,
41 CASCADE_FLAG,
42 OBJECT_VERSION_NUMBER,
43 GRANT_ID,
44 OBJECT_ID,
45 CREATION_DATE,
46 CREATED_BY,
47 LAST_UPDATE_DATE,
48 LAST_UPDATED_BY,
49 LAST_UPDATE_LOGIN
50 ) VALUES (
51 P_PERMISSION_CODE,
52 P_GRANTEE_RESOURCE_ID,
53 P_GRANTEE_USER_ID,
54 P_GRANTEE_RESOURCE_TYPE,
55 P_GRANT_GROUP_ID,
56 P_ACTION,
57 P_GRANT_LEVEL,
58 P_CASCADE_FLAG,
59 P_OBJECT_VERSION_NUMBER,
60 P_GRANT_ID,
61 P_OBJECT_ID,
62 DECODE(p_creation_date, FND_API.G_MISS_DATE, SYSDATE, NULL, SYSDATE,p_creation_date),
63 DECODE(p_created_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,NULL, FND_GLOBAL.user_id, p_created_by),
64 DECODE(p_last_update_date, FND_API.G_MISS_DATE, SYSDATE, NULL, SYSDATE,p_last_update_date),
65 DECODE(p_last_updated_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,NULL, FND_GLOBAL.user_id, p_last_updated_by),
66 DECODE(p_last_update_login, FND_API.G_MISS_NUM, FND_GLOBAL.login_id,NULL, FND_GLOBAL.login_id, p_last_update_login)
67 );
68
69 OPEN c;
70 FETCH c INTO PX_ROWID;
71 IF (c%NOTFOUND) THEN
72 CLOSE c;
73 RAISE NO_DATA_FOUND;
74 END IF;
75 CLOSE c;
76
77 END INSERT_ROW;
78
79 PROCEDURE LOCK_ROW (
80 P_GRANT_ID IN NUMBER,
81 P_PERMISSION_CODE IN VARCHAR2,
82 P_GRANTEE_RESOURCE_ID IN NUMBER,
83 P_GRANTEE_USER_ID IN NUMBER,
84 P_GRANTEE_RESOURCE_TYPE IN VARCHAR2,
85 P_GRANT_GROUP_ID IN NUMBER,
86 P_ACTION IN VARCHAR2,
87 P_GRANT_LEVEL IN NUMBER,
88 P_CASCADE_FLAG IN VARCHAR2,
89 P_OBJECT_VERSION_NUMBER IN NUMBER,
90 P_OBJECT_ID IN NUMBER
91 ) IS
92 CURSOR c IS SELECT
93 PERMISSION_CODE,
94 GRANTEE_RESOURCE_ID,
95 GRANTEE_USER_ID,
96 GRANTEE_RESOURCE_TYPE,
97 GRANT_GROUP_ID,
98 ACTION,
99 GRANT_LEVEL,
100 CASCADE_FLAG,
101 OBJECT_VERSION_NUMBER,
102 OBJECT_ID
103 FROM IBC_GRANTS
104 WHERE GRANT_ID = P_GRANT_ID
105 FOR UPDATE OF GRANT_ID NOWAIT;
106 recinfo c%ROWTYPE;
107
108 BEGIN
109 OPEN c;
110 FETCH c INTO recinfo;
111 IF (c%NOTFOUND) THEN
112 CLOSE c;
113 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
114 app_exception.raise_exception;
115 END IF;
116 CLOSE c;
117 IF ( (recinfo.PERMISSION_CODE = P_PERMISSION_CODE)
118 AND (recinfo.GRANTEE_RESOURCE_ID = P_GRANTEE_RESOURCE_ID)
119 AND (recinfo.GRANTEE_USER_ID = P_GRANTEE_USER_ID)
120 AND (recinfo.GRANTEE_RESOURCE_TYPE = P_GRANTEE_RESOURCE_TYPE)
121 AND (recinfo.GRANT_GROUP_ID = P_GRANT_GROUP_ID)
122 AND (recinfo.ACTION = P_ACTION)
123 AND (recinfo.GRANT_LEVEL = P_GRANT_LEVEL)
124 AND (recinfo.CASCADE_FLAG = P_CASCADE_FLAG)
125 AND (recinfo.OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER)
126 AND (recinfo.OBJECT_ID = P_OBJECT_ID)
127 ) THEN
128 NULL;
129 ELSE
130 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
131 app_exception.raise_exception;
132 END IF;
133 RETURN;
134 END LOCK_ROW;
135
136 PROCEDURE UPDATE_ROW (
137 P_GRANT_ID IN NUMBER,
138 P_PERMISSION_CODE IN VARCHAR2,
139 P_GRANTEE_RESOURCE_ID IN NUMBER,
140 P_GRANTEE_USER_ID IN NUMBER,
141 P_GRANTEE_RESOURCE_TYPE IN VARCHAR2,
142 P_GRANT_GROUP_ID IN NUMBER,
143 P_ACTION IN VARCHAR2,
144 P_GRANT_LEVEL IN NUMBER,
145 P_CASCADE_FLAG IN VARCHAR2,
146 p_OBJECT_VERSION_NUMBER IN NUMBER,
147 P_OBJECT_ID IN NUMBER,
148 p_LAST_UPDATED_BY IN NUMBER,
149 p_LAST_UPDATE_DATE IN DATE,
150 p_LAST_UPDATE_LOGIN IN NUMBER
151 ) IS
152 BEGIN
153 UPDATE IBC_GRANTS SET
154 PERMISSION_CODE = P_PERMISSION_CODE,
155 GRANTEE_RESOURCE_ID = P_GRANTEE_RESOURCE_ID,
156 GRANTEE_USER_ID = P_GRANTEE_USER_ID,
157 GRANTEE_RESOURCE_TYPE = P_GRANTEE_RESOURCE_TYPE,
158 GRANT_GROUP_ID = P_GRANT_GROUP_ID,
159 ACTION = P_ACTION,
160 GRANT_LEVEL = P_GRANT_LEVEL,
161 CASCADE_FLAG = P_CASCADE_FLAG,
162 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
163 OBJECT_ID = P_OBJECT_ID,
164 last_update_date = DECODE(p_last_update_date, FND_API.G_MISS_DATE, SYSDATE,
165 NULL, SYSDATE, p_last_update_date),
166 last_updated_by = DECODE(p_last_updated_by, FND_API.G_MISS_NUM,
167 FND_GLOBAL.user_id, NULL, FND_GLOBAL.user_id,
168 p_last_updated_by),
169 last_update_login = DECODE(p_last_update_login, FND_API.G_MISS_NUM,
170 FND_GLOBAL.login_id, NULL, FND_GLOBAL.login_id,
171 p_last_update_login)
172 WHERE GRANT_ID = P_GRANT_ID
173 AND object_version_number = DECODE(p_object_version_number,
174 FND_API.G_MISS_NUM,object_version_number,
175 NULL,object_version_number,
176 p_object_version_number);
177
178 IF (SQL%NOTFOUND) THEN
179 RAISE NO_DATA_FOUND;
180 END IF;
181
182 END UPDATE_ROW;
183
184 PROCEDURE DELETE_ROW (
185 P_GRANT_ID IN NUMBER
186 ) IS
187 BEGIN
188
189 DELETE FROM IBC_GRANTS
190 WHERE GRANT_ID = P_GRANT_ID;
191
192 IF (SQL%NOTFOUND) THEN
193 RAISE NO_DATA_FOUND;
194 END IF;
195 END DELETE_ROW;
196
197 END Ibc_Grants_Pkg;