[Home] [Help]
PACKAGE BODY: APPS.GR_ITEM_EXPOSURE_PKG
Source
1 PACKAGE BODY GR_ITEM_EXPOSURE_PKG AS
2 /*$Header: GRHIIEB.pls 115.5 2002/10/25 20:43:35 methomas ship $*/
3 PROCEDURE Insert_Row
4 (p_commit IN VARCHAR2,
5 p_called_by_form IN VARCHAR2,
6 p_item_code IN VARCHAR2,
7 p_label_code IN VARCHAR2,
8 p_exposure_authority_code IN VARCHAR2,
9 p_exposure_type_code IN VARCHAR2,
10 p_exposure_uom IN VARCHAR2,
11 p_exposure_dose IN NUMBER,
12 p_exposure_time IN VARCHAR2,
13 p_exposure_note IN VARCHAR2,
14 p_attribute_category IN VARCHAR2,
15 p_attribute1 IN VARCHAR2,
16 p_attribute2 IN VARCHAR2,
17 p_attribute3 IN VARCHAR2,
18 p_attribute4 IN VARCHAR2,
19 p_attribute5 IN VARCHAR2,
20 p_attribute6 IN VARCHAR2,
21 p_attribute7 IN VARCHAR2,
22 p_attribute8 IN VARCHAR2,
23 p_attribute9 IN VARCHAR2,
24 p_attribute10 IN VARCHAR2,
25 p_attribute11 IN VARCHAR2,
26 p_attribute12 IN VARCHAR2,
27 p_attribute13 IN VARCHAR2,
28 p_attribute14 IN VARCHAR2,
29 p_attribute15 IN VARCHAR2,
30 p_attribute16 IN VARCHAR2,
31 p_attribute17 IN VARCHAR2,
32 p_attribute18 IN VARCHAR2,
33 p_attribute19 IN VARCHAR2,
34 p_attribute20 IN VARCHAR2,
35 p_attribute21 IN VARCHAR2,
36 p_attribute22 IN VARCHAR2,
37 p_attribute23 IN VARCHAR2,
38 p_attribute24 IN VARCHAR2,
39 p_attribute25 IN VARCHAR2,
40 p_attribute26 IN VARCHAR2,
41 p_attribute27 IN VARCHAR2,
42 p_attribute28 IN VARCHAR2,
43 p_attribute29 IN VARCHAR2,
44 p_attribute30 IN VARCHAR2,
45 p_created_by IN NUMBER,
46 p_creation_date IN DATE,
47 p_last_updated_by IN NUMBER,
48 p_last_update_date IN DATE,
49 p_last_update_login IN NUMBER,
50 x_rowid OUT NOCOPY VARCHAR2,
51 x_return_status OUT NOCOPY VARCHAR2,
52 x_oracle_error OUT NOCOPY NUMBER,
53 x_msg_data OUT NOCOPY VARCHAR2)
54 IS
55 /* Alpha Variables */
56
57 L_RETURN_STATUS VARCHAR2(1) := 'S';
58 L_KEY_EXISTS VARCHAR2(1);
59 L_MSG_DATA VARCHAR2(2000);
60 L_ROWID VARCHAR2(18);
61 L_MSG_TOKEN VARCHAR2(100);
62
63 /* Number Variables */
64
65 L_ORACLE_ERROR NUMBER;
66 /* Exceptions */
67
68 FOREIGN_KEY_ERROR EXCEPTION;
69 ITEM_EXISTS_ERROR EXCEPTION;
70 ROW_MISSING_ERROR EXCEPTION;
71
72 /* Declare cursors */
73
74
75 BEGIN
76
77 /* Initialization Routine */
78
79 SAVEPOINT Insert_Row;
80 x_return_status := 'S';
81 x_oracle_error := 0;
82 x_msg_data := NULL;
83 l_msg_token := p_item_code || ' ' || p_label_code || ' ';
84 l_msg_token := l_msg_token || p_exposure_authority_code || ' ';
85 l_msg_token := l_msg_token || p_exposure_type_code;
86
87 /* Now call the check foreign key procedure */
88
89 Check_Foreign_Keys
90 (p_item_code,
91 p_label_code,
92 p_exposure_authority_code,
93 p_exposure_type_code,
94 p_exposure_uom,
95 p_exposure_dose,
96 p_exposure_time,
97 p_exposure_note,
98 p_attribute_category,
99 p_attribute1,
100 p_attribute2,
101 p_attribute3,
102 p_attribute4,
103 p_attribute5,
104 p_attribute6,
105 p_attribute7,
106 p_attribute8,
107 p_attribute9,
108 p_attribute10,
109 p_attribute11,
110 p_attribute12,
111 p_attribute13,
112 p_attribute14,
113 p_attribute15,
114 p_attribute16,
115 p_attribute17,
116 p_attribute18,
117 p_attribute19,
118 p_attribute20,
119 p_attribute21,
120 p_attribute22,
121 p_attribute23,
122 p_attribute24,
123 p_attribute25,
124 p_attribute26,
125 p_attribute27,
126 p_attribute28,
127 p_attribute29,
128 p_attribute30,
129 l_return_status,
130 l_oracle_error,
131 l_msg_data);
132 IF l_return_status <> 'S' THEN
133 RAISE Foreign_Key_Error;
134 END IF;
135
136 /* Now check the primary key doesn't already exist */
137
138 Check_Primary_Key
139 (p_item_code,
140 p_label_code,
141 p_exposure_authority_code,
142 p_exposure_type_code,
143 'F',
144 l_rowid,
145 l_key_exists);
146
147 IF FND_API.To_Boolean(l_key_exists) THEN
148 RAISE Item_Exists_Error;
149 END IF;
150
151 INSERT INTO gr_item_exposure
152 (item_code,
153 label_code,
154 exposure_authority_code,
155 exposure_type_code,
156 exposure_uom,
157 exposure_dose,
158 exposure_time,
159 exposure_note,
160 attribute_category,
161 attribute1,
162 attribute2,
163 attribute3,
164 attribute4,
165 attribute5,
166 attribute6,
167 attribute7,
168 attribute8,
169 attribute9,
170 attribute10,
171 attribute11,
172 attribute12,
173 attribute13,
174 attribute14,
175 attribute15,
176 attribute16,
177 attribute17,
178 attribute18,
179 attribute19,
180 attribute20,
181 attribute21,
182 attribute22,
183 attribute23,
184 attribute24,
185 attribute25,
186 attribute26,
187 attribute27,
188 attribute28,
189 attribute29,
190 attribute30,
191 created_by,
192 creation_date,
193 last_updated_by,
194 last_update_date,
195 last_update_login)
196 VALUES
197 (p_item_code,
198 p_label_code,
199 p_exposure_authority_code,
200 p_exposure_type_code,
201 p_exposure_uom,
202 p_exposure_dose,
203 p_exposure_time,
204 p_exposure_note,
205 p_attribute_category,
206 p_attribute1,
207 p_attribute2,
208 p_attribute3,
209 p_attribute4,
210 p_attribute5,
211 p_attribute6,
212 p_attribute7,
213 p_attribute8,
214 p_attribute9,
215 p_attribute10,
216 p_attribute11,
217 p_attribute12,
218 p_attribute13,
219 p_attribute14,
220 p_attribute15,
221 p_attribute16,
222 p_attribute17,
223 p_attribute18,
224 p_attribute19,
225 p_attribute20,
226 p_attribute21,
227 p_attribute22,
228 p_attribute23,
229 p_attribute24,
230 p_attribute25,
231 p_attribute26,
232 p_attribute27,
233 p_attribute28,
234 p_attribute29,
235 p_attribute30,
236 p_created_by,
237 p_creation_date,
238 p_last_updated_by,
239 p_last_update_date,
240 p_last_update_login);
241
242 /* Now get the row id of the inserted record */
243
244 Check_Primary_Key
245 (p_item_code,
246 p_label_code,
247 p_exposure_authority_code,
248 p_exposure_type_code,
249 'F',
250 l_rowid,
251 l_key_exists);
252
253 IF FND_API.To_Boolean(l_key_exists) THEN
254 x_rowid := l_rowid;
255 ELSE
256 RAISE Row_Missing_Error;
257 END IF;
258
259 /* Check the commit flag and if set, then commit the work. */
260
261 IF FND_API.To_Boolean(p_commit) THEN
262 COMMIT WORK;
263 END IF;
264
265 EXCEPTION
266
267 WHEN Foreign_Key_Error THEN
268 ROLLBACK TO SAVEPOINT Insert_Row;
269 x_return_status := l_return_status;
270 x_oracle_error := l_oracle_error;
271 FND_MESSAGE.SET_NAME('GR',
272 'GR_FOREIGN_KEY_ERROR');
273 FND_MESSAGE.SET_TOKEN('TEXT',
274 l_msg_data,
275 FALSE);
276 IF FND_API.To_Boolean(p_called_by_form) THEN
277 APP_EXCEPTION.Raise_Exception;
278 ELSE
279 x_msg_data := FND_MESSAGE.Get;
280 END IF;
281
282 WHEN Item_Exists_Error THEN
283 ROLLBACK TO SAVEPOINT Insert_Row;
284 x_return_status := 'E';
285 x_oracle_error := APP_EXCEPTION.Get_Code;
286 FND_MESSAGE.SET_NAME('GR',
287 'GR_RECORD_EXISTS');
288 FND_MESSAGE.SET_TOKEN('CODE',
289 l_msg_token,
290 FALSE);
291 IF FND_API.To_Boolean(p_called_by_form) THEN
292 APP_EXCEPTION.Raise_Exception;
293 ELSE
294 x_msg_data := FND_MESSAGE.Get;
295 END IF;
296
297 WHEN Row_Missing_Error THEN
298 ROLLBACK TO SAVEPOINT Insert_Row;
299 x_return_status := 'E';
300 x_oracle_error := APP_EXCEPTION.Get_Code;
301 FND_MESSAGE.SET_NAME('GR',
302 'GR_NO_RECORD_INSERTED');
303 FND_MESSAGE.SET_TOKEN('CODE',
304 l_msg_token,
305 FALSE);
306 IF FND_API.To_Boolean(p_called_by_form) THEN
307 APP_EXCEPTION.Raise_Exception;
308 ELSE
309 x_msg_data := FND_MESSAGE.Get;
310 END IF;
311
312 WHEN OTHERS THEN
313 ROLLBACK TO SAVEPOINT Insert_Row;
314 x_return_status := 'U';
315 x_oracle_error := APP_EXCEPTION.Get_Code;
316 l_msg_data := APP_EXCEPTION.Get_Text;
317 FND_MESSAGE.SET_NAME('GR',
318 'GR_UNEXPECTED_ERROR');
319 FND_MESSAGE.SET_TOKEN('TEXT',
320 l_msg_token,
321 FALSE);
322 IF FND_API.To_Boolean(p_called_by_form) THEN
323 APP_EXCEPTION.Raise_Exception;
324 ELSE
325 x_msg_data := FND_MESSAGE.Get;
326 END IF;
327
328 END Insert_Row;
329
330 PROCEDURE Update_Row
331 (p_commit IN VARCHAR2,
332 p_called_by_form IN VARCHAR2,
333 p_rowid IN VARCHAR2,
334 p_item_code IN VARCHAR2,
335 p_label_code IN VARCHAR2,
336 p_exposure_authority_code IN VARCHAR2,
337 p_exposure_type_code IN VARCHAR2,
338 p_exposure_uom IN VARCHAR2,
339 p_exposure_dose IN NUMBER,
340 p_exposure_time IN VARCHAR2,
341 p_exposure_note IN VARCHAR2,
342 p_attribute_category IN VARCHAR2,
343 p_attribute1 IN VARCHAR2,
344 p_attribute2 IN VARCHAR2,
345 p_attribute3 IN VARCHAR2,
346 p_attribute4 IN VARCHAR2,
347 p_attribute5 IN VARCHAR2,
348 p_attribute6 IN VARCHAR2,
349 p_attribute7 IN VARCHAR2,
350 p_attribute8 IN VARCHAR2,
351 p_attribute9 IN VARCHAR2,
352 p_attribute10 IN VARCHAR2,
353 p_attribute11 IN VARCHAR2,
354 p_attribute12 IN VARCHAR2,
355 p_attribute13 IN VARCHAR2,
356 p_attribute14 IN VARCHAR2,
357 p_attribute15 IN VARCHAR2,
358 p_attribute16 IN VARCHAR2,
359 p_attribute17 IN VARCHAR2,
360 p_attribute18 IN VARCHAR2,
361 p_attribute19 IN VARCHAR2,
362 p_attribute20 IN VARCHAR2,
363 p_attribute21 IN VARCHAR2,
364 p_attribute22 IN VARCHAR2,
365 p_attribute23 IN VARCHAR2,
366 p_attribute24 IN VARCHAR2,
367 p_attribute25 IN VARCHAR2,
368 p_attribute26 IN VARCHAR2,
369 p_attribute27 IN VARCHAR2,
370 p_attribute28 IN VARCHAR2,
371 p_attribute29 IN VARCHAR2,
372 p_attribute30 IN VARCHAR2,
373 p_created_by IN NUMBER,
374 p_creation_date IN DATE,
375 p_last_updated_by IN NUMBER,
376 p_last_update_date IN DATE,
377 p_last_update_login IN NUMBER,
378 x_return_status OUT NOCOPY VARCHAR2,
379 x_oracle_error OUT NOCOPY NUMBER,
380 x_msg_data OUT NOCOPY VARCHAR2)
381 IS
382
383 /* Alpha Variables */
384
385 L_RETURN_STATUS VARCHAR2(1) := 'S';
386 L_MSG_DATA VARCHAR2(2000);
387 L_MSG_TOKEN VARCHAR2(100);
388
389 /* Number Variables */
390
391 L_ORACLE_ERROR NUMBER;
392
393 /* Exceptions */
394
395 FOREIGN_KEY_ERROR EXCEPTION;
396 ROW_MISSING_ERROR EXCEPTION;
397
398 BEGIN
399
400 /* Initialization Routine */
401
402 SAVEPOINT Update_Row;
403 x_return_status := 'S';
404 x_oracle_error := 0;
405 x_msg_data := NULL;
406 l_msg_token := p_item_code || ' ' || p_label_code || ' ';
407 l_msg_token := l_msg_token || p_exposure_authority_code || ' ';
408 l_msg_token := l_msg_token || p_exposure_type_code;
409
410 /* Now call the check foreign key procedure */
411
412 Check_Foreign_Keys
413 (p_item_code,
414 p_label_code,
415 p_exposure_authority_code,
416 p_exposure_type_code,
417 p_exposure_uom,
418 p_exposure_dose,
419 p_exposure_time,
420 p_exposure_note,
421 p_attribute_category,
422 p_attribute1,
423 p_attribute2,
424 p_attribute3,
425 p_attribute4,
426 p_attribute5,
427 p_attribute6,
428 p_attribute7,
429 p_attribute8,
430 p_attribute9,
431 p_attribute10,
432 p_attribute11,
433 p_attribute12,
434 p_attribute13,
435 p_attribute14,
436 p_attribute15,
437 p_attribute16,
438 p_attribute17,
439 p_attribute18,
440 p_attribute19,
441 p_attribute20,
442 p_attribute21,
443 p_attribute22,
444 p_attribute23,
445 p_attribute24,
446 p_attribute25,
447 p_attribute26,
448 p_attribute27,
449 p_attribute28,
450 p_attribute29,
451 p_attribute30,
452 l_return_status,
453 l_oracle_error,
454 l_msg_data);
455
456 IF l_return_status <> 'S' THEN
457 RAISE Foreign_Key_Error;
458 ELSE
459 UPDATE gr_item_exposure
460 SET item_code = p_item_code,
461 label_code = p_label_code,
462 exposure_authority_code = p_exposure_authority_code,
463 exposure_type_code = p_exposure_type_code,
464 exposure_uom = p_exposure_uom,
465 exposure_dose = p_exposure_dose,
466 exposure_time = p_exposure_time,
467 exposure_note = p_exposure_note,
468 attribute_category = p_attribute_category,
469 attribute1 = p_attribute1,
470 attribute2 = p_attribute2,
471 attribute3 = p_attribute3,
472 attribute4 = p_attribute4,
473 attribute5 = p_attribute5,
474 attribute6 = p_attribute6,
475 attribute7 = p_attribute7,
476 attribute8 = p_attribute8,
477 attribute9 = p_attribute9,
478 attribute10 = p_attribute10,
479 attribute11 = p_attribute11,
480 attribute12 = p_attribute12,
481 attribute13 = p_attribute13,
482 attribute14 = p_attribute14,
483 attribute15 = p_attribute15,
484 attribute16 = p_attribute16,
485 attribute17 = p_attribute17,
486 attribute18 = p_attribute18,
487 attribute19 = p_attribute19,
488 attribute20 = p_attribute20,
489 attribute21 = p_attribute21,
490 attribute22 = p_attribute22,
491 attribute23 = p_attribute23,
492 attribute24 = p_attribute24,
493 attribute25 = p_attribute25,
494 attribute26 = p_attribute26,
495 attribute27 = p_attribute27,
496 attribute28 = p_attribute28,
497 attribute29 = p_attribute29,
498 attribute30 = p_attribute30,
499 created_by = p_created_by,
500 creation_date = p_creation_date,
501 last_updated_by = p_last_updated_by,
502 last_update_date = p_last_update_date,
503 last_update_login = p_last_update_login
504 WHERE rowid = p_rowid;
505 IF SQL%NOTFOUND THEN
506 RAISE Row_Missing_Error;
507 END IF;
508 END IF;
509
510 /* Check the commit flag and if set, then commit the work. */
511
512 IF FND_API.To_Boolean(p_commit) THEN
513 COMMIT WORK;
514 END IF;
515
516 EXCEPTION
517
518 WHEN Foreign_Key_Error THEN
519 ROLLBACK TO SAVEPOINT Update_Row;
520 x_return_status := l_return_status;
521 x_oracle_error := l_oracle_error;
522 FND_MESSAGE.SET_NAME('GR',
523 'GR_FOREIGN_KEY_ERROR');
524 FND_MESSAGE.SET_TOKEN('TEXT',
525 l_msg_data,
526 FALSE);
527 IF FND_API.To_Boolean(p_called_by_form) THEN
528 APP_EXCEPTION.Raise_Exception;
529 ELSE
530 x_msg_data := FND_MESSAGE.Get;
531 END IF;
532
533 WHEN Row_Missing_Error THEN
534 ROLLBACK TO SAVEPOINT Update_Row;
535 x_return_status := 'E';
536 x_oracle_error := APP_EXCEPTION.Get_Code;
537 FND_MESSAGE.SET_NAME('GR',
538 'GR_NO_RECORD_INSERTED');
539 FND_MESSAGE.SET_TOKEN('CODE',
540 l_msg_token,
541 FALSE);
542 IF FND_API.To_Boolean(p_called_by_form) THEN
543 APP_EXCEPTION.Raise_Exception;
544 ELSE
545 x_msg_data := FND_MESSAGE.Get;
546 END IF;
547
548 WHEN OTHERS THEN
549 ROLLBACK TO SAVEPOINT Update_Row;
550 x_return_status := 'U';
551 x_oracle_error := APP_EXCEPTION.Get_Code;
552 l_msg_data := APP_EXCEPTION.Get_Text;
553 FND_MESSAGE.SET_NAME('GR',
554 'GR_UNEXPECTED_ERROR');
555 FND_MESSAGE.SET_TOKEN('TEXT',
556 l_msg_token,
557 FALSE);
558 IF FND_API.To_Boolean(p_called_by_form) THEN
559 APP_EXCEPTION.Raise_Exception;
560 ELSE
561 x_msg_data := FND_MESSAGE.Get;
562 END IF;
563
564 END Update_Row;
565
566 PROCEDURE Lock_Row
567 (p_commit IN VARCHAR2,
568 p_called_by_form IN VARCHAR2,
569 p_rowid IN VARCHAR2,
570 p_item_code IN VARCHAR2,
571 p_label_code IN VARCHAR2,
572 p_exposure_authority_code IN VARCHAR2,
573 p_exposure_type_code IN VARCHAR2,
574 p_exposure_uom IN VARCHAR2,
575 p_exposure_dose IN NUMBER,
576 p_exposure_time IN VARCHAR2,
577 p_exposure_note IN VARCHAR2,
578 p_attribute_category IN VARCHAR2,
579 p_attribute1 IN VARCHAR2,
580 p_attribute2 IN VARCHAR2,
581 p_attribute3 IN VARCHAR2,
582 p_attribute4 IN VARCHAR2,
583 p_attribute5 IN VARCHAR2,
584 p_attribute6 IN VARCHAR2,
585 p_attribute7 IN VARCHAR2,
586 p_attribute8 IN VARCHAR2,
587 p_attribute9 IN VARCHAR2,
588 p_attribute10 IN VARCHAR2,
589 p_attribute11 IN VARCHAR2,
590 p_attribute12 IN VARCHAR2,
591 p_attribute13 IN VARCHAR2,
592 p_attribute14 IN VARCHAR2,
593 p_attribute15 IN VARCHAR2,
594 p_attribute16 IN VARCHAR2,
595 p_attribute17 IN VARCHAR2,
596 p_attribute18 IN VARCHAR2,
597 p_attribute19 IN VARCHAR2,
598 p_attribute20 IN VARCHAR2,
599 p_attribute21 IN VARCHAR2,
600 p_attribute22 IN VARCHAR2,
601 p_attribute23 IN VARCHAR2,
602 p_attribute24 IN VARCHAR2,
603 p_attribute25 IN VARCHAR2,
604 p_attribute26 IN VARCHAR2,
605 p_attribute27 IN VARCHAR2,
606 p_attribute28 IN VARCHAR2,
607 p_attribute29 IN VARCHAR2,
608 p_attribute30 IN VARCHAR2,
609 p_created_by IN NUMBER,
610 p_creation_date IN DATE,
611 p_last_updated_by IN NUMBER,
612 p_last_update_date IN DATE,
613 p_last_update_login IN NUMBER,
614 x_return_status OUT NOCOPY VARCHAR2,
615 x_oracle_error OUT NOCOPY NUMBER,
616 x_msg_data OUT NOCOPY VARCHAR2)
617 IS
618
619 /* Alpha Variables */
620
621 L_RETURN_STATUS VARCHAR2(1) := 'S';
622 L_MSG_DATA VARCHAR2(2000);
623 L_MSG_TOKEN VARCHAR2(100);
624
625 /* Number Variables */
626
627 L_ORACLE_ERROR NUMBER;
628
629 /* Exceptions */
630
631 NO_DATA_FOUND_ERROR EXCEPTION;
632 ROW_ALREADY_LOCKED_ERROR EXCEPTION;
633 PRAGMA EXCEPTION_INIT(ROW_ALREADY_LOCKED_ERROR,-54);
634
635 /* Define the cursors */
636
637 CURSOR c_lock_item_exposure
638 IS
639 SELECT *
640 FROM gr_item_exposure
641 WHERE rowid = p_rowid
642 FOR UPDATE NOWAIT;
643 LockItemExpRcd c_lock_item_exposure%ROWTYPE;
644 BEGIN
645
646 /* Initialization Routine */
647
648 SAVEPOINT Lock_Row;
649 x_return_status := 'S';
650 x_oracle_error := 0;
651 x_msg_data := NULL;
652 l_msg_token := p_item_code || ' ' || p_label_code || ' ';
653 l_msg_token := l_msg_token || p_exposure_authority_code || ' ';
654 l_msg_token := l_msg_token || p_exposure_type_code;
655
656 /* Now lock the record */
657
658 OPEN c_lock_item_exposure;
659 FETCH c_lock_item_exposure INTO LockItemExpRcd;
660 IF c_lock_item_exposure%NOTFOUND THEN
661 CLOSE c_lock_item_exposure;
662 RAISE No_Data_Found_Error;
663 END IF;
664 CLOSE c_lock_item_exposure;
665
666 IF FND_API.To_Boolean(p_commit) THEN
667 COMMIT WORK;
668 END IF;
669
670 EXCEPTION
671
672 WHEN No_Data_Found_Error THEN
673 ROLLBACK TO SAVEPOINT Lock_Row;
674 x_return_status := 'E';
675 FND_MESSAGE.SET_NAME('GR',
676 'GR_RECORD_NOT_FOUND');
677 FND_MESSAGE.SET_TOKEN('CODE',
678 l_msg_token,
679 FALSE);
680 IF FND_API.To_Boolean(p_called_by_form) THEN
681 APP_EXCEPTION.Raise_Exception;
682 ELSE
683 x_msg_data := FND_MESSAGE.Get;
684 END IF;
685
686 WHEN Row_Already_Locked_Error THEN
687 ROLLBACK TO SAVEPOINT Lock_Row;
688 x_return_status := 'E';
689 x_oracle_error := APP_EXCEPTION.Get_Code;
690 FND_MESSAGE.SET_NAME('GR',
691 'GR_ROW_IS_LOCKED');
692 IF FND_API.To_Boolean(p_called_by_form) THEN
693 APP_EXCEPTION.Raise_Exception;
694 ELSE
695 x_msg_data := FND_MESSAGE.Get;
696 END IF;
697
698 WHEN OTHERS THEN
699 ROLLBACK TO SAVEPOINT Lock_Row;
700 x_return_status := 'U';
701 x_oracle_error := APP_EXCEPTION.Get_Code;
702 l_msg_data := APP_EXCEPTION.Get_Text;
703 FND_MESSAGE.SET_NAME('GR',
704 'GR_UNEXPECTED_ERROR');
705 FND_MESSAGE.SET_TOKEN('TEXT',
706 l_msg_token,
707 FALSE);
708 IF FND_API.To_Boolean(p_called_by_form) THEN
709 APP_EXCEPTION.Raise_Exception;
710 ELSE
711 x_msg_data := FND_MESSAGE.Get;
712 END IF;
713
714 END Lock_Row;
715
716 PROCEDURE Delete_Row
717 (p_commit IN VARCHAR2,
718 p_called_by_form IN VARCHAR2,
719 p_rowid IN VARCHAR2,
720 p_item_code IN VARCHAR2,
721 p_label_code IN VARCHAR2,
722 p_exposure_authority_code IN VARCHAR2,
723 p_exposure_type_code IN VARCHAR2,
724 p_exposure_uom IN VARCHAR2,
725 p_exposure_dose IN NUMBER,
726 p_exposure_time IN VARCHAR2,
727 p_exposure_note IN VARCHAR2,
728 p_attribute_category IN VARCHAR2,
729 p_attribute1 IN VARCHAR2,
730 p_attribute2 IN VARCHAR2,
731 p_attribute3 IN VARCHAR2,
732 p_attribute4 IN VARCHAR2,
733 p_attribute5 IN VARCHAR2,
734 p_attribute6 IN VARCHAR2,
735 p_attribute7 IN VARCHAR2,
736 p_attribute8 IN VARCHAR2,
737 p_attribute9 IN VARCHAR2,
738 p_attribute10 IN VARCHAR2,
739 p_attribute11 IN VARCHAR2,
740 p_attribute12 IN VARCHAR2,
741 p_attribute13 IN VARCHAR2,
742 p_attribute14 IN VARCHAR2,
743 p_attribute15 IN VARCHAR2,
744 p_attribute16 IN VARCHAR2,
745 p_attribute17 IN VARCHAR2,
746 p_attribute18 IN VARCHAR2,
747 p_attribute19 IN VARCHAR2,
748 p_attribute20 IN VARCHAR2,
749 p_attribute21 IN VARCHAR2,
750 p_attribute22 IN VARCHAR2,
751 p_attribute23 IN VARCHAR2,
752 p_attribute24 IN VARCHAR2,
753 p_attribute25 IN VARCHAR2,
754 p_attribute26 IN VARCHAR2,
755 p_attribute27 IN VARCHAR2,
756 p_attribute28 IN VARCHAR2,
757 p_attribute29 IN VARCHAR2,
758 p_attribute30 IN VARCHAR2,
759 p_created_by IN NUMBER,
760 p_creation_date IN DATE,
761 p_last_updated_by IN NUMBER,
762 p_last_update_date IN DATE,
763 p_last_update_login IN NUMBER,
764 x_return_status OUT NOCOPY VARCHAR2,
765 x_oracle_error OUT NOCOPY NUMBER,
766 x_msg_data OUT NOCOPY VARCHAR2)
767 IS
768
769 /* Alpha Variables */
770
771 L_RETURN_STATUS VARCHAR2(1) := 'S';
772 L_MSG_DATA VARCHAR2(2000);
773 L_MSG_TOKEN VARCHAR2(100);
774 L_CALLED_BY_FORM VARCHAR2(1);
775
776 /* Number Variables */
777
778 L_ORACLE_ERROR NUMBER;
779
780 /* Exceptions */
781
782 CHECK_INTEGRITY_ERROR EXCEPTION;
783 ROW_MISSING_ERROR EXCEPTION;
784 PRAGMA EXCEPTION_INIT(Row_Missing_Error,100);
785
786 BEGIN
787
788 /* Initialization Routine */
789
790 SAVEPOINT Delete_Row;
791 x_return_status := 'S';
792 l_called_by_form := 'F';
793 x_oracle_error := 0;
794 x_msg_data := NULL;
795 l_msg_token := p_item_code || ' ' || p_label_code || ' ';
796 l_msg_token := l_msg_token || p_exposure_authority_code || ' ';
797 l_msg_token := l_msg_token || p_exposure_type_code;
798
799 /* Now call the check integrity procedure */
800
801 Check_Integrity
802 (l_called_by_form,
803 p_item_code,
804 p_label_code,
805 p_exposure_authority_code,
806 p_exposure_type_code,
807 p_exposure_uom,
808 p_exposure_dose,
809 p_exposure_time,
810 p_exposure_note,
811 p_attribute_category,
812 p_attribute1,
813 p_attribute2,
814 p_attribute3,
815 p_attribute4,
816 p_attribute5,
817 p_attribute6,
818 p_attribute7,
819 p_attribute8,
820 p_attribute9,
821 p_attribute10,
822 p_attribute11,
823 p_attribute12,
824 p_attribute13,
825 p_attribute14,
826 p_attribute15,
827 p_attribute16,
828 p_attribute17,
829 p_attribute18,
830 p_attribute19,
831 p_attribute20,
832 p_attribute21,
833 p_attribute22,
834 p_attribute23,
835 p_attribute24,
836 p_attribute25,
837 p_attribute26,
838 p_attribute27,
839 p_attribute28,
840 p_attribute29,
841 p_attribute30,
842 l_return_status,
843 l_oracle_error,
844 l_msg_data);
845
846 IF l_return_status <> 'S' THEN
847 RAISE Check_Integrity_Error;
848 END IF;
849
850 DELETE FROM gr_item_exposure
851 WHERE rowid = p_rowid;
852
853 /* Check the commit flag and if set, then commit the work. */
854
855 IF FND_API.TO_Boolean(p_commit) THEN
856 COMMIT WORK;
857 END IF;
858
859 EXCEPTION
860
861 WHEN Check_Integrity_Error THEN
862 ROLLBACK TO SAVEPOINT Delete_Row;
863 x_return_status := l_return_status;
864 x_oracle_error := l_oracle_error;
865 IF FND_API.To_Boolean(p_called_by_form) THEN
866 APP_EXCEPTION.Raise_Exception;
867 ELSE
868 x_msg_data := FND_MESSAGE.Get;
869 END IF;
870
871 WHEN Row_Missing_Error THEN
872 ROLLBACK TO SAVEPOINT Delete_Row;
873 x_return_status := 'E';
874 x_oracle_error := APP_EXCEPTION.Get_Code;
875 FND_MESSAGE.SET_NAME('GR',
876 'GR_RECORD_NOT_FOUND');
877 FND_MESSAGE.SET_TOKEN('CODE',
878 l_msg_token,
879 FALSE);
880 IF FND_API.To_Boolean(p_called_by_form) THEN
881 APP_EXCEPTION.Raise_Exception;
882 ELSE
883 x_msg_data := FND_MESSAGE.Get;
884 END IF;
885
886 WHEN OTHERS THEN
887 ROLLBACK TO SAVEPOINT Delete_Row;
888 x_return_status := 'U';
889 x_oracle_error := APP_EXCEPTION.Get_Code;
890 l_msg_data := APP_EXCEPTION.Get_Text;
891 l_msg_data := APP_EXCEPTION.Get_Text;
892 FND_MESSAGE.SET_NAME('GR',
893 'GR_UNEXPECTED_ERROR');
894 FND_MESSAGE.SET_TOKEN('TEXT',
895 l_msg_token,
896 FALSE);
897 IF FND_API.To_Boolean(p_called_by_form) THEN
898 APP_EXCEPTION.Raise_Exception;
899 ELSE
900 x_msg_data := FND_MESSAGE.Get;
901 END IF;
902
903 END Delete_Row;
904
905 PROCEDURE Delete_Rows
906 (p_commit IN VARCHAR2,
907 p_called_by_form IN VARCHAR2,
908 p_delete_option IN VARCHAR2,
909 p_item_code IN VARCHAR2,
910 p_label_code IN VARCHAR2,
911 p_exposure_authority_code IN VARCHAR2,
912 p_exposure_type_code IN VARCHAR2,
913 x_return_status OUT NOCOPY VARCHAR2,
914 x_oracle_error OUT NOCOPY NUMBER,
915 x_msg_data OUT NOCOPY VARCHAR2)
916 IS
917
918 /* Alpha Variables */
919
920 L_RETURN_STATUS VARCHAR2(1) := 'S';
921 L_MSG_DATA VARCHAR2(2000);
922 L_MSG_TOKEN VARCHAR2(100);
923
924 /* Number Variables */
925
926 L_ORACLE_ERROR NUMBER;
927
928 /* Define the exceptions */
929 NULL_DELETE_OPTION_ERROR EXCEPTION;
930
931 /* Define the cursors */
932
933 BEGIN
934
935 /* Initialization Routine */
936
937 SAVEPOINT Delete_Rows;
938 x_return_status := 'S';
939 x_oracle_error := 0;
940 x_msg_data := NULL;
941
942 /*
943 ** p delete option has one of five values
944 ** 'I' - Delete all rows for the specified item.
945 ** 'L' - Delete all rows for the specified label.
946 ** 'A' - Delete all rows for the specified exposure authority.
947 ** 'T' - Delete all rows for the specified exposure type.
948 ** 'B' - Delete all rows using the item, label, authority and type
949 ** combination.
950 */
951 IF p_delete_option = 'I' THEN
952 IF p_item_code IS NULL THEN
953 l_msg_token := 'Item Code';
954 RAISE Null_Delete_Option_Error;
955 ELSE
956 l_msg_token := p_item_code;
957
958 DELETE FROM gr_item_exposure
959 WHERE item_code = p_item_code;
960 END IF;
961 ELSIF p_delete_option = 'L' THEN
962 IF p_label_code IS NULL THEN
963 l_msg_token := 'Label Code';
964 RAISE Null_Delete_Option_Error;
965 ELSE
966 l_msg_token := p_label_code;
967
968 DELETE FROM gr_item_exposure
969 WHERE label_code = p_label_code;
970 END IF;
971 ELSIF p_delete_option = 'A' THEN
972 IF p_exposure_authority_code IS NULL THEN
973 l_msg_token := 'Authority Code';
974 RAISE Null_Delete_Option_Error;
975 ELSE
976 l_msg_token := p_exposure_authority_code;
977
978 DELETE FROM gr_item_exposure
979 WHERE exposure_authority_code = p_exposure_authority_code;
980 END IF;
981 ELSIF p_delete_option = 'T' THEN
982 IF p_exposure_type_code IS NULL THEN
983 l_msg_token := 'Exposure Type Code';
984 RAISE Null_Delete_Option_Error;
985 ELSE
986 l_msg_token := p_exposure_type_code;
987
988 DELETE FROM gr_item_exposure
989 WHERE exposure_type_code = p_exposure_type_code;
990 END IF;
991 ELSIF p_delete_option = 'B' THEN
992 IF p_item_code IS NULL OR
993 p_label_code IS NULL OR
994 p_exposure_authority_code IS NULL OR
995 p_exposure_type_code IS NULL THEN
996 l_msg_token := 'Item, Label, Authority or Type Code';
997 RAISE Null_Delete_Option_Error;
998 ELSE
999 l_msg_token := p_item_code ||' ' || p_label_code || ' ';
1000 l_msg_token := l_msg_token || p_exposure_authority_code || ' ';
1001 l_msg_token := l_msg_token || p_exposure_type_code;
1002
1003 DELETE FROM gr_item_exposure
1004 WHERE item_code = p_item_code
1005 AND label_code = p_label_code
1006 AND exposure_authority_code = p_exposure_authority_code
1007 AND exposure_type_code = p_exposure_type_code;
1008 END IF;
1009 END IF;
1010
1011 IF FND_API.To_Boolean(p_commit) THEN
1012 COMMIT WORK;
1013 END IF;
1014
1015 EXCEPTION
1016
1017 WHEN Null_Delete_Option_Error THEN
1018 x_return_status := 'E';
1019 x_oracle_error := APP_EXCEPTION.Get_Code;
1020 FND_MESSAGE.SET_NAME('GR',
1021 'GR_NULL_VALUE');
1022 FND_MESSAGE.SET_TOKEN('CODE',
1023 l_msg_token,
1024 FALSE);
1025 IF FND_API.To_Boolean(p_called_by_form) THEN
1026 APP_EXCEPTION.Raise_Exception;
1027 ELSE
1028 x_msg_data := FND_MESSAGE.Get;
1029 END IF;
1030
1031 WHEN OTHERS THEN
1032 ROLLBACK TO SAVEPOINT Delete_Rows;
1033 x_return_status := 'U';
1034 x_oracle_error := APP_EXCEPTION.Get_Code;
1035 l_msg_data := APP_EXCEPTION.Get_Text;
1036 FND_MESSAGE.SET_NAME('GR',
1037 'GR_UNEXPECTED_ERROR');
1038 FND_MESSAGE.SET_TOKEN('TEXT',
1039 l_msg_token,
1040 FALSE);
1041 IF FND_API.To_Boolean(p_called_by_form) THEN
1042 APP_EXCEPTION.Raise_Exception;
1043 ELSE
1044 x_msg_data := FND_MESSAGE.Get;
1045 END IF;
1046
1047 END Delete_Rows;
1048
1049 PROCEDURE Check_Foreign_Keys
1050 (p_item_code IN VARCHAR2,
1051 p_label_code IN VARCHAR2,
1052 p_exposure_authority_code IN VARCHAR2,
1053 p_exposure_type_code IN VARCHAR2,
1054 p_exposure_uom IN VARCHAR2,
1055 p_exposure_dose IN NUMBER,
1056 p_exposure_time IN VARCHAR2,
1057 p_exposure_note IN VARCHAR2,
1058 p_attribute_category IN VARCHAR2,
1059 p_attribute1 IN VARCHAR2,
1060 p_attribute2 IN VARCHAR2,
1061 p_attribute3 IN VARCHAR2,
1062 p_attribute4 IN VARCHAR2,
1063 p_attribute5 IN VARCHAR2,
1064 p_attribute6 IN VARCHAR2,
1065 p_attribute7 IN VARCHAR2,
1066 p_attribute8 IN VARCHAR2,
1067 p_attribute9 IN VARCHAR2,
1068 p_attribute10 IN VARCHAR2,
1069 p_attribute11 IN VARCHAR2,
1070 p_attribute12 IN VARCHAR2,
1071 p_attribute13 IN VARCHAR2,
1072 p_attribute14 IN VARCHAR2,
1073 p_attribute15 IN VARCHAR2,
1074 p_attribute16 IN VARCHAR2,
1075 p_attribute17 IN VARCHAR2,
1076 p_attribute18 IN VARCHAR2,
1077 p_attribute19 IN VARCHAR2,
1078 p_attribute20 IN VARCHAR2,
1079 p_attribute21 IN VARCHAR2,
1080 p_attribute22 IN VARCHAR2,
1081 p_attribute23 IN VARCHAR2,
1082 p_attribute24 IN VARCHAR2,
1083 p_attribute25 IN VARCHAR2,
1084 p_attribute26 IN VARCHAR2,
1085 p_attribute27 IN VARCHAR2,
1086 p_attribute28 IN VARCHAR2,
1087 p_attribute29 IN VARCHAR2,
1088 p_attribute30 IN VARCHAR2,
1089 x_return_status OUT NOCOPY VARCHAR2,
1090 x_oracle_error OUT NOCOPY NUMBER,
1091 x_msg_data OUT NOCOPY VARCHAR2)
1092 IS
1093
1094 /* Alpha Variables */
1095
1096 L_RETURN_STATUS VARCHAR2(1) := 'S';
1097 L_MSG_DATA VARCHAR2(2000);
1098 L_MSG_TOKEN VARCHAR2(100);
1099 L_ROWID VARCHAR2(18);
1100 L_KEY_EXISTS VARCHAR2(1);
1101
1102 /* Number Variables */
1103
1104 L_ORACLE_ERROR NUMBER;
1105
1106 /* Error Definitions */
1107
1108 ROW_MISSING_ERROR EXCEPTION;
1109
1110 BEGIN
1111
1112 /* Initialization Routine */
1113
1114 l_return_status := 'S';
1115 x_oracle_error := 0;
1116 x_msg_data := NULL;
1117 l_msg_token := NULL;
1118
1119 /* Check the item code */
1120
1121 GR_ITEM_GENERAL_PKG.Check_Primary_Key
1122 (p_item_code,
1123 'F',
1124 l_rowid,
1125 l_key_exists);
1126
1127 IF NOT FND_API.To_Boolean(l_key_exists) THEN
1128 l_return_status := 'E';
1129 l_msg_token := l_msg_token || ' ' || p_item_code;
1130 END IF;
1131
1132 /* Check the label code */
1133
1134 GR_LABELS_B_PKG.Check_Primary_Key
1135 (p_label_code,
1136 'F',
1137 l_rowid,
1138 l_key_exists);
1139
1140 IF NOT FND_API.To_Boolean(l_key_exists) THEN
1141 l_return_status := 'E';
1142 l_msg_token := l_msg_token || ' ' || p_label_code;
1143 END IF;
1144
1145 /* Check the exposure authority code */
1146
1147 GR_EXPOSURE_AUTHS_B_PKG.Check_Primary_Key
1148 (p_exposure_authority_code,
1149 'F',
1150 l_rowid,
1151 l_key_exists);
1152
1153 IF NOT FND_API.To_Boolean(l_key_exists) THEN
1154 l_return_status := 'E';
1155 l_msg_token := l_msg_token || ' ' || p_exposure_authority_code;
1156 END IF;
1157
1158 /* Check the exposure authority code */
1159
1160 GR_EXPOSURE_TYPES_B_PKG.Check_Primary_Key
1161 (p_exposure_type_code,
1162 'F',
1163 l_rowid,
1164 l_key_exists);
1165
1166 IF NOT FND_API.To_Boolean(l_key_exists) THEN
1167 l_return_status := 'E';
1168 l_msg_token := l_msg_token || ' ' || p_exposure_type_code;
1169 END IF;
1170
1171 IF l_return_status <> 'S' THEN
1172 RAISE Row_Missing_Error;
1173 ELSE
1174 x_return_status := 'S';
1175 END IF;
1176
1177 EXCEPTION
1178
1179 WHEN Row_Missing_Error THEN
1180 x_return_status := 'E';
1181 x_oracle_error := APP_EXCEPTION.Get_Code;
1182 FND_MESSAGE.SET_NAME('GR',
1183 'GR_RECORD_NOT_FOUND');
1184 FND_MESSAGE.SET_TOKEN('CODE',
1185 l_msg_token,
1186 FALSE);
1187 x_msg_data := FND_MESSAGE.Get;
1188
1189 WHEN OTHERS THEN
1190 x_return_status := 'U';
1191 x_oracle_error := APP_EXCEPTION.Get_Code;
1192 l_msg_data := APP_EXCEPTION.Get_Text;
1193 FND_MESSAGE.SET_NAME('GR',
1194 'GR_UNEXPECTED_ERROR');
1195 FND_MESSAGE.SET_TOKEN('TEXT',
1196 l_msg_token,
1197 FALSE);
1198 x_msg_data := FND_MESSAGE.Get;
1199
1200 END Check_Foreign_Keys;
1201
1202 PROCEDURE Check_Integrity
1203 (p_called_by_form IN VARCHAR2,
1204 p_item_code IN VARCHAR2,
1205 p_label_code IN VARCHAR2,
1206 p_exposure_authority_code IN VARCHAR2,
1207 p_exposure_type_code IN VARCHAR2,
1208 p_exposure_uom IN VARCHAR2,
1209 p_exposure_dose IN NUMBER,
1210 p_exposure_time IN VARCHAR2,
1211 p_exposure_note IN VARCHAR2,
1212 p_attribute_category IN VARCHAR2,
1213 p_attribute1 IN VARCHAR2,
1214 p_attribute2 IN VARCHAR2,
1215 p_attribute3 IN VARCHAR2,
1216 p_attribute4 IN VARCHAR2,
1217 p_attribute5 IN VARCHAR2,
1218 p_attribute6 IN VARCHAR2,
1219 p_attribute7 IN VARCHAR2,
1220 p_attribute8 IN VARCHAR2,
1221 p_attribute9 IN VARCHAR2,
1222 p_attribute10 IN VARCHAR2,
1223 p_attribute11 IN VARCHAR2,
1224 p_attribute12 IN VARCHAR2,
1225 p_attribute13 IN VARCHAR2,
1226 p_attribute14 IN VARCHAR2,
1227 p_attribute15 IN VARCHAR2,
1228 p_attribute16 IN VARCHAR2,
1229 p_attribute17 IN VARCHAR2,
1230 p_attribute18 IN VARCHAR2,
1231 p_attribute19 IN VARCHAR2,
1232 p_attribute20 IN VARCHAR2,
1233 p_attribute21 IN VARCHAR2,
1234 p_attribute22 IN VARCHAR2,
1235 p_attribute23 IN VARCHAR2,
1236 p_attribute24 IN VARCHAR2,
1237 p_attribute25 IN VARCHAR2,
1238 p_attribute26 IN VARCHAR2,
1239 p_attribute27 IN VARCHAR2,
1240 p_attribute28 IN VARCHAR2,
1241 p_attribute29 IN VARCHAR2,
1242 p_attribute30 IN VARCHAR2,
1243 x_return_status OUT NOCOPY VARCHAR2,
1244 x_oracle_error OUT NOCOPY NUMBER,
1245 x_msg_data OUT NOCOPY VARCHAR2)
1246 IS
1247
1248 /* Alpha Variables */
1249
1250 L_RETURN_STATUS VARCHAR2(1) := 'S';
1251 L_MSG_DATA VARCHAR2(2000);
1252 L_CODE_BLOCK VARCHAR2(100);
1253
1254 /* Number Variables */
1255
1256 L_ORACLE_ERROR NUMBER;
1257 L_RECORD_COUNT NUMBER;
1258
1259 /* Define the Cursors */
1260
1261
1262 BEGIN
1263
1264 /* Initialization Routine */
1265
1266 SAVEPOINT Check_Integrity;
1267 x_return_status := 'S';
1268 x_oracle_error := 0;
1269 x_msg_data := NULL;
1270
1271 /* No integrity checking is needed */
1272
1273
1274 EXCEPTION
1275
1276 WHEN OTHERS THEN
1277 ROLLBACK TO SAVEPOINT Check_Integrity;
1278 x_return_status := 'U';
1279 x_oracle_error := APP_EXCEPTION.Get_Code;
1280 l_msg_data := APP_EXCEPTION.Get_Text;
1281 FND_MESSAGE.SET_NAME('GR',
1282 'GR_UNEXPECTED_ERROR');
1283 FND_MESSAGE.SET_TOKEN('TEXT',
1284 l_msg_data,
1285 FALSE);
1286 IF FND_API.To_Boolean(p_called_by_form) THEN
1287 APP_EXCEPTION.Raise_Exception;
1288 ELSE
1289 x_msg_data := FND_MESSAGE.Get;
1290 END IF;
1291
1292 END Check_Integrity;
1293
1294 PROCEDURE Check_Primary_Key
1295 /* p_item_code is the item code
1296 ** p_label_code is the label code
1297 ** p_exposure_authority_code is the exposure authority
1298 ** p_exposure_type_code is the exposure type.
1299 ** p_called_by_form is 'T' if called by a form or 'F' if not.
1300 ** x_rowid is the row id of the record if found.
1301 ** x_key_exists is 'T' is the record is found, 'F' if not.
1302 */
1303 (p_item_code IN VARCHAR2,
1304 p_label_code IN VARCHAR2,
1305 p_exposure_authority_code IN VARCHAR2,
1306 p_exposure_type_code IN VARCHAR2,
1307 p_called_by_form IN VARCHAR2,
1308 x_rowid OUT NOCOPY VARCHAR2,
1309 x_key_exists OUT NOCOPY VARCHAR2)
1310 IS
1311 /* Alphanumeric variables */
1312
1313 L_MSG_DATA VARCHAR2(100);
1314
1315 /* Declare any variables and the cursor */
1316
1317
1318 CURSOR c_get_item_exposure_rowid
1319 IS
1320 SELECT ie.rowid
1321 FROM gr_item_exposure ie
1322 WHERE ie.item_code = p_item_code
1323 AND ie.label_code = p_label_code
1324 AND ie.exposure_authority_code = p_exposure_authority_code
1325 AND ie.exposure_type_code = p_exposure_type_code;
1326 ItemExposureRecord c_get_item_exposure_rowid%ROWTYPE;
1327
1328 BEGIN
1329
1330 l_msg_data := p_item_code || ' ' || p_label_code || ' ';
1331 l_msg_data := l_msg_data || p_exposure_authority_code || ' ';
1332 l_msg_data := l_msg_data || p_exposure_type_code;
1333
1334 x_key_exists := 'F';
1335 OPEN c_get_item_exposure_rowid;
1336 FETCH c_get_item_exposure_rowid INTO ItemExposureRecord;
1337 IF c_get_item_exposure_rowid%FOUND THEN
1338 x_key_exists := 'T';
1339 x_rowid := ItemExposureRecord.rowid;
1340 ELSE
1341 x_key_exists := 'F';
1342 END IF;
1343 CLOSE c_get_item_exposure_rowid;
1344
1345 EXCEPTION
1346
1347 WHEN Others THEN
1348 l_msg_data := APP_EXCEPTION.Get_Text;
1349 FND_MESSAGE.SET_NAME('GR',
1350 'GR_UNEXPECTED_ERROR');
1351 FND_MESSAGE.SET_TOKEN('TEXT',
1352 l_msg_data,
1353 FALSE);
1354 IF FND_API.To_Boolean(p_called_by_form) THEN
1355 APP_EXCEPTION.Raise_Exception;
1356 END IF;
1357
1358 END Check_Primary_Key;
1359
1360 END GR_ITEM_EXPOSURE_PKG;