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