DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGF_GR_REPORT_PELL_PKG

Source


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