DBA Data[Home] [Help]

PACKAGE BODY: APPS.GR_EXPOSURE_AUTHS_B_PKG

Source


1 PACKAGE BODY GR_EXPOSURE_AUTHS_B_PKG AS
2 /*$Header: GRHIEAB.pls 115.8 2002/10/29 20:41:55 mgrosser ship $*/
3 PROCEDURE Insert_Row
4 	   			 (p_commit IN VARCHAR2,
5 				  p_called_by_form IN VARCHAR2,
6 				  p_exposure_authority_code IN VARCHAR2,
7 				  p_created_by IN NUMBER,
8 				  p_creation_date IN DATE,
9 				  p_last_updated_by IN NUMBER,
10 				  p_last_update_date IN DATE,
11 				  p_last_update_login IN NUMBER,
12 				  x_rowid OUT NOCOPY VARCHAR2,
13 				  x_return_status OUT NOCOPY VARCHAR2,
14 				  x_oracle_error OUT NOCOPY NUMBER,
15 				  x_msg_data OUT NOCOPY VARCHAR2)
16 	IS
17 
18 /*   Alpha Variables */
19 
20 L_RETURN_STATUS VARCHAR2(1) := 'S';
21 L_KEY_EXISTS VARCHAR2(1);
22 L_MSG_DATA VARCHAR2(2000);
23 L_ROWID VARCHAR2(18);
24 
25 /*   Number Variables */
26 
27 L_ORACLE_ERROR	  NUMBER;
28 
29 /*   Exceptions */
30 
31 FOREIGN_KEY_ERROR EXCEPTION;
32 ITEM_EXISTS_ERROR EXCEPTION;
33 ROW_MISSING_ERROR EXCEPTION;
34 
35 /* Declare cursors */
36 
37 
38 BEGIN
39 /*     Initialization Routine */
40 
41    SAVEPOINT Insert_Row;
42    x_return_status := 'S';
43    x_oracle_error := 0;
44    x_msg_data := NULL;
45 
46 /*	  Now call the check foreign key procedure */
47 
48    Check_Foreign_Keys
49 	   (p_exposure_authority_code,
50 	  	l_return_status,
51 		l_oracle_error,
52 		l_msg_data);
53 
54    IF l_return_status <> 'S' THEN
55       RAISE Foreign_Key_Error;
56    END IF;
57 
58 /* 	   Now check the primary key doesn't already exist */
59 
60    Check_Primary_Key
61     	 (p_exposure_authority_code,
62 		  'F',
63 		  l_rowid,
64 		  l_key_exists);
65 
66    IF FND_API.To_Boolean(l_key_exists) THEN
67    	  RAISE Item_Exists_Error;
68    END IF;
69 
70    INSERT INTO gr_exposure_auths_b
71   	     (exposure_authority_code,
72 	      created_by,
73 	      creation_date,
74 	      last_updated_by,
75 	      last_update_date,
76 	      last_update_login)
77           VALUES
78 	     (p_exposure_authority_code,
79 		  p_created_by,
80 		  p_creation_date,
81 		  p_last_updated_by,
82 		  p_last_update_date,
83 		  p_last_update_login);
84 
85 /*   Now get the row id of the inserted record */
86 
87    Check_Primary_Key
88    		 (p_exposure_authority_code,
89 		  'F',
90 		  l_rowid,
91 		  l_key_exists);
92 
93    IF FND_API.To_Boolean(l_key_exists) THEN
94       x_rowid := l_rowid;
95    ELSE
96       RAISE Row_Missing_Error;
97    END IF;
98 
99 /*   Check the commit flag and if set, then commit the work. */
100 
101    IF FND_API.To_Boolean(p_commit) THEN
102       COMMIT WORK;
103    END IF;
104 
105 EXCEPTION
106 
107    WHEN Foreign_Key_Error THEN
108       ROLLBACK TO SAVEPOINT Insert_Row;
109       x_return_status := l_return_status;
110       x_oracle_error := l_oracle_error;
111       FND_MESSAGE.SET_NAME('GR',
112                            'GR_FOREIGN_KEY_ERROR');
113       FND_MESSAGE.SET_TOKEN('TEXT',
114     		     		    l_msg_data,
115             			    FALSE);
116       IF FND_API.To_Boolean(p_called_by_form) THEN
117          APP_EXCEPTION.Raise_Exception;
118 	  ELSE
119          x_msg_data := FND_MESSAGE.Get;
120       END IF;
121 
122    WHEN Item_Exists_Error THEN
123       ROLLBACK TO SAVEPOINT Insert_Row;
124       x_return_status := 'E';
125       x_oracle_error := APP_EXCEPTION.Get_Code;
126       FND_MESSAGE.SET_NAME('GR',
127                            'GR_RECORD_EXISTS');
128       FND_MESSAGE.SET_TOKEN('CODE',
129          				    p_exposure_authority_code,
130             		    	FALSE);
131       IF FND_API.To_Boolean(p_called_by_form) THEN
132          APP_EXCEPTION.Raise_Exception;
133       ELSE
134          x_msg_data := FND_MESSAGE.Get;
135       END IF;
136 
137    WHEN Row_Missing_Error THEN
138       ROLLBACK TO SAVEPOINT Insert_Row;
139       x_return_status := 'E';
140       x_oracle_error := APP_EXCEPTION.Get_Code;
141       FND_MESSAGE.SET_NAME('GR',
142                            'GR_NO_RECORD_INSERTED');
143       FND_MESSAGE.SET_TOKEN('CODE',
144          		    		p_exposure_authority_code,
145             		    	FALSE);
146       x_msg_data := FND_MESSAGE.Get;
147       IF FND_API.To_Boolean(p_called_by_form) THEN
148 	 	 APP_EXCEPTION.Raise_Exception;
149       ELSE
150          x_msg_data := FND_MESSAGE.Get;
151 	  END IF;
152 
153    WHEN OTHERS THEN
154       ROLLBACK TO SAVEPOINT Insert_Row;
155       x_return_status := 'U';
156       x_oracle_error := APP_EXCEPTION.Get_Code;
157       l_msg_data := APP_EXCEPTION.Get_Text;
158 	  FND_MESSAGE.SET_NAME('GR',
159 	                       'GR_UNEXPECTED_ERROR');
160 	  FND_MESSAGE.SET_TOKEN('TEXT',
161 	                        l_msg_data,
162 	                        FALSE);
163       IF FND_API.To_Boolean(p_called_by_form) THEN
164 	     APP_EXCEPTION.Raise_Exception;
165 	  ELSE
166          x_msg_data := FND_MESSAGE.Get;
167 	  END IF;
168 
169 END Insert_Row;
170 
171 PROCEDURE Update_Row
172 	   			 (p_commit IN VARCHAR2,
173 				  p_called_by_form IN VARCHAR2,
174 				  p_rowid IN VARCHAR2,
175 				  p_exposure_authority_code IN VARCHAR2,
176 				  p_created_by IN NUMBER,
177 				  p_creation_date IN DATE,
178 				  p_last_updated_by IN NUMBER,
179 				  p_last_update_date IN DATE,
180 				  p_last_update_login IN NUMBER,
181 				  x_return_status OUT NOCOPY VARCHAR2,
182 				  x_oracle_error OUT NOCOPY NUMBER,
183 				  x_msg_data OUT NOCOPY VARCHAR2)
184  IS
185 
186 /*   Alpha Variables */
187 
188 L_RETURN_STATUS	  VARCHAR2(1) := 'S';
189 L_MSG_DATA		  VARCHAR2(2000);
190 
191 /*   Number Variables */
192 
193 L_ORACLE_ERROR	  NUMBER;
194 
195 /*   Exceptions */
196 
197 FOREIGN_KEY_ERROR EXCEPTION;
198 ROW_MISSING_ERROR EXCEPTION;
199 
200 BEGIN
201 
202 /*       Initialization Routine */
203 
204    SAVEPOINT Update_Row;
205    x_return_status := 'S';
206    x_oracle_error := 0;
207    x_msg_data := NULL;
208 
209 /*	  Now call the check foreign key procedure */
210 
211    Check_Foreign_Keys
212 	   (p_exposure_authority_code,
213 		l_return_status,
214 		l_oracle_error,
215 		l_msg_data);
216 
217    IF l_return_status <> 'S' THEN
218       RAISE Foreign_Key_Error;
219    ELSE
220       UPDATE	gr_exposure_auths_b
221 	  SET		exposure_authority_code	= p_exposure_authority_code,
222 				created_by				= p_created_by,
223 				creation_date			= p_creation_date,
224 				last_updated_by			= p_last_updated_by,
225 				last_update_date		= p_last_update_date,
226 				last_update_login		= p_last_update_login
227 	  WHERE		rowid = p_rowid;
228 
229       IF SQL%NOTFOUND THEN
230 	     RAISE Row_Missing_Error;
231 	  END IF;
232    END IF;
233 
234 /* 	Check if do the commit */
235 
236    IF FND_API.To_Boolean(p_commit) THEN
237       COMMIT WORK;
238    END IF;
239 
240 EXCEPTION
241 
242    WHEN Foreign_Key_Error THEN
243       ROLLBACK TO SAVEPOINT Update_Row;
244       x_return_status := l_return_status;
245       x_oracle_error := l_oracle_error;
246       FND_MESSAGE.SET_NAME('GR',
247                            'GR_FOREIGN_KEY_ERROR');
248       FND_MESSAGE.SET_TOKEN('TEXT',
249     		     		    l_msg_data,
250             			    FALSE);
251       IF FND_API.To_Boolean(p_called_by_form) THEN
252          APP_EXCEPTION.Raise_Exception;
253 	  ELSE
254          x_msg_data := FND_MESSAGE.Get;
255 	  END IF;
256 
257    WHEN Row_Missing_Error THEN
258       ROLLBACK TO SAVEPOINT Update_Row;
259       x_return_status := 'E';
260       x_oracle_error := APP_EXCEPTION.Get_Code;
261       FND_MESSAGE.SET_NAME('GR',
262                            'GR_NO_RECORD_INSERTED');
263       FND_MESSAGE.SET_TOKEN('CODE',
264          		    		p_exposure_authority_code,
265             		    	FALSE);
266       IF FND_API.To_Boolean(p_called_by_form) THEN
267 	 	 APP_EXCEPTION.Raise_Exception;
268 	  ELSE
269          x_msg_data := FND_MESSAGE.Get;
270       END IF;
271 
272    WHEN OTHERS THEN
273       ROLLBACK TO SAVEPOINT Update_Row;
274       x_return_status := 'U';
275       x_oracle_error := APP_EXCEPTION.Get_Code;
276       l_msg_data := APP_EXCEPTION.Get_Text;
277 	  FND_MESSAGE.SET_NAME('GR',
278 	                       'GR_UNEXPECTED_ERROR');
279 	  FND_MESSAGE.SET_TOKEN('TEXT',
280 	                        l_msg_data,
281 	                        FALSE);
282       IF FND_API.To_Boolean(p_called_by_form) THEN
283 	     APP_EXCEPTION.Raise_Exception;
284 	  ELSE
285          x_msg_data := FND_MESSAGE.Get;
286 	  END IF;
287 
288 END Update_Row;
289 
290 PROCEDURE Lock_Row
291 	   			 (p_commit IN VARCHAR2,
292 				  p_called_by_form IN VARCHAR2,
293 				  p_rowid IN VARCHAR2,
294 				  p_exposure_authority_code IN VARCHAR2,
295 				  p_created_by IN NUMBER,
296 				  p_creation_date IN DATE,
297 				  p_last_updated_by IN NUMBER,
298 				  p_last_update_date IN DATE,
299 				  p_last_update_login IN NUMBER,
300 				  x_return_status OUT NOCOPY VARCHAR2,
301 				  x_oracle_error OUT NOCOPY NUMBER,
302 				  x_msg_data OUT NOCOPY VARCHAR2)
303  IS
304 
305 /*  Alpha Variables */
306 
307 L_RETURN_STATUS	  VARCHAR2(1) := 'S';
308 L_MSG_DATA		  VARCHAR2(2000);
309 
310 /*  Number Variables */
311 
312 L_ORACLE_ERROR	  NUMBER;
313 
314 /*   Exceptions */
315 
316 NO_DATA_FOUND_ERROR 		EXCEPTION;
317 RECORD_CHANGED_ERROR	 	EXCEPTION;
318 
319 
320 /*   Define the cursors */
321 
322 CURSOR c_lock_exposure_auth
323  IS
324    SELECT	last_update_date
325    FROM		gr_exposure_auths_b
326    WHERE	rowid = p_rowid
327    FOR UPDATE NOWAIT;
328 LockExposureRcd	  c_lock_exposure_auth%ROWTYPE;
329 BEGIN
330 
331 /*      Initialization Routine */
332 
333    SAVEPOINT Lock_Row;
334    x_return_status := 'S';
335    x_oracle_error := 0;
336    x_msg_data := NULL;
337 
338 /*	   Now lock the record */
339 
340    OPEN c_lock_exposure_auth;
341    FETCH c_lock_exposure_auth INTO LockExposureRcd;
342    IF c_lock_exposure_auth%NOTFOUND THEN
343 	  CLOSE c_lock_exposure_auth;
344 	  RAISE No_Data_Found_Error;
345    END IF;
346    CLOSE c_lock_exposure_auth;
347 
348    IF LockExposureRcd.last_update_date <> p_last_update_date THEN
349      RAISE RECORD_CHANGED_ERROR;
350    END IF;
351 
352    IF FND_API.To_Boolean(p_commit) THEN
353       COMMIT WORK;
354    END IF;
355 
356 EXCEPTION
357 
358    WHEN No_Data_Found_Error THEN
359       ROLLBACK TO SAVEPOINT Lock_Row;
360 	  x_return_status := 'E';
361 	  FND_MESSAGE.SET_NAME('GR',
362 	                       'GR_RECORD_NOT_FOUND');
363 	  FND_MESSAGE.SET_TOKEN('CODE',
364 	                        p_exposure_authority_code,
365 							FALSE);
366       IF FND_API.To_Boolean(p_called_by_form) THEN
367 	     APP_EXCEPTION.Raise_Exception;
368 	  ELSE
369          x_msg_data := FND_MESSAGE.Get;
370 	  END IF;
371    WHEN RECORD_CHANGED_ERROR THEN
372      ROLLBACK TO SAVEPOINT Lock_Row;
373      X_return_status := 'E';
374      FND_MESSAGE.SET_NAME('FND',
375 	                  'FORM_RECORD_CHANGED');
376      IF FND_API.To_Boolean(p_called_by_form) THEN
377        APP_EXCEPTION.Raise_Exception;
378      ELSE
379        x_msg_data := FND_MESSAGE.Get;
380      END IF;
381    WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
382       ROLLBACK TO SAVEPOINT Lock_Row;
383 	  x_return_status := 'L';
384 	  x_oracle_error := APP_EXCEPTION.Get_Code;
385           IF NOT (FND_API.To_Boolean(p_called_by_form)) THEN
386             FND_MESSAGE.SET_NAME('GR',
387 	                       'GR_ROW_IS_LOCKED');
388             x_msg_data := FND_MESSAGE.Get;
389           END IF;
390    WHEN OTHERS THEN
391       ROLLBACK TO SAVEPOINT Lock_Row;
392 	  x_return_status := 'U';
393 	  x_oracle_error := APP_EXCEPTION.Get_Code;
394 	  l_msg_data := APP_EXCEPTION.Get_Text;
395 	  FND_MESSAGE.SET_NAME('GR',
396 	                       'GR_UNEXPECTED_ERROR');
397 	  FND_MESSAGE.SET_TOKEN('TEXT',
398 	                        l_msg_data,
399 	                        FALSE);
400       IF FND_API.To_Boolean(p_called_by_form) THEN
401 	     APP_EXCEPTION.Raise_Exception;
402 	  ELSE
403          x_msg_data := FND_MESSAGE.Get;
404 	  END IF;
405 
406 END Lock_Row;
407 
408 PROCEDURE Delete_Row
409 	   			 (p_commit IN VARCHAR2,
410 				  p_called_by_form IN VARCHAR2,
411 				  p_rowid IN VARCHAR2,
412 				  p_exposure_authority_code IN VARCHAR2,
413 				  p_created_by IN NUMBER,
414 				  p_creation_date IN DATE,
415 				  p_last_updated_by IN NUMBER,
416 				  p_last_update_date IN DATE,
417 				  p_last_update_login IN NUMBER,
418 				  x_return_status OUT NOCOPY VARCHAR2,
419 				  x_oracle_error OUT NOCOPY NUMBER,
420 				  x_msg_data OUT NOCOPY VARCHAR2)
421  IS
422 /*   Alpha Variables */
423 
424 L_RETURN_STATUS	  VARCHAR2(1) := 'S';
425 L_MSG_DATA		  VARCHAR2(2000);
426 
427 /*   Number Variables */
428 
429 L_ORACLE_ERROR	  NUMBER;
430 
431 /*   Exceptions */
432 
433 CHECK_INTEGRITY_ERROR EXCEPTION;
434 ROW_MISSING_ERROR	  EXCEPTION;
435 PRAGMA EXCEPTION_INIT(Row_Missing_Error,100);
436 
437 BEGIN
438 
439 /*   Initialization Routine */
440 
441    SAVEPOINT Delete_Row;
442    x_return_status := 'S';
443    x_oracle_error := 0;
444    x_msg_data := NULL;
445 
446 /*  Now call the check integrity procedure */
447 
448    Check_Integrity
449 			     (p_called_by_form,
450 			      p_exposure_authority_code,
451 				  l_return_status,
452 				  l_oracle_error,
453 				  l_msg_data);
454 
455    IF l_return_status <> 'S' THEN
456       RAISE Check_Integrity_Error;
457    END IF;
458 
459    DELETE FROM gr_exposure_auths_b
460    WHERE  	   rowid = p_rowid;
461 
462 /*   Check the commit flag and if set, then commit the work. */
463 
464    IF FND_API.TO_Boolean(p_commit) THEN
465       COMMIT WORK;
466    END IF;
467 
468 EXCEPTION
469 
470    WHEN Check_Integrity_Error THEN
471       ROLLBACK TO SAVEPOINT Delete_Row;
472 	  x_return_status := l_return_status;
473 	  x_oracle_error := l_oracle_error;
474       IF FND_API.To_Boolean(p_called_by_form) THEN
475 	     APP_EXCEPTION.Raise_Exception;
476 	  ELSE
477          x_msg_data := FND_MESSAGE.Get;
478 	  END IF;
479 
480    WHEN Row_Missing_Error THEN
481       ROLLBACK TO SAVEPOINT Delete_Row;
482 	  x_return_status := 'E';
483 	  x_oracle_error := APP_EXCEPTION.Get_Code;
484       FND_MESSAGE.SET_NAME('GR',
485                            'GR_RECORD_NOT_FOUND');
486       FND_MESSAGE.SET_TOKEN('CODE',
487          		            p_exposure_authority_code,
488             			    FALSE);
492          x_msg_data := FND_MESSAGE.Get;
489       IF FND_API.To_Boolean(p_called_by_form) THEN
490 	     APP_EXCEPTION.Raise_Exception;
491 	  ELSE
493 	  END IF;
494 
495    WHEN OTHERS THEN
496       ROLLBACK TO SAVEPOINT Delete_Row;
497 	  x_return_status := 'U';
498 	  x_oracle_error := APP_EXCEPTION.Get_Code;
499 	  l_msg_data := APP_EXCEPTION.Get_Text;
500 	  FND_MESSAGE.SET_NAME('GR',
501 	                       'GR_UNEXPECTED_ERROR');
502 	  FND_MESSAGE.SET_TOKEN('TEXT',
503 	                        l_msg_data,
504 	                        FALSE);
505       IF FND_API.To_Boolean(p_called_by_form) THEN
506 	     APP_EXCEPTION.Raise_Exception;
507 	  ELSE
508          x_msg_data := FND_MESSAGE.Get;
509 	  END IF;
510 
511 END Delete_Row;
512 
513 PROCEDURE Check_Foreign_Keys
514 	   			 (p_exposure_authority_code IN VARCHAR2,
515 				  x_return_status OUT NOCOPY VARCHAR2,
516 				  x_oracle_error OUT NOCOPY NUMBER,
517 				  x_msg_data OUT NOCOPY VARCHAR2)
518    IS
519 
520 /*   Alpha Variables */
521 
522 L_RETURN_STATUS	  VARCHAR2(1) := 'S';
523 L_MSG_DATA		  VARCHAR2(2000);
524 L_ROWID			  VARCHAR2(18);
525 L_KEY_EXISTS	  VARCHAR2(1);
526 
527 /*   Number Variables */
528 
529 L_ORACLE_ERROR	  NUMBER;
530 
531 BEGIN
532 
533 /*   Initialization Routine */
534 
535    SAVEPOINT Check_Foreign_Keys;
536    x_return_status := 'S';
537    x_oracle_error := 0;
538    x_msg_data := NULL;
539 
540 /*   No foreign keys need to be checked */
541 
542 EXCEPTION
543 
544    WHEN OTHERS THEN
545       ROLLBACK TO SAVEPOINT Check_Foreign_Keys;
546 	  x_return_status := 'U';
547 	  x_oracle_error := APP_EXCEPTION.Get_Code;
548 	  l_msg_data := APP_EXCEPTION.Get_Text;
549 	  FND_MESSAGE.SET_NAME('GR',
550 	                       'GR_UNEXPECTED_ERROR');
551 	  FND_MESSAGE.SET_TOKEN('TEXT',
552 	                        l_msg_data,
556 END Check_Foreign_Keys;
553 	                        FALSE);
554 	  x_msg_data := FND_MESSAGE.Get;
555 
557 
558 PROCEDURE Check_Integrity
559 	   			 (p_called_by_form IN VARCHAR2,
560 	   			  p_exposure_authority_code IN VARCHAR2,
561 				  x_return_status OUT NOCOPY VARCHAR2,
562 				  x_oracle_error OUT NOCOPY NUMBER,
563 				  x_msg_data OUT NOCOPY VARCHAR2)
564  IS
565 
566 /*   Alpha Variables */
567 
568 L_RETURN_STATUS	  VARCHAR2(1) := 'S';
569 L_MSG_DATA		  VARCHAR2(2000);
570 
571 /*   Number Variables */
572 
573 L_ORACLE_ERROR	  NUMBER;
574 L_RECORD_COUNT	  NUMBER;
575 
576 /*   Exceptions */
577 INTEGRITY_ERROR		EXCEPTION;
578 /*   Define Cursors */
579 
580 CURSOR c_get_item_exposure
581  IS
582    SELECT	COUNT(*)
583    FROM     gr_item_exposure
584    WHERE	exposure_authority_code = p_exposure_authority_code;
585 ExposureRecord		c_get_item_exposure%ROWTYPE;
586 
587 BEGIN
588 /*
589 **   Initialization Routine
590 */
591    SAVEPOINT Check_Integrity;
592    x_return_status := 'S';
593    x_oracle_error := 0;
594    x_msg_data := NULL;
595    l_record_count := 0;
596 
597    OPEN c_get_item_exposure;
598    FETCH c_get_item_exposure INTO l_record_count;
599    CLOSE c_get_item_exposure;
600 
601    IF l_record_count <> 0 THEN
602       l_return_status := 'E';
603       l_msg_data := l_msg_data || ' gr_item_exposure';
604    END IF;
605 /*
606 **	 Now sort out the error messaging
607 */
608    IF l_return_status <> 'S' THEN
609      RAISE INTEGRITY_ERROR;
610    END IF;
611 
612 EXCEPTION
613 
614    WHEN INTEGRITY_ERROR THEN
615       x_return_status := 'E';
616       FND_MESSAGE.SET_NAME('GR',
617                            'GR_INTEGRITY_HEADER');
618       FND_MESSAGE.SET_TOKEN('CODE',
619 	                    p_exposure_authority_code,
620 	                    FALSE);
621       FND_MESSAGE.SET_TOKEN('TABLES',
622 	                    l_msg_data,
623 	                    FALSE);
624       IF FND_API.To_Boolean(p_called_by_form) THEN
625          APP_EXCEPTION.Raise_Exception;
626       ELSE
627         x_msg_data := FND_MESSAGE.Get;
628       END IF;
629    WHEN OTHERS THEN
630       ROLLBACK TO SAVEPOINT Check_Integrity;
631       x_return_status := 'U';
632       x_oracle_error := APP_EXCEPTION.Get_Code;
633       l_msg_data := APP_EXCEPTION.Get_Text;
634       FND_MESSAGE.SET_NAME('GR',
635                           'GR_UNEXPECTED_ERROR');
636       FND_MESSAGE.SET_TOKEN('TEXT',
637                             l_msg_data,
638                             FALSE);
639       IF FND_API.To_Boolean(p_called_by_form) THEN
640         APP_EXCEPTION.Raise_Exception;
641       ELSE
642         x_msg_data := FND_MESSAGE.Get;
643       END IF;
644 
645 END Check_Integrity;
646 
647 PROCEDURE Check_Primary_Key
648 			 (p_exposure_authority_code IN VARCHAR2,
649 			  p_called_by_form IN VARCHAR2,
650 			  x_rowid OUT NOCOPY VARCHAR2,
651 			  x_key_exists OUT NOCOPY VARCHAR2)
652  IS
653 /*		Declare any variables and the cursor */
654 
655 L_MSG_DATA VARCHAR2(2000);
656 
657 CURSOR c_get_expo_auth_rowid
658  IS
659    SELECT ea.rowid
660    FROM	  gr_exposure_auths_b ea
661    WHERE  ea.exposure_authority_code = p_exposure_authority_code;
662 ExposureAuthRecord			   c_get_expo_auth_rowid%ROWTYPE;
663 
664 BEGIN
665 
666    x_key_exists := 'F';
667    OPEN c_get_expo_auth_rowid;
668    FETCH c_get_expo_auth_rowid INTO ExposureAuthRecord;
669    IF c_get_expo_auth_rowid%FOUND THEN
670       x_key_exists := 'T';
671       x_rowid := ExposureAuthRecord.rowid;
672    ELSE
673       x_key_exists := 'F';
674    END IF;
675    CLOSE c_get_expo_auth_rowid;
676 
677 EXCEPTION
678 
679    WHEN Others THEN
680 	  l_msg_data := APP_EXCEPTION.Get_Text;
681 	  FND_MESSAGE.SET_NAME('GR',
682 	                       'GR_UNEXPECTED_ERROR');
683 	  FND_MESSAGE.SET_TOKEN('TEXT',
684 	                        l_msg_data,
685 	                        FALSE);
686       IF FND_API.To_Boolean(p_called_by_form) THEN
687 	     APP_EXCEPTION.Raise_Exception;
688 	  END IF;
689 
690 END Check_Primary_Key;
691 
692 END GR_EXPOSURE_AUTHS_B_PKG;