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