1 PACKAGE BODY amv_utility_pvt2 AS
2 /* $Header: amvvutcb.pls 115.3 2000/02/02 17:25:02 pkm ship $ */
3 --
4 -- NAME
5 -- AMV_UTILITY_PVT2
6 --
7 -- HISTORY
8 -- 08/30/1999 SLKRISHN CREATED
9 --
10 --
11 G_PKG_NAME CONSTANT VARCHAR2(30) := 'AMV_UTILITY_PVT2';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amvvutlb.pls';
13 --
14 G_VALID_LEVEL_LOGIN CONSTANT NUMBER := FND_API.G_VALID_LEVEL_FULL;
15 --
16 ----------------------------- Private Portion ---------------------------------
17 --------------------------------------------------------------------------------
18 --
19 -- Start of comments
20 -- API name : Is_CategoryIdValid
21 -- Type : Private
22 -- Pre-reqs : None
23 -- Function : check if category id is valid and return a boolean value.
24 -- Parameters :
25 -- IN : p_category_id IN NUMBER Required
26 -- (sub)category id
27 -- OUT : None
28 -- Version : Current version 1.0
29 -- Previous version 1.0
30 -- Initial version 1.0
31 -- Notes :
32 -- End of comments
33 --
34 FUNCTION Is_CategoryIdValid (
35 p_category_id IN NUMBER
36 )
37 RETURN Boolean
38 IS
39 l_valid_flag number;
40 CURSOR
41 Check_CategoryId_csr IS
42 select count(*)
43 from amv_c_categories_b
44 where channel_category_id = p_category_id;
45 BEGIN
46 OPEN Check_CategoryId_csr;
47 FETCH Check_CategoryId_csr INTO l_valid_flag;
48 CLOSE Check_CategoryId_csr;
49 IF l_valid_flag > 0 THEN
50 return TRUE;
51 ELSE
52 return FALSE;
53 END IF;
54 END Is_CategoryIdValid;
55 --
56 --------------------------------------------------------------------------------
57 --
58 -- Start of comments
59 -- API name : Is_UserIdValid
60 -- Type : Private
61 -- Pre-reqs : None
62 -- Function : check if user id is valid and return a boolean value.
63 -- Parameters :
64 -- IN : p_user_id IN NUMBER Required
65 -- user id
66 -- OUT : None
67 -- Version : Current version 1.0
68 -- Previous version 1.0
69 -- Initial version 1.0
70 -- Notes :
71 -- End of comments
72 --
73 FUNCTION Is_UserIdValid (
74 p_user_id IN NUMBER
75 )
76 RETURN Boolean
77 IS
78 l_valid_flag number;
79 CURSOR
80 Check_UserId_csr IS
81 select count(*)
82 from jtf_rs_resource_extns
83 where resource_id = p_user_id;
84 BEGIN
85 OPEN Check_UserId_csr;
86 FETCH Check_UserId_csr INTO l_valid_flag;
87 CLOSE Check_UserId_csr;
88 IF l_valid_flag > 0 THEN
89 return TRUE;
90 ELSE
91 return FALSE;
92 END IF;
93 END Is_UserIdValid;
94 --
95 --------------------------------------------------------------------------------
96 --
97 -- Start of comments
98 -- API name : Is_MyChannelIdValid
99 -- Type : Private
100 -- Pre-reqs : None
101 -- Function : check if my channel id is valid and return boolean.
102 -- Parameters :
103 -- IN : p_mychannel_id IN NUMBER Required
104 -- OUT : None
105 -- Version : Current version 1.0
106 -- Previous version 1.0
107 -- Initial version 1.0
108 -- Notes :
109 -- End of comments
110 --
111 FUNCTION Is_MyChannelIdValid (
112 p_mychannel_id IN NUMBER
113 )
114 RETURN Boolean
115 IS
116 l_valid_flag number := 1;
117 CURSOR
118 Check_MyChannelId_csr IS
119 select count(*)
120 from amv_u_my_channels
121 where my_channel_id = p_mychannel_id;
122 BEGIN
123 OPEN Check_MyChannelId_csr;
124 FETCH Check_MyChannelId_csr INTO l_valid_flag;
125 CLOSE Check_MyChannelId_csr;
126 IF l_valid_flag > 0 THEN
127 return TRUE;
128 ELSE
129 return FALSE;
130 END IF;
131 END Is_MyChannelIdValid;
132 --
133 --------------------------------------------------------------------------------
134 --------------------------------------------------------------------------------
135 -- Start of comments
136 -- API name : Get_DeleteChannelStatus
137 -- Type : Private
138 -- Pre-reqs : None
139 -- Function : check if an user or group can delete a channel
140 -- Parameters :
141 -- IN
142 -- p_channel_id IN NUMBER Required
143 -- p_user_or_group_id IN NUMBER Required
144 -- p_user_or_group_type IN NUMBER Required
145 -- OUT
146 -- Boolean
147 -- Version : Current version 1.0
148 -- Previous version 1.0
149 -- Initial version 1.0
150 -- Notes :
151 -- End of comments
152 --
153 --
154 FUNCTION Get_DeleteChannelStatus
155 ( p_channel_id IN NUMBER,
156 p_user_or_group_id IN NUMBER,
157 p_user_or_group_type IN VARCHAR2) return boolean
158 IS
159 --
160 l_flag varchar2(1);
161
162 CURSOR DelChanAccs_csr IS
163 select can_delete_flag
164 from amv_u_access
165 where access_to_table_code = AMV_UTILITY_PVT2.G_CHANNEL
166 and access_to_table_record_id = p_channel_id
167 and user_or_group_id = p_user_or_group_id
168 and user_or_group_type = p_user_or_group_type;
169 --
170 BEGIN
171 --
172 OPEN DelChanAccs_csr;
173 FETCH DelChanAccs_csr INTO l_flag;
174 IF DelChanAccs_csr%NOTFOUND THEN
175 l_flag := FND_API.G_FALSE;
176 END IF;
177 CLOSE DelChanAccs_csr;
178
179 IF l_flag = FND_API.G_TRUE THEN
180 return TRUE;
181 ELSE
182 return FALSE;
183 END IF;
184 --
185 END Get_DeleteChannelStatus;
186 --
187 --------------------------------------------------------------------------------
188 --------------------------------------------------------------------------------
189 -- Start of comments
190 -- API name : Get_UpdateChannelStatus
191 -- Type : Private
192 -- Pre-reqs : None
193 -- Function : check if an user or group can update a channel
194 -- Parameters :
195 -- IN
196 -- p_channel_id IN NUMBER Required
197 -- p_user_or_group_id IN NUMBER Required
198 -- p_user_or_group_type IN NUMBER Required
199 -- OUT
200 -- Boolean
201 -- Version : Current version 1.0
202 -- Previous version 1.0
203 -- Initial version 1.0
204 -- Notes :
205 -- End of comments
206 --
207 FUNCTION Get_UpdateChannelStatus
208 ( p_channel_id IN NUMBER,
209 p_user_or_group_id IN NUMBER,
210 p_user_or_group_type IN VARCHAR2) return boolean
211 IS
212 --
213 l_flag varchar2(1);
214
215 CURSOR UpdChanAccs_csr IS
216 select can_update_flag
217 from amv_u_access
218 where access_to_table_code = AMV_UTILITY_PVT2.G_CHANNEL
219 and access_to_table_record_id = p_channel_id
220 and user_or_group_id = p_user_or_group_id
221 and user_or_group_type = p_user_or_group_type;
222 --
223 BEGIN
224 --
225 OPEN UpdChanAccs_csr;
226 FETCH UpdChanAccs_csr INTO l_flag;
227 IF UpdChanAccs_csr%NOTFOUND THEN
228 l_flag := FND_API.G_FALSE;
229 END IF;
230 CLOSE UpdChanAccs_csr;
231
232 IF l_flag = FND_API.G_TRUE THEN
233 return TRUE;
234 ELSE
235 return FALSE;
236 END IF;
237 --
238 END Get_UpdateChannelStatus;
239 --
240 --------------------------------------------------------------------------------
241 --------------------------------------------------------------------------------
242 -- Start of comments
243 -- API name : Get_DeleteCategoryStatus
244 -- Type : Private
245 -- Pre-reqs : None
246 -- Function : check if an user or group can delete a category
247 -- Parameters :
248 -- IN
249 -- p_category_id IN NUMBER Required
250 -- p_user_or_group_id IN NUMBER Required
251 -- p_user_or_group_type IN NUMBER Required
252 -- OUT
253 -- Boolean
254 -- Version : Current version 1.0
255 -- Previous version 1.0
256 -- Initial version 1.0
257 -- Notes :
258 -- End of comments
259 --
260 --
261 FUNCTION Get_DeleteCategoryStatus
262 ( p_category_id IN NUMBER,
263 p_user_or_group_id IN NUMBER,
264 p_user_or_group_type IN VARCHAR2) return boolean
265 IS
266 --
267 l_flag varchar2(1);
268
269 CURSOR DelCatAccs_csr IS
270 select can_delete_flag
271 from amv_u_access
272 where access_to_table_code = AMV_UTILITY_PVT2.G_CATEGORY
273 and access_to_table_record_id = p_category_id
274 and user_or_group_id = p_user_or_group_id
275 and user_or_group_type = p_user_or_group_type;
276 --
277 BEGIN
278 --
279 OPEN DelCatAccs_csr;
280 FETCH DelCatAccs_csr INTO l_flag;
281 IF DelCatAccs_csr%NOTFOUND THEN
282 l_flag := FND_API.G_FALSE;
283 END IF;
284 CLOSE DelCatAccs_csr;
285
286 IF l_flag = FND_API.G_TRUE THEN
287 return TRUE;
288 ELSE
289 return FALSE;
290 END IF;
291 --
292 END Get_DeleteCategoryStatus;
293 --
294 --------------------------------------------------------------------------------
295 --------------------------------------------------------------------------------
296 -- Start of comments
297 -- API name : Get_UpdateCategoryStatus
298 -- Type : Private
299 -- Pre-reqs : None
300 -- Function : check if an user or group can update a channel
301 -- Parameters :
302 -- IN
303 -- p_category_id IN NUMBER Required
304 -- p_user_or_group_id IN NUMBER Required
305 -- p_user_or_group_type IN NUMBER Required
306 -- OUT
307 -- Boolean
308 -- Version : Current version 1.0
309 -- Previous version 1.0
310 -- Initial version 1.0
311 -- Notes :
312 -- End of comments
313 --
314 FUNCTION Get_UpdateCategoryStatus
315 ( p_category_id IN NUMBER,
316 p_user_or_group_id IN NUMBER,
317 p_user_or_group_type IN VARCHAR2) return boolean
318 IS
319 --
320 l_flag varchar2(1);
321
322 CURSOR UpdCatAccs_csr IS
323 select can_update_flag
324 from amv_u_access
325 where access_to_table_code = AMV_UTILITY_PVT2.G_CATEGORY
326 and access_to_table_record_id = p_category_id
327 and user_or_group_id = p_user_or_group_id
328 and user_or_group_type = p_user_or_group_type;
329 --
330 BEGIN
331 --
332 OPEN UpdCatAccs_csr;
333 FETCH UpdCatAccs_csr INTO l_flag;
334 IF UpdCatAccs_csr%NOTFOUND THEN
335 l_flag := FND_API.G_FALSE;
336 END IF;
337 CLOSE UpdCatAccs_csr;
338
339 IF l_flag = FND_API.G_TRUE THEN
340 return TRUE;
341 ELSE
342 return FALSE;
343 END IF;
344 --
345 END Get_UpdateCategoryStatus;
346 --
347 --------------------------------------------------------------------------------
348 --------------------------------------------------------------------------------
349
350 END amv_utility_pvt2;