DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_APPQUAL_CODE_PKG

Source


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