DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_TRANSCRIPT_PKG

Source


1 PACKAGE BODY igs_ad_transcript_pkg AS
2 /* $Header: IGSAI82B.pls 120.2 2005/10/01 21:47:23 appldev ship $ */
3   l_rowid VARCHAR2(25);
4   old_references igs_ad_transcript%RowType;
5   new_references igs_ad_transcript%RowType;
6   l_transcript_id  igs_ad_transcript.transcript_id%TYPE;
7 
8   PROCEDURE check_uniqueness AS
9   /*
10   ||  Created By : [email protected]
11   ||  Created On : 29-OCT-2004
12   ||  Purpose : Handles the Unique Constraint logic defined for the columns.
13   ||  Known limitations, enhancements or remarks :
14   ||  Change History :
15   ||  Who             When            What
16   ||  (reverse chronological order - newest change first)
17   */
18  CURSOR check_issuedate(cp_education_id IN NUMBER,cp_date_of_issue IN DATE) IS
19     SELECT 'A' FROM IGS_AD_TRANSCRIPT_V TRANS WHERE EDUCATION_ID = cp_education_id
20     AND DATE_OF_ISSUE =  cp_date_of_issue
21     AND (new_references.transcript_id IS NULL OR new_references.transcript_id <>  trans.transcript_id);
22  l_temp VARCHAR2(1);
23 
24   BEGIN
25    l_temp := NULL;
26    OPEN check_issuedate(new_references.education_id,new_references.date_of_issue);
27    FETCH check_issuedate INTO l_temp;
28    CLOSE check_issuedate;
29    IF l_temp IS NOT NULL THEN
30       Fnd_Message.Set_Name('IGS','IGS_AD_DUP_DATE_OF_ISSUE');
31       IGS_GE_MSG_STACK.ADD;
32       app_Exception.Raise_Exception;
33    END IF;
34 
35   END check_uniqueness;
36 
37   PROCEDURE Check_Status AS
38 
39   /*
40   ||  Created By : jchin
41   ||  Created On : 29-SEP-2005
42   ||  Purpose : Check whether transcript is associated with an academic record
43   ||  which is INACTIVE  If so, throw an error
44   ||  Known limitations, enhancements or remarks :
45   ||  Change History :
46   ||  Who             When            What
47   ||  (reverse chronological order - newest change first)
48   */
49   CURSOR check_status(cp_education_id IN NUMBER) IS
50     SELECT DISTINCT 1
51     FROM igs_ad_acad_history_v hist
52     WHERE hist.education_id = cp_education_id
53     AND hist.status = 'I';
54 
55   l_temp NUMBER;
56 
57   BEGIN
58 
59    l_temp := NULL;
60 
61    OPEN check_status(new_references.education_id);
62    FETCH check_status INTO l_temp;
63    CLOSE check_status;
64 
65    IF l_temp IS NOT NULL THEN
66       Fnd_Message.Set_Name('IGS','IGS_AD_INACTIVE_ACAD_HIST');
67       IGS_GE_MSG_STACK.ADD;
68       app_Exception.Raise_Exception;
69    END IF;
70 
71   END Check_Status;
72 
73   PROCEDURE Set_Column_Values (
74     p_action IN VARCHAR2,
75     x_rowid IN VARCHAR2 DEFAULT NULL,
76     x_quintile_rank IN NUMBER DEFAULT NULL,
77     x_percentile_rank IN NUMBER DEFAULT NULL,
78     x_transcript_id IN NUMBER DEFAULT NULL,
79     x_education_id IN NUMBER DEFAULT NULL,
80     x_transcript_status IN VARCHAR2 DEFAULT NULL,
81     x_transcript_source IN NUMBER DEFAULT NULL,
82     x_date_of_receipt IN DATE DEFAULT NULL,
83     x_entered_gpa IN VARCHAR2 DEFAULT NULL,
84     x_entered_gs_id IN NUMBER DEFAULT NULL,
85     x_conv_gpa IN VARCHAR2 DEFAULT NULL,
86     x_conv_gs_id IN NUMBER DEFAULT NULL,
87     x_term_type IN VARCHAR2 DEFAULT NULL,
88     x_rank_in_class IN NUMBER DEFAULT NULL,
89     x_class_size IN NUMBER DEFAULT NULL,
90     x_approximate_rank IN VARCHAR2 DEFAULT NULL,
91     x_weighted_rank IN VARCHAR2 DEFAULT NULL,
92     x_decile_rank IN NUMBER DEFAULT NULL,
93     x_quartile_rank IN NUMBER DEFAULT NULL,
94     x_transcript_type  IN VARCHAR2 DEFAULT NULL,
95     x_creation_date IN DATE DEFAULT NULL,
96     x_created_by IN NUMBER DEFAULT NULL,
97     x_last_update_date IN DATE DEFAULT NULL,
98     x_last_updated_by IN NUMBER DEFAULT NULL,
99     x_last_update_login IN NUMBER DEFAULT NULL ,
100     x_override IN VARCHAR2 DEFAULT NULL,
101     x_override_id IN NUMBER DEFAULT NULL,
102     x_override_date IN DATE DEFAULT NULL,
103        X_DATE_OF_ISSUE IN DATE DEFAULT NULL,
104 --   Added for new field   Ravishar / 14-sep-2004
105     x_CORE_CURRICULUM_VALUE IN VARCHAR2 DEFAULT NULL
106   ) AS
107 
108   /*************************************************************
109   Created By : Kamalakar N.
110   Date Created By : 15/May/2000
111   Purpose :
112   Know limitations, enhancements or remarks
113   Change History
114   Who             When            What
115   (reverse chronological order - newest change first)
116 
117   vdixit.in	      23-JULY-2001      Added new column transcript_type
118 					to the tbh calls
119  rboddu               12-NOV-2001       Added new columns oevrride,
120                                          override_id and override_date.
121                                         End Bug No : 2097333
122 ***************************************************************/
123 
124     CURSOR cur_old_ref_values IS
125       SELECT   *
126       FROM     IGS_AD_TRANSCRIPT
127       WHERE    rowid = x_rowid;
128 
129   BEGIN
130 
131     l_rowid := x_rowid;
132 
133     -- Code for setting the Old and New Reference Values.
134     -- Populate Old Values.
135     Open cur_old_ref_values;
136     Fetch cur_old_ref_values INTO old_references;
137     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
138       Close cur_old_ref_values;
139       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
140       IGS_GE_MSG_STACK.ADD;
141       App_Exception.Raise_Exception;
142       Return;
143     END IF;
144     Close cur_old_ref_values;
145 
146     -- Populate New Values.
147     new_references.quintile_rank := x_quintile_rank;
148     new_references.percentile_rank := x_percentile_rank;
149     new_references.transcript_id := x_transcript_id;
150     new_references.education_id := x_education_id;
151     new_references.transcript_status := x_transcript_status;
152     new_references.transcript_source := x_transcript_source;
153     new_references.date_of_receipt := TRUNC(x_date_of_receipt);
154     new_references.entered_gpa := x_entered_gpa;
155     new_references.entered_gs_id := x_entered_gs_id;
156     new_references.conv_gpa := x_conv_gpa;
157     new_references.conv_gs_id := x_conv_gs_id;
158     new_references.term_type := x_term_type;
159     new_references.rank_in_class := x_rank_in_class;
160     new_references.class_size := x_class_size;
161     new_references.approximate_rank := x_approximate_rank;
162     new_references.weighted_rank := x_weighted_rank;
163     new_references.decile_rank := x_decile_rank;
164     new_references.quartile_rank := x_quartile_rank;
165     new_references.transcript_type := x_transcript_type;
166     new_references.override := x_override;
167     new_references.override_id := x_override_id;
168     new_references.override_date := TRUNC(x_override_Date);
169     new_references.date_of_issue := TRUNC(x_date_of_issue);
170 --   Added for new field   Ravishar / 14-sep-2004
171     new_references.core_curriculum_value := x_core_curriculum_value;
172 
173 
174     IF (p_action = 'UPDATE') THEN
175       new_references.creation_date := old_references.creation_date;
176       new_references.created_by := old_references.created_by;
177     ELSE
178       new_references.creation_date := x_creation_date;
179       new_references.created_by := x_created_by;
180     END IF;
181     new_references.last_update_date := x_last_update_date;
182     new_references.last_updated_by := x_last_updated_by;
183     new_references.last_update_login := x_last_update_login;
184 
185   END Set_Column_Values;
186 
187   PROCEDURE Check_Constraints (
188 		 Column_Name IN VARCHAR2  DEFAULT NULL,
189 		 Column_Value IN VARCHAR2  DEFAULT NULL ) AS
190   /*************************************************************
191   Created By : Kamalakar N.
192   Date Created By : 15/May/2000
193   Purpose :
194   Know limitations, enhancements or remarks
195   Change History
196   Who             When            What
197 
198   (reverse chronological order - newest change first)
199   vdixit.in	      23-JULY-2001      Added new column transcript_type
200 					to the tbh calls
201   rboddu              12-NOV-2001        Added the new columns override,
202                                          override_id and override_date
203                                          Bug No : 2097333
204   kamohan	      30-NOV-2001	Added the check for date of
205 					issue column
206   ***************************************************************/
207 
208   BEGIN
209 
210       IF column_name IS NULL THEN
211         NULL;
212       ELSIF  UPPER(column_name) = 'PERCENTILE_RANK'  THEN
213         new_references.percentile_rank := IGS_GE_NUMBER.TO_NUM(column_value);
214       ELSIF  UPPER(column_name) = 'QUARTILE_RANK'  THEN
215         new_references.quartile_rank := IGS_GE_NUMBER.TO_NUM(column_value);
216       ELSIF  UPPER(column_name) = 'QUINTILE_RANK'  THEN
217         new_references.quintile_rank := IGS_GE_NUMBER.TO_NUM(column_value);
218       ELSIF  UPPER(column_name) = 'DECILE_RANK'  THEN
219         new_references.decile_rank := IGS_GE_NUMBER.TO_NUM(column_value);
220       ELSIF  UPPER(column_name) = 'APPROXIMATE_RANK'  THEN
221         new_references.approximate_rank := column_value;
222       ELSIF  UPPER(column_name) = 'WEIGHTED_RANK'  THEN
223         new_references.weighted_rank := column_value;
224       ELSIF  UPPER(column_name) = 'RANK_IN_CLASS'  THEN
225         new_references.rank_in_class := IGS_GE_NUMBER.TO_NUM(column_value);
226       ELSIF  UPPER(column_name) = 'CLASS_SIZE'  THEN
227         new_references.class_size := IGS_GE_NUMBER.TO_NUM(column_value);
228       ELSIF  UPPER(column_name) = 'TRANSCRIPT_TYPE'  THEN
229         new_references.transcript_type := column_value;
230       END IF;
231 
232     -- The following code checks for check constraints on the Columns.
233       IF Upper(Column_Name) = 'PERCENTILE_RANK' OR
234       	Column_Name IS NULL THEN
235         IF NOT ( (new_references.percentile_rank >= 0) AND (new_references.percentile_rank <= 100) )  THEN
236          FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
237          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PERCENTILE_RANK'));
238          IGS_GE_MSG_STACK.ADD;
239          App_Exception.Raise_Exception;
240         END IF;
241       END IF;
242 
243     -- The following code checks for check constraints on the Columns.
244       IF Upper(Column_Name) = 'QUARTILE_RANK' OR
245       	Column_Name IS NULL THEN
246         IF NOT ( (new_references.quartile_rank >0) AND (new_references.quartile_rank <= 4)  )  THEN
247          FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
248          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_QUARTILE_RANK'));
249          IGS_GE_MSG_STACK.ADD;
250          App_Exception.Raise_Exception;
251         END IF;
252       END IF;
253 
254     -- The following code checks for check constraints on the Columns.
255       IF Upper(Column_Name) = 'QUINTILE_RANK' OR
256       	Column_Name IS NULL THEN
257         IF NOT ( (new_references.quintile_rank > 0)  AND (new_references.quintile_rank <= 5) )   THEN
258          FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
259          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_QUINTILE_RANK'));
260          IGS_GE_MSG_STACK.ADD;
261          App_Exception.Raise_Exception;
262         END IF;
263       END IF;
264 
265     -- The following code checks for check constraints on the Columns.
266       IF Upper(Column_Name) = 'DECILE_RANK' OR
267       	Column_Name IS NULL THEN
268         IF NOT ( (new_references.decile_rank > 0)  AND (new_references.decile_rank <= 10)  ) THEN
269          FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
270          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DECILE_RANK'));
271          IGS_GE_MSG_STACK.ADD;
272          App_Exception.Raise_Exception;
273         END IF;
274       END IF;
275 
276     -- The following code checks for check constraints on the Columns.
277       IF Upper(Column_Name) = 'APPROXIMATE_RANK' OR
278       	Column_Name IS NULL THEN
279         IF NOT (new_references.approximate_rank in ('Y','N'))  THEN
280          FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
281          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_APPROXIMATE_RANK'));
282          IGS_GE_MSG_STACK.ADD;
283          App_Exception.Raise_Exception;
284         END IF;
285       END IF;
286 
287     -- The following code checks for check constraints on the Columns.
288       IF Upper(Column_Name) = 'WEIGHTED_RANK' OR
289       	Column_Name IS NULL THEN
290         IF NOT (new_references.weighted_rank in ('Y','N'))  THEN
291          FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
292          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_WEIGHTED_RANK'));
293          IGS_GE_MSG_STACK.ADD;
294          App_Exception.Raise_Exception;
295         END IF;
296       END IF;
297 
298     -- The following code checks for check constraints on the Columns.
299       IF Upper(Column_Name) = 'RANK_IN_CLASS' OR
300       	Column_Name IS NULL THEN
301         IF NOT (new_references.rank_in_class > 0)  THEN
302          FND_MESSAGE.SET_NAME('IGS','IGS_SS_DSRD_RANK_NONEGATE');
303          IGS_GE_MSG_STACK.ADD;
304          App_Exception.Raise_Exception;
305         END IF;
306       END IF;
307 
308     -- The following code checks for check constraints on the Columns.
309       IF Upper(Column_Name) = 'CLASS_SIZE' OR
310       	Column_Name IS NULL THEN
311         IF NOT (new_references.class_size > 0)  THEN
312          FND_MESSAGE.SET_NAME('IGS','IGS_AD_CLASS_SIZE');
313          IGS_GE_MSG_STACK.ADD;
314          App_Exception.Raise_Exception;
315         END IF;
316       END IF;
317 
318       IF Upper(Column_Name) = 'TRANSCRIPT_TYPE' OR
319       	Column_Name IS NULL THEN
320         IF NOT (new_references.transcript_type in ('OFFICIAL','UNOFFICIAL'))  THEN
321          FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
322          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_TRANSCRIPT_TYPE'));
323          IGS_GE_MSG_STACK.ADD;
324          App_Exception.Raise_Exception;
325         END IF;
326       END IF;
327 
328     -- The following code checks for check constraints on the Columns.
329       IF Upper(Column_Name) = 'OVERRIDE' OR
330       	Column_Name IS NULL THEN
331         IF NOT (new_references.override in ('Y','N'))  THEN
332          FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
333          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_OVERRIDE'));
334          IGS_GE_MSG_STACK.ADD;
335          App_Exception.Raise_Exception;
336         END IF;
337       END IF;
338 
339     -- The following code checks for check constraints on the Columns.
340       IF Upper(Column_Name) = 'DATE_OF_ISSUE' OR
341       	Column_Name IS NULL THEN
342         IF (new_references.date_of_issue > SYSDATE )  THEN
343            Fnd_Message.Set_Name('IGS','IGS_AD_SYS_DATOFISSUE');
344 	   IGS_GE_MSG_STACK.ADD;
345            App_Exception.Raise_Exception;
346 	END IF;
347 	IF (new_references.date_of_issue > new_references.date_of_receipt )  THEN
348            Fnd_Message.Set_Name('IGS','IGS_AD_INV_DATOFISSUE');
349 	   IGS_GE_MSG_STACK.ADD;
350 	   app_Exception.Raise_Exception;
351 	END IF;
352       END IF;
353   END Check_Constraints;
354 
355   PROCEDURE Check_Parent_Existance AS
356  /*************************************************************
357   Created By : Kamalakar N.
358   Date Created By : 15/May/2000
359   Purpose :
360   Know limitations, enhancements or remarks
361   Change History
362   Who             When            What
363 
364   (reverse chronological order - newest change first)
365   vdixit.in	      23-JULY-2001      Added new column transcript_type
366 					to the tbh calls
367 
368   ***************************************************************/
369 
370   BEGIN
371 
372     IF (((old_references.education_id = new_references.education_id)) OR
373         ((new_references.education_id IS NULL))) THEN
374       NULL;
375 
376 /*    ELSIF NOT Igs_Ad_Acad_History_Pkg.Get_PK_For_Validation (
377         		new_references.education_id
378         )  THEN
379 	 Fnd_Message.Set_Name ('FND','FORM_RECORD_DELETED');
380       IGS_GE_MSG_STACK.ADD;
381  	 App_Exception.Raise_Exception;*/ -- not needed after TCA changes
382     END IF;
383 
384     IF (((old_references.conv_gs_id = new_references.conv_gs_id)) OR
385         ((new_references.conv_gs_id IS NULL))) THEN
386       NULL;
387     ELSIF NOT Igs_Ad_Code_Classes_Pkg.Get_uk2_For_Validation (
388         		new_references.conv_gs_id,
389                         'GRADING_SCALE_TYPES',
390                         'N'
391         )  THEN
392          FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
393          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_CONV_GRAD_SCALE'));
394          IGS_GE_MSG_STACK.ADD;
395  	 App_Exception.Raise_Exception;
396     END IF;
397 
398     IF (((old_references.transcript_source = new_references.transcript_source)) OR
399         ((new_references.transcript_source IS NULL))) THEN
400       NULL;
401     ELSIF NOT Igs_Ad_Code_Classes_Pkg.Get_UK2_For_Validation (
402         		new_references.transcript_source,
403                         'TRANSCRIPT_SOURCE',
404                         'N'
405         )  THEN
406          FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
407          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_TRANSCRIPT_SOURCE'));
408          IGS_GE_MSG_STACK.ADD;
409  	 App_Exception.Raise_Exception;
410     END IF;
411 
412     IF (((old_references.entered_gs_id = new_references.entered_gs_id)) OR
413         ((new_references.entered_gs_id IS NULL))) THEN
414       NULL;
415     ELSIF NOT Igs_Ad_Code_Classes_Pkg.Get_uk2_For_Validation (
416         		new_references.entered_gs_id,
417                         'GRADING_SCALE_TYPES',
418                         'N'
419         )  THEN
420          FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
421          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ENTERED_GRAD_SCALE'));
422          IGS_GE_MSG_STACK.ADD;
423  	 App_Exception.Raise_Exception;
424     END IF;
425 
426     IF (((old_references.term_type = new_references.term_type)) OR
427         ((new_references.term_type IS NULL))) THEN
428       NULL;
429     ELSIF NOT Igs_LookUps_View_Pkg.Get_PK_For_Validation (
430                        'TERM_TYPE',
431         		new_references.term_type
432         )  THEN
433          FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
434          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_TERM_TYPE'));
435          IGS_GE_MSG_STACK.ADD;
436  	 App_Exception.Raise_Exception;
437     END IF;
438 
439         IF (((old_references.transcript_status = new_references.transcript_status)) OR
440         ((new_references.transcript_status IS NULL))) THEN
441       NULL;
442     ELSIF NOT Igs_LookUps_View_Pkg.Get_PK_For_Validation (
443                        'TRANSCRIPT_STATUS',
444         		new_references.transcript_status
445         )  THEN
446          FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
447          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_TRANSCRIPT_STATUS'));
448          IGS_GE_MSG_STACK.ADD;
449  	 App_Exception.Raise_Exception;
450     END IF;
451 
452 
453    IF (((old_references.transcript_type = new_references.transcript_type)) OR
454        ((new_references.transcript_type IS NULL))) THEN
455          NULL;
456    ELSIF NOT Igs_LookUps_View_Pkg.Get_PK_For_Validation (
457                        'TRANSCRIPT_TYPE',
458         		new_references.transcript_type
459         )  THEN
460          FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
461          FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_TRANSCRIPT_TYPE'));
462          IGS_GE_MSG_STACK.ADD;
463  	 App_Exception.Raise_Exception;
464     END IF;
465 
466   END Check_Parent_Existance;
467 
468   PROCEDURE Check_Child_Existance IS
469  /*************************************************************
470   Created By : Kamalakar N.
471   Date Created By : 15/May/2000
472   Purpose :
473   Know limitations, enhancements or remarks
474   Change History
475   Who             When            What
476 
477   (reverse chronological order - newest change first)
478   ***************************************************************/
479 
480   BEGIN
481 
482     Igs_Ad_Term_Details_Pkg.Get_FK_Igs_Ad_Transcript (
483       old_references.transcript_id
484       );
485 
486   END Check_Child_Existance;
487 
488   FUNCTION Get_PK_For_Validation (
489     x_transcript_id IN NUMBER
490     ) RETURN BOOLEAN AS
491 
492   /*************************************************************
493   Created By : Kamalakar N.
494   Date Created By : 15/May/2000
495   Purpose :
496   Know limitations, enhancements or remarks
497   Change History
498   Who             When            What
499 
500   (reverse chronological order - newest change first)
501   ***************************************************************/
502 
503     CURSOR cur_rowid IS
504       SELECT   rowid
505       FROM     igs_ad_transcript
506       WHERE    transcript_id = x_transcript_id
507       FOR UPDATE NOWAIT;
508 
509     lv_rowid cur_rowid%RowType;
510 
511   BEGIN
512 
513     Open cur_rowid;
514     Fetch cur_rowid INTO lv_rowid;
515     IF (cur_rowid%FOUND) THEN
516       Close cur_rowid;
517       Return(TRUE);
518     ELSE
519       Close cur_rowid;
520       Return(FALSE);
521     END IF;
522   END Get_PK_For_Validation;
523 
524   PROCEDURE Get_FK_Igs_Ad_Hz_Acad_History (
525     x_education_id IN NUMBER
526     ) AS
527 
528   /*************************************************************
529   Created By : Kamalakar N.
530   Date Created By : 15/May/2000
531   Purpose :
532   Know limitations, enhancements or remarks
533   Change History
534   Who             When            What
535 
536   (reverse chronological order - newest change first)
537   ***************************************************************/
538 
539     CURSOR cur_rowid IS
540       SELECT   rowid
541       FROM     igs_ad_transcript
542       WHERE    education_id = x_education_id ;
543 
544     lv_rowid cur_rowid%RowType;
545 
546   BEGIN
547 
548     Open cur_rowid;
549     Fetch cur_rowid INTO lv_rowid;
550     IF (cur_rowid%FOUND) THEN
551       Close cur_rowid;
552       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ATRN_AAHST_FK');
553       IGS_GE_MSG_STACK.ADD;
554       App_Exception.Raise_Exception;
555       Return;
556     END IF;
557     Close cur_rowid;
558 
559   END Get_FK_Igs_Ad_Hz_Acad_History;
560 
561 
562   PROCEDURE Get_FK_Igs_Ad_Code_Classes (
563     x_code_id IN NUMBER
564     ) AS
565 
566   /*************************************************************
567   Created By : Kamalakar N.
568   Date Created By : 15/May/2000
569   Purpose :
570   Know limitations, enhancements or remarks
571   Change History
572   Who             When            What
573 
574   (reverse chronological order - newest change first)
575   ***************************************************************/
576 
577     CURSOR cur_rowid IS
578       SELECT   rowid
579       FROM     igs_ad_transcript
580       WHERE    conv_gs_id = x_code_id ;
581 
582     lv_rowid cur_rowid%RowType;
583 
584     CURSOR cur_rowid2 IS
585       SELECT   rowid
586       FROM     igs_ad_transcript
587       WHERE    transcript_source = x_code_id ;
588 
589     lv_rowid2 cur_rowid2%RowType;
590 
591     CURSOR cur_rowid3 IS
592       SELECT   rowid
593       FROM     igs_ad_transcript
594       WHERE    entered_gs_id = x_code_id ;
595 
596     lv_rowid3 cur_rowid3%RowType;
597 
598   BEGIN
599 
600     Open cur_rowid;
601     Fetch cur_rowid INTO lv_rowid;
602     IF (cur_rowid%FOUND) THEN
603       Close cur_rowid;
604       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ATRN_ACDC_FK1');
605       IGS_GE_MSG_STACK.ADD;
606       App_Exception.Raise_Exception;
607       Return;
608     END IF;
609     Close cur_rowid;
610     Open cur_rowid2;
611     Fetch cur_rowid2 INTO lv_rowid2;
612     IF (cur_rowid2%FOUND) THEN
613       Close cur_rowid2;
614       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ATRN_ACDC_FK3');
615       IGS_GE_MSG_STACK.ADD;
616       App_Exception.Raise_Exception;
617       Return;
618     END IF;
619     Close cur_rowid2;
620     Open cur_rowid3;
621     Fetch cur_rowid3 INTO lv_rowid3;
622     IF (cur_rowid3%FOUND) THEN
623       Close cur_rowid3;
624       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ATRN_ACDC_FK2');
625       IGS_GE_MSG_STACK.ADD;
626       App_Exception.Raise_Exception;
627       Return;
628     END IF;
629     Close cur_rowid3;
630   END Get_FK_Igs_Ad_Code_Classes;
631 
632 
633 
634   PROCEDURE Before_DML (
635     p_action IN VARCHAR2,
636     x_rowid IN VARCHAR2 DEFAULT NULL,
637     x_quintile_rank IN NUMBER DEFAULT NULL,
638     x_percentile_rank IN NUMBER DEFAULT NULL,
639     x_transcript_id IN NUMBER DEFAULT NULL,
640     x_education_id IN NUMBER DEFAULT NULL,
641     x_transcript_status IN VARCHAR2 DEFAULT NULL,
642     x_transcript_source IN NUMBER DEFAULT NULL,
643     x_date_of_receipt IN DATE DEFAULT NULL,
644     x_entered_gpa IN VARCHAR2 DEFAULT NULL,
645     x_entered_gs_id IN NUMBER DEFAULT NULL,
646     x_conv_gpa IN VARCHAR2 DEFAULT NULL,
647     x_conv_gs_id IN NUMBER DEFAULT NULL,
648     x_term_type IN VARCHAR2 DEFAULT NULL,
649     x_rank_in_class IN NUMBER DEFAULT NULL,
650     x_class_size IN NUMBER DEFAULT NULL,
651     x_approximate_rank IN VARCHAR2 DEFAULT NULL,
652     x_weighted_rank IN VARCHAR2 DEFAULT NULL,
653     x_decile_rank IN NUMBER DEFAULT NULL,
654     x_quartile_rank IN NUMBER DEFAULT NULL,
655     x_transcript_type IN VARCHAR2 DEFAULT NULL,
656     x_creation_date IN DATE DEFAULT NULL,
657     x_created_by IN NUMBER DEFAULT NULL,
658     x_last_update_date IN DATE DEFAULT NULL,
659     x_last_updated_by IN NUMBER DEFAULT NULL,
660     x_last_update_login IN NUMBER DEFAULT NULL,
661     x_override IN VARCHAR2 DEFAULT NULL,
662     x_override_id IN NUMBER DEFAULT NULL,
663     x_override_date IN DATE DEFAULT NULL,
664        X_DATE_OF_ISSUE IN DATE DEFAULT NULL,
665 --   Added for new field   Ravishar / 14-sep-2004
666     x_CORE_CURRICULUM_VALUE IN VARCHAR2 DEFAULT NULL
667 
668   ) AS
669  /*************************************************************
670   Created By : Kamalakar N.
671   Date Created By : 15/May/2000
672   Purpose :
673   Know limitations, enhancements or remarks
674   Change History
675   Who             When            What
676 
677   (reverse chronological order - newest change first)
678   vdixit.in	      23-JULY-2001      Added new column transcript_type
679 					to the tbh calls
680    rboddu              12-NOV-2001        Added the new columns override,
681                                          override_id and override_date
682                                           Bug No: 2097333
683   ***************************************************************/
684 
685   BEGIN
686 
687     Set_Column_Values (
688       p_action,
689       x_rowid,
690       x_quintile_rank,
691       x_percentile_rank,
692       x_transcript_id,
693       x_education_id,
694       x_transcript_status,
695       x_transcript_source,
696       x_date_of_receipt,
697       x_entered_gpa,
698       x_entered_gs_id,
699       x_conv_gpa,
700       x_conv_gs_id,
701       x_term_type,
702       x_rank_in_class,
703       x_class_size,
704       x_approximate_rank,
705       x_weighted_rank,
706       x_decile_rank,
707       x_quartile_rank,
708       x_transcript_type,
709       x_creation_date,
710       x_created_by,
711       x_last_update_date,
712       x_last_updated_by,
713       x_last_update_login,
714       x_override,
715       x_override_id,
716       x_override_date,
717       x_date_of_issue,
718 --   Added for new field   Ravishar / 14-sep-2004
719      x_core_curriculum_value
720     );
721 
722     IF (p_action = 'INSERT') THEN
723       -- Call all the procedures related to Before Insert.
724       Null;
725 	     IF Get_Pk_For_Validation(
726     		 new_references.transcript_id)  THEN
727 	       Fnd_Message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
728                IGS_GE_MSG_STACK.ADD;
729 	       App_Exception.Raise_Exception;
730 	     END IF;
731       Check_Constraints;
732       Check_Parent_Existance;
733       check_uniqueness;
734       Check_Status;   --jchin Bug 4629226
735     ELSIF (p_action = 'UPDATE') THEN
736       -- Call all the procedures related to Before Update.
737       Null;
738       Check_Constraints;
739       Check_Parent_Existance;
740       check_uniqueness;
741       Check_Status;    --jchin Bug 4629226
742     ELSIF (p_action = 'DELETE') THEN
743       -- Call all the procedures related to Before Delete.
744       Null;
745       Check_Child_Existance;
746     ELSIF (p_action = 'VALIDATE_INSERT') THEN
747 	 -- Call all the procedures related to Before Insert.
748       IF Get_PK_For_Validation (
749     		new_references.transcript_id)  THEN
750 	       Fnd_Message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
751                IGS_GE_MSG_STACK.ADD;
752 	       App_Exception.Raise_Exception;
753       END IF;
754       Check_Constraints;
755       check_uniqueness;
756     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
757       Check_Constraints;
758       check_uniqueness;
759     ELSIF (p_action = 'VALIDATE_DELETE') THEN
760       Check_Child_Existance;
761     END IF;
762 
763   END Before_DML;
764 
765   PROCEDURE After_DML (
766     p_action IN VARCHAR2,
767     x_rowid IN VARCHAR2
768   ) IS
769   /*************************************************************
770   Created By : Kamalakar N.
771   Date Created By : 15/May/2000
772   Purpose :
773   Know limitations, enhancements or remarks
774   Change History
775   Who             When            What
776 
777   (reverse chronological order - newest change first)
778   ***************************************************************/
779     CURSOR c_person_id( p_education_id  hz_education.education_id%TYPE)  IS
780     SELECT party_id  person_id
781     FROM HZ_EDUCATION
782     WHERE education_id = p_education_id;
783     person_id_rec   c_person_id%ROWTYPE;
784   BEGIN
785 
786     l_rowid := x_rowid;
787 
788     IF (p_action = 'INSERT') THEN
789       -- Call all the procedures related to After Insert.
790        IF IGS_AD_TRANSCRIPT_PKG.TRN_CRT_MODE = 'NI'  THEN
791          OPEN c_person_id(new_references.education_id);
792          FETCH c_person_id INTO person_id_rec;
793          CLOSE c_person_id;
794            igs_ad_wf_001.transcript_entrd_event(
795            person_id_rec.person_id,
796            new_references.education_id,
797            l_transcript_id
798              );
799         END IF;
800 
801     ELSIF (p_action = 'UPDATE') THEN
802       -- Call all the procedures related to After Update. desc
803       --Raise the buisness event
804        OPEN c_person_id(new_references.education_id);
805        FETCH c_person_id INTO person_id_rec;
806        CLOSE c_person_id;
807 
808       igs_ad_wf_001.TRANSCRIPT_UPD_EVENT
809       (
810       P_TRANSCRIPT_ID			=>   new_references.transcript_id,
811       P_EDUCATION_ID			=>   new_references.education_id,
812       P_PERSON_ID			=>   person_id_rec.person_id,
813       P_TRANSCRIPT_STATUS_OLD		=>   old_references.transcript_status,
814       P_TRANSCRIPT_STATUS_NEW		=>   new_references.transcript_status,
815       P_TRANSCRIPT_TYPE_OLD		=>   old_references.transcript_type,
816       P_TRANSCRIPT_TYPE_NEW		=>   new_references.transcript_type
817       );
818     ELSIF (p_action = 'DELETE') THEN
819       -- Call all the procedures related to After Delete.
820       Null;
821     END IF;
822 
823   END After_DML;
824 
825  procedure INSERT_ROW (
826       X_ROWID in out NOCOPY VARCHAR2,
827        x_QUINTILE_RANK IN NUMBER,
828        x_PERCENTILE_RANK IN NUMBER,
829        x_TRANSCRIPT_ID IN OUT NOCOPY NUMBER,
830        x_EDUCATION_ID IN NUMBER,
831        x_TRANSCRIPT_STATUS IN VARCHAR2,
832        x_TRANSCRIPT_SOURCE IN NUMBER,
833        x_DATE_OF_RECEIPT IN DATE,
834        x_ENTERED_GPA IN VARCHAR2,
835        x_ENTERED_GS_ID IN NUMBER,
836        x_CONV_GPA IN VARCHAR2,
837        x_CONV_GS_ID IN NUMBER,
838        x_TERM_TYPE IN VARCHAR2,
839        x_RANK_IN_CLASS IN NUMBER,
840        x_CLASS_SIZE IN NUMBER,
841        x_APPROXIMATE_RANK IN VARCHAR2,
842        x_WEIGHTED_RANK IN VARCHAR2,
843        x_DECILE_RANK IN NUMBER,
844        x_QUARTILE_RANK IN NUMBER,
845        x_TRANSCRIPT_TYPE IN VARCHAR2 DEFAULT NULL,
846       X_MODE in VARCHAR2 DEFAULT NULL,
847        x_OVERRIDE IN VARCHAR2 DEFAULT NULL,
848        x_OVERRIDE_ID IN NUMBER DEFAULT NULL,
849        x_OVERRIDE_DATE IN DATE DEFAULT NULL,
850        X_DATE_OF_ISSUE IN DATE DEFAULT NULL,
851 --     Added for new field   Ravishar / 14-sep-2004
852        x_CORE_CURRICULUM_VALUE IN VARCHAR2 DEFAULT NULL
853 
854   ) AS
855   /*************************************************************
856   Created By : Kamalakar N.
857   Date Created By : 15/May/2000
858   Purpose :
859   Know limitations, enhancements or remarks
860   Change History
861   Who             When            What
862 
863   (reverse chronological order - newest change first)
864   vdixit.in	      23-JULY-2001      Added new column transcript_type
865 					to the tbh calls
866   rboddu              12-NOV-2001        Added the new columns override,
867                                          override_id and override_date
868                                          Bug No : 2097333
869   ***************************************************************/
870 
871     cursor C is select ROWID from IGS_AD_TRANSCRIPT
872              where                 TRANSCRIPT_ID= X_TRANSCRIPT_ID
873 ;
874      X_LAST_UPDATE_DATE DATE ;
875      X_LAST_UPDATED_BY NUMBER ;
876      X_LAST_UPDATE_LOGIN NUMBER ;
877      X_REQUEST_ID NUMBER;
878      X_PROGRAM_ID NUMBER;
879      X_PROGRAM_APPLICATION_ID NUMBER;
880      X_PROGRAM_UPDATE_DATE DATE;
881 
882      L_MODE  VARCHAR2(1);
883  begin
884 
885     L_MODE := NVL(X_MODE,'R');
886     X_LAST_UPDATE_DATE := SYSDATE;
887     if(L_MODE = 'I') then
888       X_LAST_UPDATED_BY := 1;
889       X_LAST_UPDATE_LOGIN := 0;
890     elsif (L_MODE IN ('R','S')) then
891       X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
892       if X_LAST_UPDATED_BY is NULL then
893         X_LAST_UPDATED_BY := -1;
894       end if;
895       X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
896       if X_LAST_UPDATE_LOGIN is NULL then
897         X_LAST_UPDATE_LOGIN := -1;
898       end if;
899       X_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
900       X_PROGRAM_ID := FND_GLOBAL.CONC_PROGRAM_ID;
901       X_PROGRAM_APPLICATION_ID := FND_GLOBAL.PROG_APPL_ID;
902       if (X_REQUEST_ID =  -1) then
903         X_REQUEST_ID := NULL;
904         X_PROGRAM_ID := NULL;
905         X_PROGRAM_APPLICATION_ID := NULL;
906         X_PROGRAM_UPDATE_DATE := NULL;
907       else
908         X_PROGRAM_UPDATE_DATE := SYSDATE;
909       end if;
910     else
911       FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
912       IGS_GE_MSG_STACK.ADD;
913       app_exception.raise_exception;
914     end if;
915 --   X_TRANSCRIPT_ID := -1;
916    Before_DML(
917  		p_action=>'INSERT',
918  		x_rowid=>X_ROWID,
919  	       x_quintile_rank=>X_QUINTILE_RANK,
920  	       x_percentile_rank=>X_PERCENTILE_RANK,
921  	       x_transcript_id=>X_TRANSCRIPT_ID,
922  	       x_education_id=>X_EDUCATION_ID,
923  	       x_transcript_status=>X_TRANSCRIPT_STATUS,
924  	       x_transcript_source=>X_TRANSCRIPT_SOURCE,
925  	       x_date_of_receipt=>X_DATE_OF_RECEIPT,
926  	       x_entered_gpa=>X_ENTERED_GPA,
927  	       x_entered_gs_id=>X_ENTERED_GS_ID,
928  	       x_conv_gpa=>X_CONV_GPA,
929  	       x_conv_gs_id=>X_CONV_GS_ID,
930  	       x_term_type=>X_TERM_TYPE,
931  	       x_rank_in_class=>X_RANK_IN_CLASS,
932  	       x_class_size=>X_CLASS_SIZE,
933  	       x_approximate_rank=>X_APPROXIMATE_RANK,
934  	       x_weighted_rank=>X_WEIGHTED_RANK,
935  	       x_decile_rank=>X_DECILE_RANK,
936  	       x_quartile_rank=>X_QUARTILE_RANK,
937       	       x_transcript_type=>X_TRANSCRIPT_TYPE,
938 	       x_creation_date=>X_LAST_UPDATE_DATE,
939 	       x_created_by=>X_LAST_UPDATED_BY,
940 	       x_last_update_date=>X_LAST_UPDATE_DATE,
941 	       x_last_updated_by=>X_LAST_UPDATED_BY,
942 	       x_last_update_login=>X_LAST_UPDATE_LOGIN,
943                x_override=>X_OVERRIDE,
944                x_override_id=>X_OVERRIDE_ID,
945                x_override_date=>X_OVERRIDE_DATE,
946 	       x_date_of_issue => x_date_of_issue,
947        --   Added for new field   Ravishar / 14-sep-2004
948                x_core_curriculum_value => X_CORE_CURRICULUM_VALUE
949 );
950 
951      IF X_TRANSCRIPT_ID IS NOT NULL THEN
952       L_TRANSCRIPT_ID:= X_TRANSCRIPT_ID;
953      ELSE
954       SELECT IGS_AD_TRANSCRIPT_S.NEXTVAL INTO L_TRANSCRIPT_ID FROM DUAL;
955      END IF;
956 
957       IF (x_mode = 'S') THEN
958     igs_sc_gen_001.set_ctx('R');
959   END IF;
960  insert into IGS_AD_TRANSCRIPT (
961 		QUINTILE_RANK
962 		,PERCENTILE_RANK
963 		,TRANSCRIPT_ID
964 		,EDUCATION_ID
965 		,TRANSCRIPT_STATUS
966 		,TRANSCRIPT_SOURCE
967 		,DATE_OF_RECEIPT
968 		,ENTERED_GPA
969 		,ENTERED_GS_ID
970 		,CONV_GPA
971 		,CONV_GS_ID
972 		,TERM_TYPE
973 		,RANK_IN_CLASS
974 		,CLASS_SIZE
975 		,APPROXIMATE_RANK
976 		,WEIGHTED_RANK
977 		,DECILE_RANK
978 		,QUARTILE_RANK
979  	        ,TRANSCRIPT_TYPE
980                 ,OVERRIDE
981                 ,OVERRIDE_ID
982                 ,OVERRIDE_DATE
983 		,DATE_OF_ISSUE
984 	        ,CREATION_DATE
985 		,CREATED_BY
986 		,LAST_UPDATE_DATE
987 		,LAST_UPDATED_BY
988 		,LAST_UPDATE_LOGIN
989 		,REQUEST_ID
990 		,PROGRAM_ID
991 		,PROGRAM_APPLICATION_ID
992 		,PROGRAM_UPDATE_DATE,
993        --   Added for new field   Ravishar / 14-sep-2004
994                 core_curriculum_value
995 
996         ) values  (
997 	        NEW_REFERENCES.QUINTILE_RANK
998 	        ,NEW_REFERENCES.PERCENTILE_RANK
999 	        ,L_TRANSCRIPT_ID --IGS_AD_TRANSCRIPT_S.NEXTVAL
1000 	        ,NEW_REFERENCES.EDUCATION_ID
1001 	        ,NEW_REFERENCES.TRANSCRIPT_STATUS
1002 	        ,NEW_REFERENCES.TRANSCRIPT_SOURCE
1003 	        ,NEW_REFERENCES.DATE_OF_RECEIPT
1004 	        ,NEW_REFERENCES.ENTERED_GPA
1005 	        ,NEW_REFERENCES.ENTERED_GS_ID
1006 	        ,NEW_REFERENCES.CONV_GPA
1007 	        ,NEW_REFERENCES.CONV_GS_ID
1008 	        ,NEW_REFERENCES.TERM_TYPE
1009 	        ,NEW_REFERENCES.RANK_IN_CLASS
1010 	        ,NEW_REFERENCES.CLASS_SIZE
1011 	        ,NEW_REFERENCES.APPROXIMATE_RANK
1012 	        ,NEW_REFERENCES.WEIGHTED_RANK
1013 	        ,NEW_REFERENCES.DECILE_RANK
1014 	        ,NEW_REFERENCES.QUARTILE_RANK
1015        	        ,NEW_REFERENCES.TRANSCRIPT_TYPE
1016                 ,NEW_REFERENCES.OVERRIDE
1017                 ,NEW_REFERENCES.OVERRIDE_ID
1018                 ,NEW_REFERENCES.OVERRIDE_DATE
1019 		,NEW_REFERENCES.DATE_OF_ISSUE
1020 	        ,X_LAST_UPDATE_DATE
1021 	        ,X_LAST_UPDATED_BY
1022 		,X_LAST_UPDATE_DATE
1023 		,X_LAST_UPDATED_BY
1024 		,X_LAST_UPDATE_LOGIN
1025 		,X_REQUEST_ID
1026 		,X_PROGRAM_ID
1027 		,X_PROGRAM_APPLICATION_ID
1028 		,X_PROGRAM_UPDATE_DATE
1029         --   Added for new field   Ravishar / 14-sep-2004
1030                 ,NEW_REFERENCES.CORE_CURRICULUM_VALUE
1031 
1032 )RETURNING TRANSCRIPT_ID INTO X_TRANSCRIPT_ID;
1033  IF (x_mode = 'S') THEN
1034     igs_sc_gen_001.unset_ctx('R');
1035   END IF;
1036 
1037   l_transcript_id := X_TRANSCRIPT_ID;
1038                 open c;
1039 		 fetch c into X_ROWID;
1040  		if (c%notfound) then
1041 		close c;
1042  	     raise no_data_found;
1043 		end if;
1044  		close c;
1045     After_DML (
1046 		p_action => 'INSERT' ,
1047 		x_rowid => X_ROWID );
1048 EXCEPTION
1049   WHEN OTHERS THEN
1050     IF (SQLCODE IN (-28115, -28113, -28111)) THEN
1051       fnd_message.set_name ('IGS', 'IGS_SC_POLICY_EXCEPTION');
1052       fnd_message.set_token ('ERR_CD', SQLCODE);
1053       igs_ge_msg_stack.add;
1054       igs_sc_gen_001.unset_ctx('R');
1055       app_exception.raise_exception;
1056     ELSE
1057       igs_sc_gen_001.unset_ctx('R');
1058       RAISE;
1059     END IF;
1060 
1061 end INSERT_ROW;
1062  procedure LOCK_ROW (
1063       X_ROWID in  VARCHAR2,
1064        x_QUINTILE_RANK IN NUMBER,
1065        x_PERCENTILE_RANK IN NUMBER,
1066        x_TRANSCRIPT_ID IN NUMBER,
1067        x_EDUCATION_ID IN NUMBER,
1068        x_TRANSCRIPT_STATUS IN VARCHAR2,
1069        x_TRANSCRIPT_SOURCE IN NUMBER,
1070        x_DATE_OF_RECEIPT IN DATE,
1071        x_ENTERED_GPA IN VARCHAR2,
1072        x_ENTERED_GS_ID IN NUMBER,
1073        x_CONV_GPA IN VARCHAR2,
1074        x_CONV_GS_ID IN NUMBER,
1075        x_TERM_TYPE IN VARCHAR2,
1076        x_RANK_IN_CLASS IN NUMBER,
1077        x_CLASS_SIZE IN NUMBER,
1078        x_APPROXIMATE_RANK IN VARCHAR2,
1079        x_WEIGHTED_RANK IN VARCHAR2,
1080        x_DECILE_RANK IN NUMBER,
1081        x_QUARTILE_RANK IN NUMBER ,
1082        x_TRANSCRIPT_TYPE IN VARCHAR2,
1083        x_OVERRIDE IN VARCHAR2 DEFAULT NULL,
1084        x_OVERRIDE_ID IN NUMBER DEFAULT NULL,
1085        x_OVERRIDE_DATE IN DATE DEFAULT NULL,
1086        X_DATE_OF_ISSUE IN DATE DEFAULT NULL,
1087 --   Added for new field   Ravishar / 14-sep-2004
1088     x_CORE_CURRICULUM_VALUE IN VARCHAR2 DEFAULT NULL
1089        ) AS
1090   /*************************************************************
1091   Created By : Kamalakar N.
1092   Date Created By : 15/May/2000
1093   Purpose :
1094   Know limitations, enhancements or remarks
1095   Change History
1096   Who             When            What
1097 
1098   (reverse chronological order - newest change first)
1099   vdixit.in	      23-JULY-2001      Added new column transcript_type
1100 					to the tbh calls
1101   rboddu              12-NOV-2001        Added the new columns override,
1102                                          override_id and override_date
1103                                          Bug No : 2097333
1104 
1105   ***************************************************************/
1106 
1107    cursor c1 is select
1108       QUINTILE_RANK
1109 ,      PERCENTILE_RANK
1110 ,      EDUCATION_ID
1111 ,      TRANSCRIPT_STATUS
1112 ,      TRANSCRIPT_SOURCE
1113 ,      DATE_OF_RECEIPT
1114 ,      ENTERED_GPA
1115 ,      ENTERED_GS_ID
1116 ,      CONV_GPA
1117 ,      CONV_GS_ID
1118 ,      TERM_TYPE
1119 ,      RANK_IN_CLASS
1120 ,      CLASS_SIZE
1121 ,      APPROXIMATE_RANK
1122 ,      WEIGHTED_RANK
1123 ,      DECILE_RANK
1124 ,      QUARTILE_RANK
1125 ,      TRANSCRIPT_TYPE
1126 ,      OVERRIDE
1127 ,      OVERRIDE_ID
1128 ,      OVERRIDE_DATE
1129 ,      DATE_OF_ISSUE
1130 --   Added for new field   Ravishar / 14-sep-2004
1131 ,      CORE_CURRICULUM_VALUE
1132 
1133     from IGS_AD_TRANSCRIPT
1134     where ROWID = X_ROWID
1135     for update nowait;
1136      tlinfo c1%rowtype;
1137 begin
1138   open c1;
1139   fetch c1 into tlinfo;
1140   if (c1%notfound) then
1141     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
1142       IGS_GE_MSG_STACK.ADD;
1143     close c1;
1144     app_exception.raise_exception;
1145     return;
1146   end if;
1147   close c1;
1148 if ( (  (tlinfo.QUINTILE_RANK = X_QUINTILE_RANK)
1149  	    OR ((tlinfo.QUINTILE_RANK is null)
1150 		AND (X_QUINTILE_RANK is null)))
1151   AND ((tlinfo.PERCENTILE_RANK = X_PERCENTILE_RANK)
1152  	    OR ((tlinfo.PERCENTILE_RANK is null)
1153 		AND (X_PERCENTILE_RANK is null)))
1154   AND (tlinfo.EDUCATION_ID = X_EDUCATION_ID)
1155   AND (tlinfo.TRANSCRIPT_STATUS = X_TRANSCRIPT_STATUS)
1156   AND (tlinfo.TRANSCRIPT_SOURCE = X_TRANSCRIPT_SOURCE)
1157   AND ((TRUNC(tlinfo.DATE_OF_RECEIPT) = TRUNC(X_DATE_OF_RECEIPT))
1158  	    OR ((tlinfo.DATE_OF_RECEIPT is null)
1159 		AND (X_DATE_OF_RECEIPT is null)))
1160   AND ((tlinfo.ENTERED_GPA = X_ENTERED_GPA)
1161  	    OR ((tlinfo.ENTERED_GPA is null)
1162 		AND (X_ENTERED_GPA is null)))
1163   AND (tlinfo.ENTERED_GS_ID = X_ENTERED_GS_ID)
1164   AND ((tlinfo.CONV_GPA = X_CONV_GPA)
1165  	    OR ((tlinfo.CONV_GPA is null)
1166 		AND (X_CONV_GPA is null)))
1167   AND (tlinfo.CONV_GS_ID = X_CONV_GS_ID)
1168   AND (tlinfo.TERM_TYPE = X_TERM_TYPE)
1169   AND ((tlinfo.RANK_IN_CLASS = X_RANK_IN_CLASS)
1170  	    OR ((tlinfo.RANK_IN_CLASS is null)
1171 		AND (X_RANK_IN_CLASS is null)))
1172   AND ((tlinfo.CLASS_SIZE = X_CLASS_SIZE)
1173  	    OR ((tlinfo.CLASS_SIZE is null)
1174 		AND (X_CLASS_SIZE is null)))
1175   AND ((tlinfo.APPROXIMATE_RANK = X_APPROXIMATE_RANK)
1176  	    OR ((tlinfo.APPROXIMATE_RANK is null)
1177 		AND (X_APPROXIMATE_RANK is null)))
1178   AND ((tlinfo.WEIGHTED_RANK = X_WEIGHTED_RANK)
1179  	    OR ((tlinfo.WEIGHTED_RANK is null)
1180 		AND (X_WEIGHTED_RANK is null)))
1181   AND ((tlinfo.DECILE_RANK = X_DECILE_RANK)
1182  	    OR ((tlinfo.DECILE_RANK is null)
1183 		AND (X_DECILE_RANK is null)))
1184   AND ((tlinfo.QUARTILE_RANK = X_QUARTILE_RANK)
1185  	    OR ((tlinfo.QUARTILE_RANK is null)
1186 		AND (X_QUARTILE_RANK is null)))
1187   AND (tlinfo.TRANSCRIPT_TYPE = X_TRANSCRIPT_TYPE)
1188   )
1189   AND ((tlinfo.OVERRIDE = X_OVERRIDE)
1190             OR ((tlinfo.OVERRIDE is null)
1191                 AND (X_OVERRIDE is null)))
1192   AND ((tlinfo.OVERRIDE_ID = X_OVERRIDE_ID)
1193             OR ((tlinfo.OVERRIDE_ID is null)
1194                 AND (X_OVERRIDE_ID is null)))
1195   AND ((TRUNC(tlinfo.OVERRIDE_DATE) = TRUNC(X_OVERRIDE_DATE))
1196             OR ((tlinfo.OVERRIDE_DATE is null)
1197                 AND (X_OVERRIDE_DATE is null)))
1198   AND ((TRUNC(tlinfo.DATE_OF_ISSUE) = TRUNC(X_DATE_OF_ISSUE))
1199             OR ((tlinfo.DATE_OF_ISSUE is null)
1200                 AND (X_DATE_OF_ISSUE is null)))
1201 --   Added for new field   Ravishar / 14-sep-2004
1202   AND ((tlinfo.CORE_CURRICULUM_VALUE = X_CORE_CURRICULUM_VALUE)
1203             OR ((tlinfo.CORE_CURRICULUM_VALUE is null)
1204                 AND (X_CORE_CURRICULUM_VALUE is null)))
1205   then null;
1206   else
1207     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
1208       IGS_GE_MSG_STACK.ADD;
1209     app_exception.raise_exception;
1210   end if;
1211   return;
1212 end LOCK_ROW;
1213  Procedure UPDATE_ROW (
1214       X_ROWID in  VARCHAR2,
1215        x_QUINTILE_RANK IN NUMBER,
1216        x_PERCENTILE_RANK IN NUMBER,
1217        x_TRANSCRIPT_ID IN NUMBER,
1218        x_EDUCATION_ID IN NUMBER,
1219        x_TRANSCRIPT_STATUS IN VARCHAR2,
1220        x_TRANSCRIPT_SOURCE IN NUMBER,
1221        x_DATE_OF_RECEIPT IN DATE,
1222        x_ENTERED_GPA IN VARCHAR2,
1223        x_ENTERED_GS_ID IN NUMBER,
1224        x_CONV_GPA IN VARCHAR2,
1225        x_CONV_GS_ID IN NUMBER,
1226        x_TERM_TYPE IN VARCHAR2,
1227        x_RANK_IN_CLASS IN NUMBER,
1228        x_CLASS_SIZE IN NUMBER,
1229        x_APPROXIMATE_RANK IN VARCHAR2,
1230        x_WEIGHTED_RANK IN VARCHAR2,
1231        x_DECILE_RANK IN NUMBER,
1232        x_QUARTILE_RANK IN NUMBER,
1233        x_TRANSCRIPT_TYPE IN VARCHAR2 DEFAULT NULL,
1234       X_MODE in VARCHAR2 DEFAULT NULL,
1235        x_OVERRIDE IN VARCHAR2 DEFAULT NULL,
1236        x_OVERRIDE_ID IN NUMBER DEFAULT NULL,
1237        x_OVERRIDE_DATE IN DATE DEFAULT NULL,
1238        X_DATE_OF_ISSUE IN DATE DEFAULT NULL,
1239 --   Added for new field   Ravishar / 14-sep-2004
1240        x_CORE_CURRICULUM_VALUE IN VARCHAR2 DEFAULT NULL
1241   ) AS
1242  /*************************************************************
1243   Created By : Kamalakar N.
1244   Date Created By : 15/May/2000
1245   Purpose :
1246   Know limitations, enhancements or remarks
1247   Change History
1248   Who             When            What
1249 
1250   (reverse chronological order - newest change first)
1251   vdixit.in	      23-JULY-2001      Added new column transcript_type
1252 					to the tbh calls
1253   rboddu              12-NOV-2001        Added the new columns override,
1254                                          override_id and override_date
1255                                          Bug No : 2097333
1256   ***************************************************************/
1257 
1258      X_LAST_UPDATE_DATE DATE ;
1259      X_LAST_UPDATED_BY NUMBER ;
1260      X_LAST_UPDATE_LOGIN NUMBER ;
1261      X_REQUEST_ID NUMBER;
1262      X_PROGRAM_ID NUMBER;
1263      X_PROGRAM_APPLICATION_ID NUMBER;
1264      X_PROGRAM_UPDATE_DATE DATE;
1265      L_MODE VARCHAR2(1);
1266  begin
1267 
1268    L_MODE := NVL(X_MODE, 'R');
1269 
1270     X_LAST_UPDATE_DATE := SYSDATE;
1271     if(L_MODE = 'I') then
1272       X_LAST_UPDATED_BY := 1;
1273       X_LAST_UPDATE_LOGIN := 0;
1274     elsif (L_MODE IN ('R','S')) then
1275       X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1276       if X_LAST_UPDATED_BY is NULL then
1277         X_LAST_UPDATED_BY := -1;
1278       end if;
1279       X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
1280       if X_LAST_UPDATE_LOGIN is NULL then
1281         X_LAST_UPDATE_LOGIN := -1;
1282       end if;
1283     else
1284       FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
1285       IGS_GE_MSG_STACK.ADD;
1286       app_exception.raise_exception;
1287     end if;
1288    Before_DML(
1289  		p_action=>'UPDATE',
1290  		x_rowid=>X_ROWID,
1291  	       x_quintile_rank=>X_QUINTILE_RANK,
1292  	       x_percentile_rank=>X_PERCENTILE_RANK,
1293  	       x_transcript_id=>X_TRANSCRIPT_ID,
1294  	       x_education_id=>X_EDUCATION_ID,
1295  	       x_transcript_status=>X_TRANSCRIPT_STATUS,
1296  	       x_transcript_source=>X_TRANSCRIPT_SOURCE,
1297  	       x_date_of_receipt=>X_DATE_OF_RECEIPT,
1298  	       x_entered_gpa=>X_ENTERED_GPA,
1299  	       x_entered_gs_id=>X_ENTERED_GS_ID,
1300  	       x_conv_gpa=>X_CONV_GPA,
1301  	       x_conv_gs_id=>X_CONV_GS_ID,
1302  	       x_term_type=>X_TERM_TYPE,
1303  	       x_rank_in_class=>X_RANK_IN_CLASS,
1304  	       x_class_size=>X_CLASS_SIZE,
1305  	       x_approximate_rank=>X_APPROXIMATE_RANK,
1306  	       x_weighted_rank=>X_WEIGHTED_RANK,
1307  	       x_decile_rank=>X_DECILE_RANK,
1308  	       x_quartile_rank=>X_QUARTILE_RANK,
1309  	       x_transcript_type=>X_TRANSCRIPT_TYPE,
1310 	       x_creation_date=>X_LAST_UPDATE_DATE,
1311 	       x_created_by=>X_LAST_UPDATED_BY,
1312 	       x_last_update_date=>X_LAST_UPDATE_DATE,
1313 	       x_last_updated_by=>X_LAST_UPDATED_BY,
1314 	       x_last_update_login=>X_LAST_UPDATE_LOGIN,
1315                x_override=>X_OVERRIDE,
1316                x_override_id=>X_OVERRIDE_ID,
1317                x_override_date=>X_OVERRIDE_DATE,
1318 	       x_date_of_issue => x_date_of_issue,
1319        --   Added for new field   Ravishar / 14-sep-2004
1320                x_core_curriculum_value => X_CORE_CURRICULUM_VALUE
1321              );
1322 
1323     if (L_MODE IN ('R','S')) then
1324       X_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
1325       X_PROGRAM_ID := FND_GLOBAL.CONC_PROGRAM_ID;
1326       X_PROGRAM_APPLICATION_ID := FND_GLOBAL.PROG_APPL_ID;
1327       if (X_REQUEST_ID = -1) then
1328         X_REQUEST_ID := OLD_REFERENCES.REQUEST_ID;
1329         X_PROGRAM_ID := OLD_REFERENCES. PROGRAM_ID;
1330         X_PROGRAM_APPLICATION_ID := OLD_REFERENCES.PROGRAM_APPLICATION_ID;
1331         X_PROGRAM_UPDATE_DATE := OLD_REFERENCES.PROGRAM_UPDATE_DATE;
1332       else
1333         X_PROGRAM_UPDATE_DATE := SYSDATE;
1334       end if;
1335     end if;
1336 
1337     IF (x_mode = 'S') THEN
1338     igs_sc_gen_001.set_ctx('R');
1339   END IF;
1340  update IGS_AD_TRANSCRIPT set
1341       QUINTILE_RANK =  NEW_REFERENCES.QUINTILE_RANK,
1342       PERCENTILE_RANK =  NEW_REFERENCES.PERCENTILE_RANK,
1343       EDUCATION_ID =  NEW_REFERENCES.EDUCATION_ID,
1344       TRANSCRIPT_STATUS =  NEW_REFERENCES.TRANSCRIPT_STATUS,
1345       TRANSCRIPT_SOURCE =  NEW_REFERENCES.TRANSCRIPT_SOURCE,
1346       DATE_OF_RECEIPT =  NEW_REFERENCES.DATE_OF_RECEIPT,
1347       ENTERED_GPA =  NEW_REFERENCES.ENTERED_GPA,
1348       ENTERED_GS_ID =  NEW_REFERENCES.ENTERED_GS_ID,
1349       CONV_GPA =  NEW_REFERENCES.CONV_GPA,
1350       CONV_GS_ID =  NEW_REFERENCES.CONV_GS_ID,
1351       TERM_TYPE =  NEW_REFERENCES.TERM_TYPE,
1352       RANK_IN_CLASS =  NEW_REFERENCES.RANK_IN_CLASS,
1353       CLASS_SIZE =  NEW_REFERENCES.CLASS_SIZE,
1354       APPROXIMATE_RANK =  NEW_REFERENCES.APPROXIMATE_RANK,
1355       WEIGHTED_RANK =  NEW_REFERENCES.WEIGHTED_RANK,
1356       DECILE_RANK =  NEW_REFERENCES.DECILE_RANK,
1357       QUARTILE_RANK =  NEW_REFERENCES.QUARTILE_RANK,
1358       TRANSCRIPT_TYPE =  NEW_REFERENCES.TRANSCRIPT_TYPE,
1359       OVERRIDE = NEW_REFERENCES.OVERRIDE,
1360       OVERRIDE_ID = NEW_REFERENCES.OVERRIDE_ID,
1361       OVERRIDE_DATE = NEW_REFERENCES.OVERRIDE_DATE,
1362       DATE_OF_ISSUE = NEW_REFERENCES.DATE_OF_ISSUE,
1363 	LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
1364 	LAST_UPDATED_BY = X_LAST_UPDATED_BY,
1365 	LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
1366 ,	REQUEST_ID = X_REQUEST_ID,
1367 	PROGRAM_ID = X_PROGRAM_ID,
1368 	PROGRAM_APPLICATION_ID = PROGRAM_APPLICATION_ID,
1369 	PROGRAM_UPDATE_DATE = X_PROGRAM_UPDATE_DATE,
1370        --   Added for new field   Ravishar / 14-sep-2004
1371         CORE_CURRICULUM_VALUE = X_CORE_CURRICULUM_VALUE
1372 	  where ROWID = X_ROWID;
1373 	if (sql%notfound) then
1374      fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
1375      igs_ge_msg_stack.add;
1376      igs_sc_gen_001.unset_ctx('R');
1377      app_exception.raise_exception;
1378 	end if;
1379  IF (x_mode = 'S') THEN
1380     igs_sc_gen_001.unset_ctx('R');
1381   END IF;
1382 
1383 
1384  After_DML (
1385 	p_action => 'UPDATE' ,
1386 	x_rowid => X_ROWID
1387 	);
1388 EXCEPTION
1389   WHEN OTHERS THEN
1390     IF (SQLCODE = (-28115)) THEN
1391       fnd_message.set_name ('IGS', 'IGS_SC_UPD_POLICY_EXCP');
1392       fnd_message.set_token ('ERR_CD', SQLCODE);
1393       igs_ge_msg_stack.add;
1394       igs_sc_gen_001.unset_ctx('R');
1395       app_exception.raise_exception;
1396     ELSE
1397       igs_sc_gen_001.unset_ctx('R');
1398       RAISE;
1399     END IF;
1400 
1401 end UPDATE_ROW;
1402  procedure ADD_ROW (
1403       X_ROWID in out NOCOPY VARCHAR2,
1404        x_QUINTILE_RANK IN NUMBER,
1405        x_PERCENTILE_RANK IN NUMBER,
1406        x_TRANSCRIPT_ID IN OUT NOCOPY NUMBER,
1407        x_EDUCATION_ID IN NUMBER,
1408        x_TRANSCRIPT_STATUS IN VARCHAR2,
1409        x_TRANSCRIPT_SOURCE IN NUMBER,
1410        x_DATE_OF_RECEIPT IN DATE,
1411        x_ENTERED_GPA IN VARCHAR2,
1412        x_ENTERED_GS_ID IN NUMBER,
1413        x_CONV_GPA IN VARCHAR2,
1414        x_CONV_GS_ID IN NUMBER,
1415        x_TERM_TYPE IN VARCHAR2,
1416        x_RANK_IN_CLASS IN NUMBER,
1417        x_CLASS_SIZE IN NUMBER,
1418        x_APPROXIMATE_RANK IN VARCHAR2,
1419        x_WEIGHTED_RANK IN VARCHAR2,
1420        x_DECILE_RANK IN NUMBER,
1421        x_QUARTILE_RANK IN NUMBER,
1422        x_TRANSCRIPT_TYPE IN VARCHAR2 DEFAULT NULL,
1423       X_MODE in VARCHAR2 DEFAULT NULL,
1424        x_OVERRIDE IN VARCHAR2 DEFAULT NULL,
1425        x_OVERRIDE_ID IN NUMBER DEFAULT NULL,
1426        X_OVERRIDE_DATE IN DATE DEFAULT NULL,
1427        X_DATE_OF_ISSUE IN DATE DEFAULT NULL,
1428        --   Added for new field   Ravishar / 14-sep-2004
1429        X_CORE_CURRICULUM_VALUE IN VARCHAR2 DEFAULT NULL
1430 
1431   ) AS
1432   /*************************************************************
1433   Created By : Kamalakar N.
1434   Date Created By : 15/May/2000
1435   Purpose :
1436   Know limitations, enhancements or remarks
1437   Change History
1438   Who             When            What
1439 
1440   (reverse chronological order - newest change first)
1441   vdixit.in	      23-JULY-2001      Added new column transcript_type
1442 					to the tbh calls
1443   rboddu              10-NOV-2001       Added new columns override,
1444                                         override_id and override_Date
1445                                         Bug No: 2097333
1446 
1447   ***************************************************************/
1448 
1449     cursor c1 is select ROWID from IGS_AD_TRANSCRIPT
1450              where     TRANSCRIPT_ID= X_TRANSCRIPT_ID
1451 ;
1452    L_MODE VARCHAR2(1);
1453 begin
1454     L_MODE := NVL(X_MODE, 'R');
1455 
1456 	open c1;
1457 		fetch c1 into X_ROWID;
1458 	if (c1%notfound) then
1459 	close c1;
1460     INSERT_ROW (
1461       X_ROWID,
1462        X_QUINTILE_RANK,
1463        X_PERCENTILE_RANK,
1464        X_TRANSCRIPT_ID,
1465        X_EDUCATION_ID,
1466        X_TRANSCRIPT_STATUS,
1467        X_TRANSCRIPT_SOURCE,
1468        X_DATE_OF_RECEIPT,
1469        X_ENTERED_GPA,
1470        X_ENTERED_GS_ID,
1471        X_CONV_GPA,
1472        X_CONV_GS_ID,
1473        X_TERM_TYPE,
1474        X_RANK_IN_CLASS,
1475        X_CLASS_SIZE,
1476        X_APPROXIMATE_RANK,
1477        X_WEIGHTED_RANK,
1478        X_DECILE_RANK,
1479        X_QUARTILE_RANK,
1480        X_TRANSCRIPT_TYPE,
1481       L_MODE,
1482        X_OVERRIDE,
1483        X_OVERRIDE_ID,
1484        X_OVERRIDE_DATE,
1485        X_DATE_OF_ISSUE,
1486        --   Added for new field   Ravishar / 14-sep-2004
1487        X_CORE_CURRICULUM_VALUE
1488        );
1489      return;
1490 	end if;
1491 	   close c1;
1492 UPDATE_ROW (
1493       X_ROWID,
1494        X_QUINTILE_RANK,
1495        X_PERCENTILE_RANK,
1496        X_TRANSCRIPT_ID,
1497        X_EDUCATION_ID,
1498        X_TRANSCRIPT_STATUS,
1499        X_TRANSCRIPT_SOURCE,
1500        X_DATE_OF_RECEIPT,
1501        X_ENTERED_GPA,
1502        X_ENTERED_GS_ID,
1503        X_CONV_GPA,
1504        X_CONV_GS_ID,
1505        X_TERM_TYPE,
1506        X_RANK_IN_CLASS,
1507        X_CLASS_SIZE,
1508        X_APPROXIMATE_RANK,
1509        X_WEIGHTED_RANK,
1510        X_DECILE_RANK,
1511        X_QUARTILE_RANK,
1512        X_TRANSCRIPT_TYPE,
1513       L_MODE,
1514        X_OVERRIDE,
1515        X_OVERRIDE_ID,
1516        X_OVERRIDE_DATE,
1517        X_DATE_OF_ISSUE,
1518        --   Added for new field   Ravishar / 14-sep-2004
1519        X_CORE_CURRICULUM_VALUE
1520 );
1521 end ADD_ROW;
1522 procedure DELETE_ROW (
1523   X_ROWID in VARCHAR2,
1524   x_mode IN VARCHAR2
1525 ) AS
1526  /*************************************************************
1527   Created By : Kamalakar N.
1528   Date Created By : 15/May/2000
1529   Purpose :
1530   Know limitations, enhancements or remarks
1531   Change History
1532   Who             When            What
1533 
1534   (reverse chronological order - newest change first)
1535   ***************************************************************/
1536 
1537 begin
1538 Before_DML (
1539 p_action => 'DELETE',
1540 x_rowid => X_ROWID
1541 );
1542   IF (x_mode = 'S') THEN
1543     igs_sc_gen_001.set_ctx('R');
1544   END IF;
1545  delete from IGS_AD_TRANSCRIPT
1546  where ROWID = X_ROWID;
1547   if (sql%notfound) then
1548      fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
1549      igs_ge_msg_stack.add;
1550      igs_sc_gen_001.unset_ctx('R');
1551      app_exception.raise_exception;
1552  end if;
1553  IF (x_mode = 'S') THEN
1554     igs_sc_gen_001.unset_ctx('R');
1555   END IF;
1556 
1557 After_DML (
1558  p_action => 'DELETE',
1559  x_rowid => X_ROWID
1560 );
1561 end DELETE_ROW;
1562 END igs_ad_transcript_pkg;