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