[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;