DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGC_CC_SEC_GROUP_USERS_PKG

Source


1 PACKAGE BODY IGC_CC_SEC_GROUP_USERS_PKG as
2 /* $Header: IGCCSCUB.pls 120.6.12000000.1 2007/08/20 12:14:45 mbremkum ship $ */
3 
4   G_PKG_NAME CONSTANT VARCHAR2(30):= 'IGC_CC_SEC_GROUP_USERS_PKG';
5 
6 PROCEDURE Insert_Row(  p_api_version          IN       NUMBER,
7   		  p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE,
8   		  p_commit                    IN       VARCHAR2 := FND_API.G_FALSE,
9   		  p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL,
10   		  p_return_status             OUT NOCOPY      VARCHAR2,
11   		  p_msg_count                 OUT NOCOPY      NUMBER,
12   		  p_msg_data                  OUT NOCOPY      VARCHAR2,
13 
14 		     P_ROWID 				IN OUT NOCOPY VARCHAR2,
15                      P_CC_GROUP_ID	                NUMBER,
16                      P_USER_ID		                NUMBER,
17                      P_CONTEXT		                VARCHAR2,
18                      P_ATTRIBUTE1                       VARCHAR2,
19                      P_ATTRIBUTE2                       VARCHAR2,
20                      P_ATTRIBUTE3                       VARCHAR2,
21                      P_ATTRIBUTE4                       VARCHAR2,
22                      P_ATTRIBUTE5                       VARCHAR2,
23                      P_ATTRIBUTE6                       VARCHAR2,
24                      P_ATTRIBUTE7                       VARCHAR2,
25                      P_ATTRIBUTE8                       VARCHAR2,
26                      P_ATTRIBUTE9                       VARCHAR2,
27                      P_ATTRIBUTE10                      VARCHAR2,
28                      P_ATTRIBUTE11                      VARCHAR2,
29                      P_ATTRIBUTE12                      VARCHAR2,
30                      P_ATTRIBUTE13                      VARCHAR2,
31                      P_ATTRIBUTE14                      VARCHAR2,
32                      P_ATTRIBUTE15                      VARCHAR2,
33 		     P_LAST_UPDATE_DATE			DATE,
34 		     P_LAST_UPDATED_BY			NUMBER,
35 		     P_CREATION_DATE			DATE,
36 		     P_CREATED_BY			NUMBER,
37 		     P_LAST_UPDATE_LOGIN		NUMBER
38 		    ) IS
39 
40   l_api_name            CONSTANT VARCHAR2(30)   := 'Insert_Row';
41   l_api_version         CONSTANT NUMBER         :=  1.0;
42 
43 
44 	CURSOR C IS SELECT ROWID FROM IGC_CC_GROUP_USERS
45 	            WHERE CC_GROUP_ID  = P_CC_GROUP_ID
46 		    and   USER_ID = P_USER_ID ;
47   BEGIN
48 
49   SAVEPOINT Insert_Row_Pvt ;
50 
51   IF NOT FND_API.Compatible_API_Call ( l_api_version,
52                                        p_api_version,
53                                        l_api_name,
54                                        G_PKG_NAME )
55   THEN
56     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
57   END IF;
58 
59 
60   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
61     FND_MSG_PUB.initialize ;
62   END IF;
63 
64   p_return_status := FND_API.G_RET_STS_SUCCESS ;
65 
66 	INSERT INTO IGC_CC_GROUP_USERS(
67 		        CC_GROUP_ID,
68 			USER_ID,
69 			CONTEXT,
70 			ATTRIBUTE1,
71 			ATTRIBUTE2,
72 			ATTRIBUTE3,
73 			ATTRIBUTE4,
74 			ATTRIBUTE5,
75 			ATTRIBUTE6,
76 			ATTRIBUTE7,
77 			ATTRIBUTE8,
78 			ATTRIBUTE9,
79 			ATTRIBUTE10,
80 			ATTRIBUTE11,
81 			ATTRIBUTE12,
82 			ATTRIBUTE13,
83 			ATTRIBUTE14,
84 			ATTRIBUTE15,
85 			LAST_UPDATE_DATE,
86 			LAST_UPDATED_BY,
87 			CREATION_DATE,
88 			CREATED_BY,
89 			LAST_UPDATE_LOGIN) VALUES(
90 			P_CC_GROUP_ID,
91 			P_USER_ID,
92 			P_CONTEXT,
93 			P_ATTRIBUTE1,
94 			P_ATTRIBUTE2,
95 			P_ATTRIBUTE3,
96 			P_ATTRIBUTE4,
97 			P_ATTRIBUTE5,
98 			P_ATTRIBUTE6,
99 			P_ATTRIBUTE7,
100 			P_ATTRIBUTE8,
101 			P_ATTRIBUTE9,
102 			P_ATTRIBUTE10,
103 			P_ATTRIBUTE11,
104 			P_ATTRIBUTE12,
105 			P_ATTRIBUTE13,
106 			P_ATTRIBUTE14,
107 			P_ATTRIBUTE15,
108 			P_LAST_UPDATE_DATE,
109 			P_LAST_UPDATED_BY,
110 			P_CREATION_DATE,
111 			P_CREATED_BY,
112 			P_LAST_UPDATE_LOGIN
113 			);
114 	OPEN C;
115 	FETCH C INTO P_ROWID;
116 	IF (C%NOTFOUND) THEN
117 	  CLOSE C;
118 	  Raise NO_DATA_FOUND;
119 	END IF;
120 	CLOSE C;
121 
122 
123   IF FND_API.To_Boolean ( p_commit ) THEN
124     COMMIT WORK;
125   END iF;
126 
127   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
128                               p_data  => p_msg_data );
129 
130 EXCEPTION
131 
132   WHEN FND_API.G_EXC_ERROR THEN
133 
134     ROLLBACK TO Insert_Row_Pvt ;
135     p_return_status := FND_API.G_RET_STS_ERROR;
136     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
137                                 p_data  => p_msg_data );
138 
139   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
140 
141     ROLLBACK TO Insert_Row_Pvt ;
142     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
143     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
144                                 p_data  => p_msg_data );
145 
146   WHEN OTHERS THEN
147 
148     ROLLBACK TO Insert_Row_Pvt ;
149     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
150 
151     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
152       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
153                                 l_api_name);
154     END if;
155 
156     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
157                                 p_data  => p_msg_data );
158 
159 END Insert_Row;
160 
161 PROCEDURE Update_Row(
162   		  p_api_version               IN       NUMBER,
163   		  p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE,
164   		  p_commit                    IN       VARCHAR2 := FND_API.G_FALSE,
165   		  p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL,
166   		  p_return_status             OUT NOCOPY      VARCHAR2,
167   		  p_msg_count                 OUT NOCOPY      NUMBER,
168   		  p_msg_data                  OUT NOCOPY      VARCHAR2,
169 
170 
171 		  P_ROWID			     VARCHAR2,
172 		  P_CC_GROUP_ID			     NUMBER,
173 		  P_USER_ID			     NUMBER,
174                   P_CONTEXT 	                     VARCHAR2,
175                   P_ATTRIBUTE1                       VARCHAR2,
176                   P_ATTRIBUTE2                       VARCHAR2,
177                   P_ATTRIBUTE3                       VARCHAR2,
178                   P_ATTRIBUTE4                       VARCHAR2,
179                   P_ATTRIBUTE5                       VARCHAR2,
180                   P_ATTRIBUTE6                       VARCHAR2,
181                   P_ATTRIBUTE7                       VARCHAR2,
182                   P_ATTRIBUTE8                       VARCHAR2,
183                   P_ATTRIBUTE9                       VARCHAR2,
184                   P_ATTRIBUTE10                      VARCHAR2,
185                   P_ATTRIBUTE11                      VARCHAR2,
186                   P_ATTRIBUTE12                      VARCHAR2,
187                   P_ATTRIBUTE13                      VARCHAR2,
188                   P_ATTRIBUTE14                      VARCHAR2,
189                   P_ATTRIBUTE15                      VARCHAR2,
190                   P_LAST_UPDATE_DATE                 DATE,
191                   P_LAST_UPDATED_BY                  NUMBER,
192                   P_LAST_UPDATE_LOGIN                NUMBER
193 		    ) IS
194 
195   l_api_name            CONSTANT VARCHAR2(30)   := 'Update_Row';
196   l_api_version         CONSTANT NUMBER         :=  1.0;
197 
198 BEGIN
199 
200   SAVEPOINT Update_Row_Pvt ;
201 
202   IF NOT FND_API.Compatible_API_Call ( l_api_version,
203                                        p_api_version,
204                                        l_api_name,
205                                        G_PKG_NAME )
206   THEN
207     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
208   END IF;
209 
210 
211   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
212     FND_MSG_PUB.initialize ;
213   END IF;
214 
215   p_return_status := FND_API.G_RET_STS_SUCCESS ;
216 
217  UPDATE IGC_CC_GROUP_USERS
218  SET
219 	   	CC_GROUP_ID		= P_CC_GROUP_ID,
220 		USER_ID			= P_USER_ID,
221 		CONTEXT			= P_CONTEXT,
222 		ATTRIBUTE1		= P_ATTRIBUTE1,
223 		ATTRIBUTE2		= P_ATTRIBUTE2,
224 		ATTRIBUTE3		= P_ATTRIBUTE3,
225 		ATTRIBUTE4		= P_ATTRIBUTE4,
226 		ATTRIBUTE5		= P_ATTRIBUTE5,
227 		ATTRIBUTE6		= P_ATTRIBUTE6,
228 		ATTRIBUTE7		= P_ATTRIBUTE7,
229 		ATTRIBUTE8		= P_ATTRIBUTE8,
230 		ATTRIBUTE9		= P_ATTRIBUTE9,
231 		ATTRIBUTE10		= P_ATTRIBUTE10,
232 		ATTRIBUTE11		= P_ATTRIBUTE11,
233 		ATTRIBUTE12		= P_ATTRIBUTE12,
234 		ATTRIBUTE13		= P_ATTRIBUTE13,
235 		ATTRIBUTE14		= P_ATTRIBUTE14,
236 		ATTRIBUTE15		= P_ATTRIBUTE15,
237 		LAST_UPDATE_DATE	= P_LAST_UPDATE_DATE,
238 		LAST_UPDATED_BY		= P_LAST_UPDATED_BY,
239 		LAST_UPDATE_LOGIN	= P_LAST_UPDATE_LOGIN
240 
241 		WHERE ROWID = P_ROWID;
242 
243  IF (SQL%NOTFOUND) THEN
244 	RAISE NO_DATA_FOUND;
245 	END IF;
246 
247   IF FND_API.To_Boolean ( p_commit ) THEN
248     COMMIT WORK;
249   END iF;
250 
251   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
252                               p_data  => p_msg_data );
253 
254 EXCEPTION
255 
256   WHEN FND_API.G_EXC_ERROR THEN
257 
258     ROLLBACK TO Update_Row_Pvt ;
259     p_return_status := FND_API.G_RET_STS_ERROR;
260     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
261                                 p_data  => p_msg_data );
262 
263   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
264 
265     ROLLBACK TO Update_Row_Pvt ;
266     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
267     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
268                                 p_data  => p_msg_data );
269 
270   WHEN OTHERS THEN
271 
272     ROLLBACK TO Update_Row_Pvt ;
273     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
274 
275     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
276       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
277                                 l_api_name);
278     END if;
279 
280     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
281                                 p_data  => p_msg_data );
282 
283  END Update_Row;
284 
285 
286 PROCEDURE Lock_Row(
287   		p_api_version               IN       NUMBER,
288   		p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE,
289   		p_commit                    IN       VARCHAR2 := FND_API.G_FALSE,
290   		p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL,
291   		p_return_status             OUT NOCOPY      VARCHAR2,
292   		p_msg_count                 OUT NOCOPY      NUMBER,
293   		p_msg_data                  OUT NOCOPY      VARCHAR2,
294 
295 		   P_ROWID		        VARCHAR2,
296 		   P_CC_GROUP_ID		NUMBER,
297 		   P_USER_ID			NUMBER,
298                    P_CONTEXT	                VARCHAR2,
299                    P_ATTRIBUTE1                 VARCHAR2,
300                    P_ATTRIBUTE2                 VARCHAR2,
301                    P_ATTRIBUTE3                 VARCHAR2,
302                    P_ATTRIBUTE4                 VARCHAR2,
303                    P_ATTRIBUTE5                 VARCHAR2,
304                    P_ATTRIBUTE6                 VARCHAR2,
305                    P_ATTRIBUTE7                 VARCHAR2,
306                    P_ATTRIBUTE8                 VARCHAR2,
307                    P_ATTRIBUTE9                 VARCHAR2,
308                    P_ATTRIBUTE10                VARCHAR2,
309                    P_ATTRIBUTE11                VARCHAR2,
310                    P_ATTRIBUTE12                VARCHAR2,
311                    P_ATTRIBUTE13                VARCHAR2,
312                    P_ATTRIBUTE14                VARCHAR2,
313                    P_ATTRIBUTE15                VARCHAR2,
314   		   p_row_locked        OUT NOCOPY      VARCHAR2
315 		  ) IS
316 
317   l_api_name            CONSTANT VARCHAR2(30)   := 'Lock_Row';
318   l_api_version         CONSTANT NUMBER         :=  1.0;
319 
320 	CURSOR C IS
321 		SELECT cc_group_id,
322 		     user_id,
323 		     context,
324 		     attribute1,
325 		     attribute2,
326 		     attribute3,
327 		     attribute4,
328 		     attribute5,
329 		     attribute6,
330 		     attribute7,
331 		     attribute8,
332 		     attribute9,
333 		     attribute10,
334 		     attribute11,
335 		     attribute12,
336 		     attribute13,
337 		     attribute14,
338 		     attribute15
339 	      from IGC_CC_GROUP_USERS
340               where rowid = P_ROWID
341 	      for UPDATE OF CC_GROUP_ID NOWAIT;
342 	Recinfo C%ROWTYPE;
343 
344  BEGIN
345 
346   SAVEPOINT Lock_Row_Pvt ;
347 
348   IF NOT FND_API.Compatible_API_Call ( l_api_version,
349                                        p_api_version,
350                                        l_api_name,
351                                        G_PKG_NAME )
352   THEN
353     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
354   END IF;
355 
356 
357   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
358     FND_MSG_PUB.initialize ;
359   END IF;
360 
361   p_return_status := FND_API.G_RET_STS_SUCCESS ;
362   p_row_locked    := FND_API.G_TRUE ;
363 
364   OPEN C;
365   FETCH C INTO Recinfo;
366    IF (C%NOTFOUND) THEN
367    CLOSE C;
368    fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
369    APP_EXCEPTION.Raise_Exception;
370    END IF;
371   CLOSE C;
372   IF (
373 	(recinfo.CC_GROUP_ID = P_CC_GROUP_ID)
374 	AND (recinfo.USER_ID = P_USER_ID)
375 
376         AND ((recinfo.CONTEXT = P_CONTEXT)
377                 OR ((recinfo.CONTEXT IS NULL)
378 		     AND (P_CONTEXT IS NULL)))
379 	AND ((recinfo.ATTRIBUTE1 = P_ATTRIBUTE1)
380 		OR ((recinfo.ATTRIBUTE1 IS NULL)
381 		     AND (P_ATTRIBUTE1 IS NULL)))
382 	AND ((recinfo.ATTRIBUTE2 = P_ATTRIBUTE2)
383 		OR ((recinfo.ATTRIBUTE2 IS NULL)
384 		     AND (P_ATTRIBUTE2 IS NULL)))
385 	AND ((recinfo.ATTRIBUTE3 = P_ATTRIBUTE3)
386 		OR ((recinfo.ATTRIBUTE3 IS NULL)
387 		     AND (P_ATTRIBUTE3 IS NULL)))
388 	AND ((recinfo.ATTRIBUTE4 = P_ATTRIBUTE4)
389 		OR ((recinfo.ATTRIBUTE4 IS NULL)
390 		     AND (P_ATTRIBUTE4 IS NULL)))
391 	AND ((recinfo.ATTRIBUTE5 = P_ATTRIBUTE5)
392 		OR ((recinfo.ATTRIBUTE5 IS NULL)
393 		     AND (P_ATTRIBUTE5 IS NULL)))
394 	AND ((recinfo.ATTRIBUTE6 = P_ATTRIBUTE6)
395 		OR ((recinfo.ATTRIBUTE6 IS NULL)
396 		     AND (P_ATTRIBUTE6 IS NULL)))
397 	AND ((recinfo.ATTRIBUTE7 = P_ATTRIBUTE7)
398 		OR ((recinfo.ATTRIBUTE7 IS NULL)
399 		     AND (P_ATTRIBUTE7 IS NULL)))
400 	AND ((recinfo.ATTRIBUTE8 = P_ATTRIBUTE8)
401 		OR ((recinfo.ATTRIBUTE8 IS NULL)
402 		     AND (P_ATTRIBUTE8 IS NULL)))
403 	AND ((recinfo.ATTRIBUTE9 = P_ATTRIBUTE9)
404 		OR ((recinfo.ATTRIBUTE9 IS NULL)
405 		     AND (P_ATTRIBUTE9 IS NULL)))
406 	AND ((recinfo.ATTRIBUTE10 = P_ATTRIBUTE10)
407 		OR ((recinfo.ATTRIBUTE10 IS NULL)
408 		     AND (P_ATTRIBUTE10 IS NULL)))
409 	AND ((recinfo.ATTRIBUTE11 = P_ATTRIBUTE11)
410 		OR ((recinfo.ATTRIBUTE11 IS NULL)
411 		     AND (P_ATTRIBUTE11 IS NULL)))
412 	AND ((recinfo.ATTRIBUTE12 = P_ATTRIBUTE12)
413 		OR ((recinfo.ATTRIBUTE12 IS NULL)
414 		     AND (P_ATTRIBUTE12 IS NULL)))
415 	AND ((recinfo.ATTRIBUTE13 = P_ATTRIBUTE13)
416 		OR ((recinfo.ATTRIBUTE13 IS NULL)
417 		     AND (P_ATTRIBUTE13 IS NULL)))
418 	AND ((recinfo.ATTRIBUTE14 = P_ATTRIBUTE14)
419 		OR ((recinfo.ATTRIBUTE14 IS NULL)
420 		     AND (P_ATTRIBUTE14 IS NULL)))
421 	AND ((recinfo.ATTRIBUTE15 = P_ATTRIBUTE15)
422 		OR ((recinfo.ATTRIBUTE15 IS NULL)
423 		     AND (P_ATTRIBUTE15 IS NULL)))
424 	) THEN
425 	RETURN;
426    ELSE
427 	fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
428     	FND_MSG_PUB.Add;
429     	RAISE FND_API.G_EXC_ERROR ;
430 
434   IF FND_API.To_Boolean ( p_commit ) THEN
431 --	APP_EXCEPTION.RAISE_EXCEPTION;
432    END IF;
433 
435     COMMIT WORK;
436   END iF;
437 
438   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
439                               p_data  => p_msg_data );
440 
441 EXCEPTION
442 
443   WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
444 
445     ROLLBACK TO Lock_Row_Pvt ;
446     p_row_locked := FND_API.G_FALSE;
447     p_return_status := FND_API.G_RET_STS_ERROR;
448     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
449                                 p_data  => p_msg_data );
450 
451   WHEN FND_API.G_EXC_ERROR THEN
452 
453     ROLLBACK TO Lock_Row_Pvt ;
454     p_return_status := FND_API.G_RET_STS_ERROR;
455     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
456                                 p_data  => p_msg_data );
457 
458   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459 
460     ROLLBACK TO Lock_Row_Pvt ;
461     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
462     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
463                                 p_data  => p_msg_data );
464 
465   WHEN OTHERS THEN
466 
467     ROLLBACK TO Lock_Row_Pvt ;
468     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
469 
470     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
471       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
472                                 l_api_name);
473     END if;
474 
475     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
476                                 p_data  => p_msg_data );
477 
478  END Lock_Row;
479 
480 
481 
482 PROCEDURE Delete_Row(
483   		p_api_version               IN       NUMBER,
484   		p_init_msg_list             IN       VARCHAR2 := FND_API.G_FALSE,
485   		p_commit                    IN       VARCHAR2 := FND_API.G_FALSE,
486   		p_validation_level          IN       NUMBER   := FND_API.G_VALID_LEVEL_FULL,
487   		p_return_status             OUT NOCOPY      VARCHAR2,
488   		p_msg_count                 OUT NOCOPY      NUMBER,
489   		p_msg_data                  OUT NOCOPY      VARCHAR2,
490 
491 		P_ROWID VARCHAR2 ) IS
492   l_api_name                CONSTANT VARCHAR2(30)   := 'Delete_Row';
493   l_api_version             CONSTANT NUMBER         :=  1.0;
494 
495   l_return_status           VARCHAR2(1) ;
496   l_msg_count               NUMBER ;
497   l_msg_data                VARCHAR2(2000) ;
498 
499  x_cc_group_id NUMBER;
500  x_user_id NUMBER;
501 BEGIN
502 
503   SAVEPOINT Delete_Row_Pvt ;
504 
505   IF NOT FND_API.Compatible_API_Call ( l_api_version,
506                                        p_api_version,
507                                        l_api_name,
508                                        G_PKG_NAME )
509   THEN
510     RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
511   END IF;
512 
513 
514   IF FND_API.to_Boolean ( p_init_msg_list ) THEN
515     FND_MSG_PUB.initialize ;
516   END IF ;
517 
518   p_return_status := FND_API.G_RET_STS_SUCCESS ;
519 
520    BEGIN
521      SELECT cc_group_id, user_id
522      INTO  x_cc_group_id, x_user_id
523      FROM IGC_CC_GROUP_USERS
524      WHERE rowid = P_rowid;
525 
526   EXCEPTION
527     WHEN NO_DATA_FOUND THEN
528       	RAISE;
529    END;
530 
531 
532 /* Delete IGC_CC_GROUP_USERS - Detail Record */
533      DELETE FROM IGC_CC_GROUP_USERS
534      WHERE cc_group_id  = x_cc_group_id
535     and user_id = x_user_id;
536 
537      IF (SQL%NOTFOUND) THEN
538      RAISE NO_DATA_FOUND;
539      END IF;
540 
541   IF FND_API.To_Boolean ( p_commit ) THEN
542     COMMIT WORK;
543   END iF;
544 
545   FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
546                               p_data  => p_msg_data );
547 
548 EXCEPTION
549 
550   WHEN FND_API.G_EXC_ERROR THEN
551 
552     ROLLBACK TO Delete_Row_Pvt ;
553     p_return_status := FND_API.G_RET_STS_ERROR;
554     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
555                                 p_data  => p_msg_data );
556 
557   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
558 
559     ROLLBACK TO Delete_Row_Pvt ;
560     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
561     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
562                                 p_data  => p_msg_data );
563 
564   WHEN OTHERS THEN
565 
566     ROLLBACK TO Delete_Row_Pvt ;
567     p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
568 
569     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
570       FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
571                                 l_api_name);
572     END if;
573 
574     FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
575                                 p_data  => p_msg_data );
576 
577 END DELETE_ROW;
578 
579 END IGC_CC_SEC_GROUP_USERS_PKG;