1 PACKAGE BODY IGF_GR_REPORT_PELL_PKG AS
2 /* $Header: IGFGI20B.pls 120.0 2005/06/01 13:50:49 appldev noship $ */
3
4 l_rowid VARCHAR2(25);
5 old_references igf_gr_report_pell%ROWTYPE;
6 new_references igf_gr_report_pell%ROWTYPE;
7
8 PROCEDURE set_column_values (
9 p_action IN VARCHAR2,
10 x_rowid IN VARCHAR2,
11 x_rcampus_id IN NUMBER,
12 x_ci_cal_type IN VARCHAR2,
13 x_ci_sequence_number IN NUMBER,
14 x_reporting_pell_cd IN VARCHAR2,
15 x_ope_cd IN VARCHAR2,
16 x_rep_entity_id_txt IN VARCHAR2,
17 x_creation_date IN DATE,
18 x_created_by IN NUMBER,
19 x_last_update_date IN DATE,
20 x_last_updated_by IN NUMBER,
21 x_last_update_login IN NUMBER
22 ) AS
23 /*
24 || Created By : [email protected]
25 || Created On : 16-OCT-2003
26 || Purpose : Initialises the Old and New references for the columns of the table.
27 || Known limitations, enhancements or remarks :
28 || Change History :
29 || Who When What
30 || (reverse chronological order - newest change first)
31 */
32
33 CURSOR cur_old_ref_values IS
34 SELECT *
35 FROM igf_gr_report_pell
36 WHERE rowid = x_rowid;
37
38 BEGIN
39
40 l_rowid := x_rowid;
41
42 -- Code for setting the Old and New Reference Values.
43 -- Populate Old Values.
44 OPEN cur_old_ref_values;
45 FETCH cur_old_ref_values INTO old_references;
46 IF ((cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT'))) THEN
47 CLOSE cur_old_ref_values;
48 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
49 igs_ge_msg_stack.add;
50 app_exception.raise_exception;
51 RETURN;
52 END IF;
53 CLOSE cur_old_ref_values;
54
55 -- Populate New Values.
56 new_references.rcampus_id := x_rcampus_id;
57 new_references.ci_cal_type := x_ci_cal_type;
58 new_references.ci_sequence_number := x_ci_sequence_number;
59 new_references.reporting_pell_cd := x_reporting_pell_cd;
60 new_references.ope_cd := x_ope_cd;
61 new_references.rep_entity_id_txt := x_rep_entity_id_txt;
62
63 IF (p_action = 'UPDATE') THEN
64 new_references.creation_date := old_references.creation_date;
65 new_references.created_by := old_references.created_by;
66 ELSE
67 new_references.creation_date := x_creation_date;
68 new_references.created_by := x_created_by;
69 END IF;
70
71 new_references.last_update_date := x_last_update_date;
72 new_references.last_updated_by := x_last_updated_by;
73 new_references.last_update_login := x_last_update_login;
74
75 END set_column_values;
76
77
78 PROCEDURE check_parent_existance AS
79 /*
80 || Created By : [email protected]
81 || Created On : 16-OCT-2003
82 || Purpose : Checks for the existance of Parent records.
83 || Known limitations, enhancements or remarks :
84 || Change History :
85 || Who When What
86 || (reverse chronological order - newest change first)
87 */
88 BEGIN
89
90 IF (((old_references.ci_cal_type = new_references.ci_cal_type) AND
91 (old_references.ci_sequence_number = new_references.ci_sequence_number)) OR
92 ((new_references.ci_cal_type IS NULL) OR
93 (new_references.ci_sequence_number IS NULL))) THEN
94 NULL;
95 ELSIF NOT igs_ca_inst_pkg.get_pk_for_validation (
96 new_references.ci_cal_type,
97 new_references.ci_sequence_number
98 ) THEN
99 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
100 igs_ge_msg_stack.add;
101 app_exception.raise_exception;
102 END IF;
103
104 END check_parent_existance;
105
106
107 PROCEDURE check_child_existance AS
108 /*
109 || Created By : [email protected]
110 || Created On : 16-OCT-2003
111 || Purpose : Checks for the existance of Child records.
112 || Known limitations, enhancements or remarks :
113 || Change History :
114 || Who When What
115 || (reverse chronological order - newest change first)
116 */
117 BEGIN
118
119 igf_gr_attend_pell_pkg.get_fk_igf_gr_report_pell (
120 old_references.rcampus_id
121 );
122
123 igf_gr_pell_setup_pkg.get_fk_igf_gr_report_pell (
124 old_references.reporting_pell_cd
125 );
126
127 igf_gr_pell_setup_pkg.get_fk_igf_gr_report_ent (
128 old_references.rep_entity_id_txt
129 );
130 END check_child_existance;
131
132
133 FUNCTION get_pk_for_validation (
134 x_rcampus_id IN NUMBER
135 ) RETURN BOOLEAN AS
136 /*
137 || Created By : [email protected]
138 || Created On : 16-OCT-2003
139 || Purpose : Validates the Primary Key of the table.
140 || Known limitations, enhancements or remarks :
141 || Change History :
142 || Who When What
143 || (reverse chronological order - newest change first)
144 */
145 CURSOR cur_rowid IS
146 SELECT rowid
147 FROM igf_gr_report_pell
148 WHERE rcampus_id = x_rcampus_id
149 FOR UPDATE NOWAIT;
150
151 lv_rowid cur_rowid%RowType;
152
153 BEGIN
154
155 OPEN cur_rowid;
156 FETCH cur_rowid INTO lv_rowid;
157 IF (cur_rowid%FOUND) THEN
158 CLOSE cur_rowid;
159 RETURN(TRUE);
160 ELSE
161 CLOSE cur_rowid;
162 RETURN(FALSE);
163 END IF;
164
165 END get_pk_for_validation;
166
167
168 PROCEDURE get_fk_igs_ca_inst (
169 x_cal_type IN VARCHAR2,
170 x_sequence_number IN NUMBER
171 ) AS
172 /*
173 || Created By : [email protected]
174 || Created On : 16-OCT-2003
175 || Purpose : Validates the Foreign Keys for the table.
176 || Known limitations, enhancements or remarks :
177 || Change History :
178 || Who When What
179 || (reverse chronological order - newest change first)
180 */
181 CURSOR cur_rowid IS
182 SELECT rowid
183 FROM igf_gr_report_pell
184 WHERE ((ci_cal_type = x_cal_type) AND
185 (ci_sequence_number = x_sequence_number));
186
187 lv_rowid cur_rowid%RowType;
188
189 BEGIN
190
191 OPEN cur_rowid;
192 FETCH cur_rowid INTO lv_rowid;
193 IF (cur_rowid%FOUND) THEN
194 CLOSE cur_rowid;
195 fnd_message.set_name ('IGF', 'IGF_GR_PELL_CI_FK');
196 igs_ge_msg_stack.add;
197 app_exception.raise_exception;
198 RETURN;
199 END IF;
200 CLOSE cur_rowid;
201
202 END get_fk_igs_ca_inst;
203
204
205 PROCEDURE before_dml (
206 p_action IN VARCHAR2,
207 x_rowid IN VARCHAR2,
208 x_rcampus_id IN NUMBER,
209 x_ci_cal_type IN VARCHAR2,
210 x_ci_sequence_number IN NUMBER,
211 x_reporting_pell_cd IN VARCHAR2,
212 x_ope_cd IN VARCHAR2,
213 x_rep_entity_id_txt IN VARCHAR2,
214 x_creation_date IN DATE,
215 x_created_by IN NUMBER,
216 x_last_update_date IN DATE,
217 x_last_updated_by IN NUMBER,
218 x_last_update_login IN NUMBER
219 ) AS
220 /*
221 || Created By : [email protected]
222 || Created On : 16-OCT-2003
223 || Purpose : Initialises the columns, Checks Constraints, Calls the
224 || Trigger Handlers for the table, before any DML operation.
225 || Known limitations, enhancements or remarks :
226 || Change History :
227 || Who When What
228 || (reverse chronological order - newest change first)
229 */
230 BEGIN
231
232 set_column_values (
233 p_action,
234 x_rowid,
235 x_rcampus_id,
236 x_ci_cal_type,
237 x_ci_sequence_number,
238 x_reporting_pell_cd,
239 x_ope_cd,
240 x_rep_entity_id_txt,
241 x_creation_date,
242 x_created_by,
243 x_last_update_date,
244 x_last_updated_by,
245 x_last_update_login
246 );
247
248 IF (p_action = 'INSERT') THEN
249 -- Call all the procedures related to Before Insert.
250 IF ( get_pk_for_validation(
251 new_references.rcampus_id
252 )
253 ) THEN
254 fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
255 igs_ge_msg_stack.add;
256 app_exception.raise_exception;
257 END IF;
258 check_parent_existance;
259 check_uniqueness;
260 ELSIF (p_action = 'UPDATE') THEN
261 -- Call all the procedures related to Before Update.
262 check_parent_existance;
263 check_uniqueness;
264 ELSIF (p_action = 'DELETE') THEN
265 -- Call all the procedures related to Before Delete.
266 check_child_existance;
267 ELSIF (p_action = 'VALIDATE_INSERT') THEN
268 -- Call all the procedures related to Before Insert.
269 IF ( get_pk_for_validation (
270 new_references.rcampus_id
271 )
272 ) THEN
273 fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
274 igs_ge_msg_stack.add;
275 app_exception.raise_exception;
276 END IF;
277 check_uniqueness;
278 ELSIF (p_action = 'VALIDATE_DELETE') THEN
279 check_child_existance;
280 END IF;
281
282 END before_dml;
283
284
285 PROCEDURE insert_row (
286 x_rowid IN OUT NOCOPY VARCHAR2,
287 x_rcampus_id IN OUT NOCOPY NUMBER,
288 x_ci_cal_type IN VARCHAR2,
289 x_ci_sequence_number IN NUMBER,
290 x_reporting_pell_cd IN VARCHAR2,
291 x_ope_cd IN VARCHAR2,
292 x_rep_entity_id_txt IN VARCHAR2,
293 x_mode IN VARCHAR2
294 ) AS
295 /*
296 || Created By : [email protected]
297 || Created On : 16-OCT-2003
298 || Purpose : Handles the INSERT DML logic for the table.
299 || Known limitations, enhancements or remarks :
300 || Change History :
301 || Who When What
302 || (reverse chronological order - newest change first)
303 */
304
305 x_last_update_date DATE;
306 x_last_updated_by NUMBER;
307 x_last_update_login NUMBER;
308
309 BEGIN
310
311 x_last_update_date := SYSDATE;
312 IF (x_mode = 'I') THEN
313 x_last_updated_by := 1;
314 x_last_update_login := 0;
315 ELSIF (x_mode = 'R') THEN
316 x_last_updated_by := fnd_global.user_id;
317 IF (x_last_updated_by IS NULL) THEN
318 x_last_updated_by := -1;
319 END IF;
320 x_last_update_login := fnd_global.login_id;
321 IF (x_last_update_login IS NULL) THEN
322 x_last_update_login := -1;
323 END IF;
324 ELSE
325 fnd_message.set_name ('FND', 'SYSTEM-INVALID ARGS');
326 fnd_message.set_token ('ROUTINE', 'IGF_GR_REPORT_PELL_PKG.INSERT_ROW');
327 igs_ge_msg_stack.add;
328 app_exception.raise_exception;
329 END IF;
330
331 x_rcampus_id := NULL;
332
333 before_dml(
334 p_action => 'INSERT',
335 x_rowid => x_rowid,
336 x_rcampus_id => x_rcampus_id,
337 x_ci_cal_type => x_ci_cal_type,
338 x_ci_sequence_number => x_ci_sequence_number,
339 x_reporting_pell_cd => x_reporting_pell_cd,
340 x_ope_cd => x_ope_cd,
341 x_rep_entity_id_txt => x_rep_entity_id_txt,
342 x_creation_date => x_last_update_date,
343 x_created_by => x_last_updated_by,
344 x_last_update_date => x_last_update_date,
345 x_last_updated_by => x_last_updated_by,
346 x_last_update_login => x_last_update_login
347 );
348
349 INSERT INTO igf_gr_report_pell (
350 rcampus_id,
351 ci_cal_type,
352 ci_sequence_number,
353 reporting_pell_cd,
354 ope_cd,
355 rep_entity_id_txt,
356 creation_date,
357 created_by,
358 last_update_date,
359 last_updated_by,
360 last_update_login
361 ) VALUES (
362 igf_gr_report_pell_s.NEXTVAL,
363 new_references.ci_cal_type,
364 new_references.ci_sequence_number,
365 new_references.reporting_pell_cd,
366 new_references.ope_cd,
367 new_references.rep_entity_id_txt,
368 x_last_update_date,
369 x_last_updated_by,
370 x_last_update_date,
371 x_last_updated_by,
372 x_last_update_login
373 ) RETURNING ROWID, rcampus_id INTO x_rowid, x_rcampus_id;
374
375 END insert_row;
376
377
378 PROCEDURE lock_row (
379 x_rowid IN VARCHAR2,
380 x_rcampus_id IN NUMBER,
381 x_ci_cal_type IN VARCHAR2,
382 x_ci_sequence_number IN NUMBER,
383 x_reporting_pell_cd IN VARCHAR2,
384 x_ope_cd IN VARCHAR2,
385 x_rep_entity_id_txt IN VARCHAR2
386
387 ) AS
388 /*
389 || Created By : [email protected]
390 || Created On : 16-OCT-2003
391 || Purpose : Handles the LOCK mechanism for the table.
392 || Known limitations, enhancements or remarks :
393 || Change History :
394 || Who When What
395 || (reverse chronological order - newest change first)
396 */
397 CURSOR c1 IS
398 SELECT
399 ci_cal_type,
400 ci_sequence_number,
401 reporting_pell_cd,
402 ope_cd,
403 rep_entity_id_txt
404 FROM igf_gr_report_pell
405 WHERE rowid = x_rowid
406 FOR UPDATE NOWAIT;
407
408 tlinfo c1%ROWTYPE;
409
410 BEGIN
411
412 OPEN c1;
413 FETCH c1 INTO tlinfo;
414 IF (c1%notfound) THEN
415 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
416 igs_ge_msg_stack.add;
417 CLOSE c1;
418 app_exception.raise_exception;
419 RETURN;
420 END IF;
421 CLOSE c1;
422
423 IF (
424 (tlinfo.ci_cal_type = x_ci_cal_type)
425 AND (tlinfo.ci_sequence_number = x_ci_sequence_number)
426 AND ((tlinfo.reporting_pell_cd = x_reporting_pell_cd) OR ((tlinfo.reporting_pell_cd IS NULL) AND (x_reporting_pell_cd IS NULL)))
427 AND ((tlinfo.ope_cd = x_ope_cd) OR ((tlinfo.ope_cd IS NULL) AND (X_ope_cd IS NULL)))
428 AND ((tlinfo.rep_entity_id_txt = x_rep_entity_id_txt) OR ((tlinfo.rep_entity_id_txt IS NULL) AND (x_rep_entity_id_txt IS NULL)))
429 ) THEN
430 NULL;
431 ELSE
432 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
433 igs_ge_msg_stack.add;
434 app_exception.raise_exception;
435 END IF;
436
437 RETURN;
438
439 END lock_row;
440
441
442 PROCEDURE update_row (
443 x_rowid IN VARCHAR2,
444 x_rcampus_id IN NUMBER,
445 x_ci_cal_type IN VARCHAR2,
446 x_ci_sequence_number IN NUMBER,
447 x_reporting_pell_cd IN VARCHAR2,
448 x_ope_cd IN VARCHAR2,
449 x_rep_entity_id_txt IN VARCHAR2,
450 x_mode IN VARCHAR2
451 ) AS
452 /*
453 || Created By : [email protected]
454 || Created On : 16-OCT-2003
455 || Purpose : Handles the UPDATE DML logic for the table.
456 || Known limitations, enhancements or remarks :
457 || Change History :
458 || Who When What
459 || (reverse chronological order - newest change first)
460 */
461 x_last_update_date DATE ;
462 x_last_updated_by NUMBER;
463 x_last_update_login NUMBER;
464
465 BEGIN
466
467 x_last_update_date := SYSDATE;
468 IF (X_MODE = 'I') THEN
469 x_last_updated_by := 1;
470 x_last_update_login := 0;
471 ELSIF (x_mode = 'R') THEN
472 x_last_updated_by := fnd_global.user_id;
473 IF x_last_updated_by IS NULL THEN
474 x_last_updated_by := -1;
475 END IF;
476 x_last_update_login := fnd_global.login_id;
477 IF (x_last_update_login IS NULL) THEN
478 x_last_update_login := -1;
479 END IF;
480 ELSE
481 fnd_message.set_name( 'FND', 'SYSTEM-INVALID ARGS');
482 fnd_message.set_token ('ROUTINE', 'IGF_GR_REPORT_PELL_PKG.UPDATE_ROW');
483 igs_ge_msg_stack.add;
484 app_exception.raise_exception;
485 END IF;
486
487 before_dml(
488 p_action => 'UPDATE',
489 x_rowid => x_rowid,
490 x_rcampus_id => x_rcampus_id,
491 x_ci_cal_type => x_ci_cal_type,
492 x_ci_sequence_number => x_ci_sequence_number,
493 x_reporting_pell_cd => x_reporting_pell_cd,
494 x_ope_cd => x_ope_cd,
495 x_rep_entity_id_txt => x_rep_entity_id_txt,
496 x_creation_date => x_last_update_date,
497 x_created_by => x_last_updated_by,
498 x_last_update_date => x_last_update_date,
499 x_last_updated_by => x_last_updated_by,
500 x_last_update_login => x_last_update_login
501 );
502
503 UPDATE igf_gr_report_pell
504 SET
505 ci_cal_type = new_references.ci_cal_type,
506 ci_sequence_number = new_references.ci_sequence_number,
507 reporting_pell_cd = new_references.reporting_pell_cd,
508 ope_cd = new_references.ope_cd,
509 rep_entity_id_txt = new_references.rep_entity_id_txt,
510 last_update_date = x_last_update_date,
511 last_updated_by = x_last_updated_by,
512 last_update_login = x_last_update_login
513 WHERE rowid = x_rowid;
514
515 IF (SQL%NOTFOUND) THEN
516 RAISE NO_DATA_FOUND;
517 END IF;
518
519 END update_row;
520
521
522 PROCEDURE add_row (
523 x_rowid IN OUT NOCOPY VARCHAR2,
524 x_rcampus_id IN OUT NOCOPY NUMBER,
525 x_ci_cal_type IN VARCHAR2,
526 x_ci_sequence_number IN NUMBER,
527 x_reporting_pell_cd IN VARCHAR2,
528 x_ope_cd IN VARCHAR2,
529 x_rep_entity_id_txt IN VARCHAR2,
530 x_mode IN VARCHAR2
531 ) AS
532 /*
533 || Created By : [email protected]
534 || Created On : 16-OCT-2003
535 || Purpose : Adds a row if there is no existing row, otherwise updates existing row in the table.
536 || Known limitations, enhancements or remarks :
537 || Change History :
538 || Who When What
539 || (reverse chronological order - newest change first)
540 */
541 CURSOR c1 IS
542 SELECT rowid
543 FROM igf_gr_report_pell
544 WHERE rcampus_id = x_rcampus_id;
545
546 BEGIN
547
548 OPEN c1;
549 FETCH c1 INTO x_rowid;
550 IF (c1%NOTFOUND) THEN
551 CLOSE c1;
552
553 insert_row (
554 x_rowid,
555 x_rcampus_id,
556 x_ci_cal_type,
557 x_ci_sequence_number,
558 x_reporting_pell_cd,
559 x_ope_cd,
560 x_rep_entity_id_txt,
561 x_mode
562 );
563 RETURN;
564 END IF;
565 CLOSE c1;
566
567 update_row (
568 x_rowid,
569 x_rcampus_id,
570 x_ci_cal_type,
571 x_ci_sequence_number,
572 x_reporting_pell_cd,
573 x_ope_cd,
574 x_rep_entity_id_txt,
575 x_mode
576 );
577
578 END add_row;
579
580
581 PROCEDURE delete_row (
582 x_rowid IN VARCHAR2
583 ) AS
584 /*
585 || Created By : [email protected]
586 || Created On : 16-OCT-2003
587 || Purpose : Handles the DELETE DML logic for the table.
588 || Known limitations, enhancements or remarks :
589 || Change History :
590 || Who When What
591 || (reverse chronological order - newest change first)
592 */
593 BEGIN
594
595 before_dml (
596 p_action => 'DELETE',
597 x_rowid => x_rowid
598 );
599
600 DELETE FROM igf_gr_report_pell
601 WHERE rowid = x_rowid;
602
603 IF (SQL%NOTFOUND) THEN
604 RAISE NO_DATA_FOUND;
605 END IF;
606
607 END delete_row;
608
609
610 PROCEDURE check_uniqueness AS
611 /*
612 || Created By : nsidana
613 || Created On :
614 || Purpose :
615 || Change History :
616 || Who When What
617 || (reverse chronological order - newest change first)
618 */
619 BEGIN
620 IF new_references.reporting_pell_cd IS NOT NULL THEN
621 IF ( get_uk1_for_validation (
622 new_references.reporting_pell_cd,
623 new_references.ci_cal_type,
624 new_references.ci_sequence_number
625 )
626 ) THEN
627 fnd_message.set_name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
628 igs_ge_msg_stack.add;
629 app_exception.raise_exception;
630 END IF;
631 END IF;
632
633 IF new_references.rep_entity_id_txt IS NOT NULL THEN
634 IF ( get_uk2_for_validation (
635 new_references.ci_cal_type,
636 new_references.ci_sequence_number,
637 new_references.rep_entity_id_txt
638 )
639 ) THEN
640 fnd_message.set_name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
641 igs_ge_msg_stack.add;
642 app_exception.raise_exception;
643 END IF;
644 END IF;
645
646 END check_uniqueness;
647
648 FUNCTION get_uk1_for_validation (
649 x_rep_pell IN VARCHAR2,
650 x_ci_cal_type IN VARCHAR2,
651 x_ci_sequence_number IN NUMBER
652 ) RETURN BOOLEAN AS
653 /*
654 || Created By : nsidana
655 || Created On : 28-DEC-2001
656 || Purpose : Validates the Unique Keys of the table.
657 || Known limitations, enhancements or remarks :
658 || Change History :
659 || Who When What
660 || (reverse chronological order - newest change first)
661 */
662 CURSOR cur_rowid IS
663 SELECT rowid
664 FROM igf_gr_report_pell
665 WHERE NVL(reporting_pell_cd,'*') = NVL(x_rep_pell,'*')
666 AND ci_cal_type = x_ci_cal_type
667 AND ci_sequence_number = x_ci_sequence_number
668 AND ((l_rowid IS NULL) OR (rowid <> l_rowid));
669
670 lv_rowid cur_rowid%RowType;
671
672 BEGIN
673 OPEN cur_rowid;
674 FETCH cur_rowid INTO lv_rowid;
675 IF (cur_rowid%FOUND) THEN
676 CLOSE cur_rowid;
677 RETURN (true);
678 ELSE
679 CLOSE cur_rowid;
680 RETURN(FALSE);
681 END IF;
682 END get_uk1_for_validation ;
683
684 FUNCTION get_uk2_for_validation (
685 x_ci_cal_type IN VARCHAR2,
686 x_ci_sequence_number IN NUMBER,
687 x_rep_entity_id_txt IN VARCHAR2
688 ) RETURN BOOLEAN AS
689 /*
690 || Created By : nsidana
691 || Created On : 28-DEC-2001
692 || Purpose : Validates the Unique Keys of the table.
693 || Known limitations, enhancements or remarks :
694 || Change History :
695 || Who When What
696 || (reverse chronological order - newest change first)
697 */
698 CURSOR cur_rowid IS
699 SELECT rowid
700 FROM igf_gr_report_pell
701 WHERE NVL(rep_entity_id_txt,'*') = NVL(x_rep_entity_id_txt,'*')
702 AND ci_cal_type = x_ci_cal_type
703 AND ci_sequence_number = x_ci_sequence_number
704 AND ((l_rowid IS NULL) OR (rowid <> l_rowid));
705
706 lv_rowid cur_rowid%RowType;
707
708 BEGIN
709 OPEN cur_rowid;
710 FETCH cur_rowid INTO lv_rowid;
711 IF (cur_rowid%FOUND) THEN
712 CLOSE cur_rowid;
713 RETURN (true);
714 ELSE
715 CLOSE cur_rowid;
716 RETURN(FALSE);
717 END IF;
718 END get_uk2_for_validation ;
719
720
721 END igf_gr_report_pell_pkg;
722