DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_PS_APPL_INST_PKG

Source


1 PACKAGE BODY igs_ad_ps_appl_inst_pkg AS
2 /* $Header: IGSAI18B.pls 120.14 2006/05/30 11:00:51 pbondugu ship $ */
3   l_rowid VARCHAR2(25);
4   old_references igs_ad_ps_appl_inst_all%RowType;
5   new_references igs_ad_ps_appl_inst_all%RowType;
6   PROCEDURE Set_Column_Values (
7     p_action IN VARCHAR2,
8     x_rowid IN VARCHAR2,
9     x_org_id IN NUMBER,
10     x_person_id IN NUMBER,
11     x_admission_appl_number IN NUMBER,
12     x_nominated_course_cd IN VARCHAR2,
13     x_sequence_number IN NUMBER,
14     x_predicted_gpa IN NUMBER,
15     x_academic_index IN VARCHAR2,
16     x_adm_cal_type IN VARCHAR2,
17     x_app_file_location IN VARCHAR2,
18     x_adm_ci_sequence_number IN NUMBER,
19     x_course_cd IN VARCHAR2,
20     x_app_source_id IN NUMBER,
21     x_crv_version_number IN NUMBER,
22     x_waitlist_rank IN VARCHAR2,
23     x_location_cd IN VARCHAR2,
24     x_attent_other_inst_cd IN VARCHAR2,
25     x_attendance_mode IN VARCHAR2,
26     x_edu_goal_prior_enroll_id IN NUMBER,
27     x_attendance_type IN VARCHAR2,
28     x_decision_make_id IN NUMBER,
29     x_unit_set_cd IN VARCHAR2,
30     x_decision_date IN DATE,
31     x_attribute_category IN VARCHAR2,
32     x_attribute1 IN VARCHAR2,
33     x_attribute2 IN VARCHAR2,
34     x_attribute3 IN VARCHAR2,
35     x_attribute4 IN VARCHAR2,
36     x_attribute5 IN VARCHAR2,
37     x_attribute6 IN VARCHAR2,
38     x_attribute7 IN VARCHAR2,
39     x_attribute8 IN VARCHAR2,
40     x_attribute9 IN VARCHAR2,
41     x_attribute10 IN VARCHAR2,
42     x_attribute11 IN VARCHAR2,
43     x_attribute12 IN VARCHAR2,
44     x_attribute13 IN VARCHAR2,
45     x_attribute14 IN VARCHAR2,
46     x_attribute15 IN VARCHAR2,
47     x_attribute16 IN VARCHAR2,
48     x_attribute17 IN VARCHAR2,
49     x_attribute18 IN VARCHAR2,
50     x_attribute19 IN VARCHAR2,
51     x_attribute20 IN VARCHAR2,
52     x_decision_reason_id IN NUMBER,
53     x_us_version_number IN NUMBER,
54     x_decision_notes IN VARCHAR2,
55     x_pending_reason_id IN NUMBER,
56     x_preference_number IN NUMBER,
57     x_adm_doc_status IN VARCHAR2,
58     x_adm_entry_qual_status IN VARCHAR2,
59     x_deficiency_in_prep IN VARCHAR2,
60     x_late_adm_fee_status IN VARCHAR2,
61     x_spl_consider_comments IN VARCHAR2,
62     x_apply_for_finaid IN VARCHAR2,
63     x_finaid_apply_date IN DATE,
64     x_adm_outcome_status IN VARCHAR2,
65     x_adm_otcm_stat_auth_per_id IN NUMBER,
66     x_adm_outcome_status_auth_dt IN DATE,
67     x_adm_outcome_status_reason IN VARCHAR2,
68     x_offer_dt IN DATE,
69     x_offer_response_dt IN DATE,
70     x_prpsd_commencement_dt IN DATE,
71     x_adm_cndtnl_offer_status IN VARCHAR2,
72     x_cndtnl_offer_satisfied_dt IN DATE,
73     x_cndnl_ofr_must_be_stsfd_ind IN VARCHAR2,
74     x_adm_offer_resp_status IN VARCHAR2,
75     x_actual_response_dt IN DATE,
76     x_adm_offer_dfrmnt_status IN VARCHAR2,
77     x_deferred_adm_cal_type IN VARCHAR2,
78     x_deferred_adm_ci_sequence_num IN NUMBER,
79     x_deferred_tracking_id IN NUMBER,
80     x_ass_rank IN NUMBER,
81     x_secondary_ass_rank IN NUMBER,
82     x_intr_accept_advice_num IN NUMBER,
83     x_ass_tracking_id IN NUMBER,
84     x_fee_cat IN VARCHAR2,
85     x_hecs_payment_option IN VARCHAR2,
86     x_expected_completion_yr IN NUMBER,
87     x_expected_completion_perd IN VARCHAR2,
88     x_correspondence_cat IN VARCHAR2,
89     x_enrolment_cat IN VARCHAR2,
90     x_funding_source IN VARCHAR2,
91     x_applicant_acptnce_cndtn IN VARCHAR2,
92     x_cndtnl_offer_cndtn IN VARCHAR2,
93     x_creation_date IN DATE,
94     x_created_by IN NUMBER,
95     x_last_update_date IN DATE,
96     x_last_updated_by IN NUMBER,
97     x_last_update_login IN NUMBER,
98     x_ss_application_id IN VARCHAR2,
99     x_ss_pwd IN VARCHAR2  ,
100     X_AUTHORIZED_DT IN DATE,
101     X_AUTHORIZING_PERS_ID IN NUMBER,
102     x_entry_status IN NUMBER,
103     x_entry_level IN NUMBER,
104     x_sch_apl_to_id IN NUMBER,
105     x_idx_calc_date IN DATE,
106     x_waitlist_status IN VARCHAR2,
107       x_attribute21 IN VARCHAR2,
108       x_attribute22 IN VARCHAR2,
109       x_attribute23 IN VARCHAR2,
110       x_attribute24 IN VARCHAR2,
111       x_attribute25 IN VARCHAR2,
112       x_attribute26 IN VARCHAR2,
113       x_attribute27 IN VARCHAR2,
114       x_attribute28 IN VARCHAR2,
115       x_attribute29 IN VARCHAR2,
116       x_attribute30 IN VARCHAR2,
117       x_attribute31 IN VARCHAR2,
118       x_attribute32 IN VARCHAR2,
119       x_attribute33 IN VARCHAR2,
120       x_attribute34 IN VARCHAR2,
121       x_attribute35 IN VARCHAR2,
122       x_attribute36 IN VARCHAR2,
123       x_attribute37 IN VARCHAR2,
124       x_attribute38 IN VARCHAR2,
125       x_attribute39 IN VARCHAR2,
126       x_attribute40 IN VARCHAR2,
127       x_fut_acad_cal_type           IN VARCHAR2,
128       x_fut_acad_ci_sequence_number IN NUMBER  ,
129       x_fut_adm_cal_type            IN VARCHAR2,
130       x_fut_adm_ci_sequence_number  IN NUMBER  ,
131       x_prev_term_adm_appl_number  IN NUMBER  ,
132       x_prev_term_sequence_number  IN NUMBER  ,
133       x_fut_term_adm_appl_number    IN NUMBER  ,
134       x_fut_term_sequence_number    IN NUMBER  ,
135       x_def_acad_cal_type IN VARCHAR2,
136       x_def_acad_ci_sequence_num  IN NUMBER  ,
137       x_def_prev_term_adm_appl_num  IN NUMBER  ,
138       x_def_prev_appl_sequence_num  IN NUMBER  ,
139       x_def_term_adm_appl_num  IN NUMBER  ,
140       x_def_appl_sequence_num  IN NUMBER  ,
141       x_appl_inst_status	IN VARCHAR2,				--arvsrini igsm
142       x_ais_reason		IN VARCHAR2,
143       x_decline_ofr_reason	IN VARCHAR2
144   ) IS
145   /*************************************************************
146   Created By : nsinha
147   Date Created By : Jul 30, 2001
148   Purpose :
149   Know limitations, enhancements or remarks
150   Change History
151   Who             When            What
152   smadathi       12-feb-2002      Bug 2217104. Added new columns as mentioned against DLD
153   nsinha         Jul 30, 2001     Bug enh no : 1905651 changes.
154                                   Added entry_status, entry_level and sch_apl_to_id
155                                   to the procedures
156   (reverse chronological order - newest change first)
157   ***************************************************************/
158     CURSOR cur_old_ref_values IS
159       SELECT   *
160       FROM     IGS_AD_PS_APPL_INST_ALL
161       WHERE    rowid = x_rowid;
162   BEGIN
163     l_rowid := x_rowid;
164     -- Code for setting the Old and New Reference Values.
165     -- Populate Old Values.
166     Open cur_old_ref_values;
167     Fetch cur_old_ref_values INTO old_references;
168     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
169       Close cur_old_ref_values;
170       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
171       IGS_AD_GEN_001.SET_TOKEN('From Table  IGS_AD_PS_APPL_INST_ALL P_action NOT IN INSERT or VALiDATE_INSERT' );
172       IGS_GE_MSG_STACK.ADD;
173       App_Exception.Raise_Exception;
174       Return;
175     END IF;
176     Close cur_old_ref_values;
177     -- Populate New Values.
178     new_references.org_id := x_org_id;
179     new_references.person_id := x_person_id;
180     new_references.admission_appl_number := x_admission_appl_number;
181     new_references.nominated_course_cd := x_nominated_course_cd;
182     new_references.sequence_number := x_sequence_number;
183     new_references.predicted_gpa := x_predicted_gpa;
184     new_references.academic_index := x_academic_index;
185     new_references.adm_cal_type := x_adm_cal_type;
186     new_references.app_file_location := x_app_file_location;
187     new_references.adm_ci_sequence_number := x_adm_ci_sequence_number;
188     new_references.course_cd := x_course_cd;
189     new_references.app_source_id := x_app_source_id;
190     new_references.crv_version_number := x_crv_version_number;
191     new_references.waitlist_rank := x_waitlist_rank;
192     new_references.location_cd := x_location_cd;
193     new_references.attent_other_inst_cd := x_attent_other_inst_cd;
194     new_references.attendance_mode := x_attendance_mode;
195     new_references.edu_goal_prior_enroll_id := x_edu_goal_prior_enroll_id;
196     new_references.attendance_type := x_attendance_type;
197     new_references.decision_make_id := x_decision_make_id;
198     new_references.unit_set_cd := x_unit_set_cd;
199     new_references.decision_date := TRUNC(x_decision_date);
200     new_references.attribute_category := x_attribute_category;
201     new_references.attribute1 := x_attribute1;
202     new_references.attribute2 := x_attribute2;
203     new_references.attribute3 := x_attribute3;
204     new_references.attribute4 := x_attribute4;
205     new_references.attribute5 := x_attribute5;
206     new_references.attribute6 := x_attribute6;
207     new_references.attribute7 := x_attribute7;
208     new_references.attribute8 := x_attribute8;
209     new_references.attribute9 := x_attribute9;
210     new_references.attribute10 := x_attribute10;
211     new_references.attribute11 := x_attribute11;
212     new_references.attribute12 := x_attribute12;
213     new_references.attribute13 := x_attribute13;
214     new_references.attribute14 := x_attribute14;
215     new_references.attribute15 := x_attribute15;
216     new_references.attribute16 := x_attribute16;
217     new_references.attribute17 := x_attribute17;
218     new_references.attribute18 := x_attribute18;
219     new_references.attribute19 := x_attribute19;
220     new_references.attribute20 := x_attribute20;
221     new_references.decision_reason_id := x_decision_reason_id;
222     new_references.us_version_number := x_us_version_number;
223     new_references.decision_notes := x_decision_notes;
224     new_references.pending_reason_id := x_pending_reason_id;
225     new_references.preference_number := x_preference_number;
226     new_references.adm_doc_status := x_adm_doc_status;
227     new_references.adm_entry_qual_status := x_adm_entry_qual_status;
228     new_references.deficiency_in_prep := x_deficiency_in_prep;
229     new_references.late_adm_fee_status := x_late_adm_fee_status;
230     new_references.spl_consider_comments := x_spl_consider_comments;
231     new_references.apply_for_finaid := x_apply_for_finaid;
232     new_references.finaid_apply_date := TRUNC(x_finaid_apply_date);
233     new_references.adm_outcome_status := x_adm_outcome_status;
234     new_references.adm_otcm_status_auth_person_id := x_adm_otcm_stat_auth_per_id;
235     new_references.adm_outcome_status_auth_dt := TRUNC(x_adm_outcome_status_auth_dt);
236     new_references.adm_outcome_status_reason := x_adm_outcome_status_reason;
237     new_references.offer_dt := TRUNC(x_offer_dt);
238     new_references.offer_response_dt := TRUNC(x_offer_response_dt);
239     new_references.prpsd_commencement_dt := TRUNC(x_prpsd_commencement_dt);
240     new_references.adm_cndtnl_offer_status := x_adm_cndtnl_offer_status;
241     new_references.cndtnl_offer_satisfied_dt := TRUNC(x_cndtnl_offer_satisfied_dt);
242     new_references.cndtnl_offer_must_be_stsfd_ind := x_cndnl_ofr_must_be_stsfd_ind;
243     new_references.adm_offer_resp_status := x_adm_offer_resp_status;
244     new_references.actual_response_dt := TRUNC(x_actual_response_dt);
245     new_references.adm_offer_dfrmnt_status := x_adm_offer_dfrmnt_status;
246     new_references.deferred_adm_cal_type := x_deferred_adm_cal_type;
247     new_references.deferred_adm_ci_sequence_num := x_deferred_adm_ci_sequence_num;
248     new_references.deferred_tracking_id := x_deferred_tracking_id;
249     new_references.ass_rank := x_ass_rank;
250     new_references.secondary_ass_rank := x_secondary_ass_rank;
251     new_references.intrntnl_acceptance_advice_num := x_intr_accept_advice_num;
252     new_references.ass_tracking_id := x_ass_tracking_id;
253     new_references.fee_cat := x_fee_cat;
254     new_references.hecs_payment_option := x_hecs_payment_option;
255     new_references.expected_completion_yr := x_expected_completion_yr;
256     new_references.expected_completion_perd := x_expected_completion_perd;
257     new_references.correspondence_cat := x_correspondence_cat;
258     new_references.enrolment_cat := x_enrolment_cat;
259     new_references.funding_source := x_funding_source;
260     new_references.applicant_acptnce_cndtn := x_applicant_acptnce_cndtn;
261     new_references.cndtnl_offer_cndtn := x_cndtnl_offer_cndtn;
262     new_references.ss_application_id := x_ss_application_id;
263     new_references.ss_pwd := x_ss_pwd;
264     new_references.authorized_dt := TRUNC(x_authorized_dt);
265     new_references.authorizing_pers_id := x_authorizing_pers_id;
266     new_references.entry_status := x_entry_status;
267     new_references.entry_level := x_entry_level;
268     new_references.sch_apl_to_id := x_sch_apl_to_id;
269     new_references.idx_calc_date := TRUNC(x_idx_calc_date);
270     new_references.waitlist_status := x_waitlist_status;
271     new_references.attribute21 := x_attribute21;
272     new_references.attribute22 := x_attribute22;
273     new_references.attribute23 := x_attribute23;
274     new_references.attribute24 := x_attribute24;
275     new_references.attribute25 := x_attribute25;
276     new_references.attribute26 := x_attribute26;
277     new_references.attribute27 := x_attribute27;
278     new_references.attribute28 := x_attribute28;
279     new_references.attribute29 := x_attribute29;
280     new_references.attribute30 := x_attribute30;
281     new_references.attribute31 := x_attribute31;
282     new_references.attribute32 := x_attribute32;
283     new_references.attribute33 := x_attribute33;
284     new_references.attribute34 := x_attribute34;
285     new_references.attribute35 := x_attribute35;
286     new_references.attribute36 := x_attribute36;
287     new_references.attribute37 := x_attribute37;
288     new_references.attribute38 := x_attribute38;
289     new_references.attribute39 := x_attribute39;
290     new_references.attribute40 := x_attribute40;
291     new_references.future_acad_cal_type            :=  x_fut_acad_cal_type;
292     new_references.future_acad_ci_sequence_number  :=  x_fut_acad_ci_sequence_number;
293     new_references.future_adm_cal_type             :=  x_fut_adm_cal_type;
294     new_references.future_adm_ci_sequence_number   :=  x_fut_adm_ci_sequence_number ;
295     new_references.previous_term_adm_appl_number   :=  x_prev_term_adm_appl_number;
296     new_references.previous_term_sequence_number   :=  x_prev_term_sequence_number;
297     new_references.future_term_adm_appl_number     :=  x_fut_term_adm_appl_number;
298     new_references.future_term_sequence_number     :=  x_fut_term_sequence_number;
299     new_references.def_acad_cal_type := x_def_acad_cal_type;
300     new_references.def_acad_ci_sequence_num     := x_def_acad_ci_sequence_num;
301     new_references.def_prev_term_adm_appl_num      := x_def_prev_term_adm_appl_num;
302     new_references.def_prev_appl_sequence_num      := x_def_prev_appl_sequence_num;
303     new_references.def_term_adm_appl_num           := x_def_term_adm_appl_num;
304     new_references.def_appl_sequence_num           := x_def_appl_sequence_num;
305     new_references.appl_inst_status		   := x_appl_inst_status;			--arvsrini igsm
306     new_references.ais_reason			   := x_ais_reason;
307     new_references.decline_ofr_reason		   := x_decline_ofr_reason;
308 
309 
310     IF (p_action = 'UPDATE') THEN
311       new_references.creation_date := old_references.creation_date;
312       new_references.created_by := old_references.created_by;
313     ELSE
314       new_references.creation_date := x_creation_date;
315       new_references.created_by := x_created_by;
316     END IF;
317     new_references.last_update_date := x_last_update_date;
318     new_references.last_updated_by := x_last_updated_by;
319     new_references.last_update_login := x_last_update_login;
320   END Set_Column_Values;
321 
322 
323 PROCEDURE BeforeRowInsertUpdateDelete1(
324     p_inserting IN BOOLEAN,
325     p_updating IN BOOLEAN,
326     p_deleting IN BOOLEAN
327     ) IS
328         v_message_name                  VARCHAR2(30);
329         v_return_type                   VARCHAR2(1);
330         v_update_non_enrol_detail_ind   VARCHAR2(1)     ;
331         v_late_ind                      VARCHAR2(1)     ;
332         v_staff_member_ind              IGS_PE_PERSON.staff_member_ind%TYPE;
333         v_p_inserting_ind                       VARCHAR2(1)     ;
334         v_offer_ind                     VARCHAR2(1)     ;
335         v_crv_version_number            IGS_PS_VER.version_number%TYPE;
336         v_admission_cat                 IGS_AD_APPL.admission_cat%TYPE;
337         v_s_admission_process_type      IGS_AD_APPL.s_admission_process_type%TYPE;
338         v_acad_cal_type                 IGS_AD_APPL.acad_cal_type%TYPE;
339         v_aa_acad_ci_sequence_number    IGS_AD_APPL.acad_ci_sequence_number%TYPE;
340         v_aa_adm_cal_type               IGS_AD_APPL.adm_cal_type%TYPE;
341         v_aa_adm_ci_sequence_number     IGS_AD_APPL.adm_ci_sequence_number%TYPE;
342         v_acad_ci_sequence_number       IGS_AD_APPL.acad_ci_sequence_number%TYPE;
343         v_adm_cal_type                  IGS_AD_APPL.adm_cal_type%TYPE;
344         v_adm_ci_sequence_number        IGS_AD_APPL.adm_ci_sequence_number%TYPE;
345         v_appl_dt                               IGS_AD_APPL.appl_dt%TYPE;
346         v_adm_appl_status                     IGS_AD_APPL.adm_appl_status%TYPE;
347         v_adm_fee_status                        IGS_AD_APPL.adm_fee_status%TYPE;
348         v_transfer_course_cd            IGS_AD_PS_APPL.transfer_course_cd%TYPE;
349         v_ca_sequence_number            IGS_RE_CANDIDATURE.sequence_number%TYPE;
350         v_pref_allowed_ind                      VARCHAR2(1)     ;
351         v_pref_limit                    NUMBER;
352         v_cond_offer_doc_allowed_ind    VARCHAR2(1)     ;
353         v_cond_offer_fee_allowed_ind    VARCHAR2(1)     ;
354         v_cond_offer_ass_allowed_ind    VARCHAR2(1)     ;
355         v_late_appl_allowed_ind         VARCHAR2(1)     ;
356         v_late_fees_required_ind                VARCHAR2(1)     ;
357         v_fees_required_ind             VARCHAR2(1)     ;
358         v_override_outcome_allowed_ind  VARCHAR2(1)     ;
359         v_set_outcome_allowed_ind               VARCHAR2(1)     ;
360         v_mult_offer_allowed_ind                VARCHAR2(1)     ;
361         v_multi_offer_limit                     NUMBER;
362         v_unit_set_appl_ind             VARCHAR2(1)     ;
363         v_check_person_encumb           VARCHAR2(1)     ;
364         v_check_course_encumb           VARCHAR2(1)     ;
365         v_deferral_allowed_ind          VARCHAR2(1)     ;
366         v_pre_enrol_ind                 VARCHAR2(1)     ;
367         cst_error                               CONSTANT        VARCHAR2(1):= 'E';
368         cst_transfer                    CONSTANT        VARCHAR2(8) := 'TRANSFER';
369         -- Variables added to handle mutation logic
370         v_index                         BINARY_INTEGER;
371         CURSOR c_aca (
372                 cp_person_id            IGS_AD_PS_APPL.person_id%TYPE,
373                 cp_admission_appl_number        IGS_AD_PS_APPL.admission_appl_number%TYPE,
374                 cp_nominated_course_cd  IGS_AD_PS_APPL.nominated_course_cd%TYPE) IS
375         SELECT  transfer_course_cd
376         FROM    IGS_AD_PS_APPL
377         WHERE   person_id = cp_person_id AND
378                 admission_appl_number = cp_admission_appl_number AND
379                 nominated_course_cd = cp_nominated_course_cd;
380         CURSOR c_apcs (
381                 cp_admission_cat                IGS_AD_PRCS_CAT_STEP.admission_cat%TYPE,
382                 cp_s_admission_process_type
383                                         IGS_AD_PRCS_CAT_STEP.s_admission_process_type%TYPE) IS
384         SELECT  s_admission_step_type,
385                 step_type_restriction_num
386         FROM    IGS_AD_PRCS_CAT_STEP
387         WHERE   admission_cat = cp_admission_cat AND
388                 s_admission_process_type = cp_s_admission_process_type AND
389                 step_group_type <> 'TRACK'; --2402377
390         CURSOR c_pti (
391                       cp_person_id igs_ad_ps_appl_inst.person_id%TYPE,
392                       cp_admission_appl_number igs_ad_ps_appl_inst.admission_appl_number%TYPE,
393                       cp_nominated_course_cd igs_ad_ps_appl_inst.nominated_course_cd%TYPE,
394                       cp_sequence_number igs_ad_ps_appl_inst.sequence_number%TYPE) IS
395         SELECT pti.rowid row_id
396 	FROM igs_pe_typ_instances_all pti,
397 	     igs_pe_person_types ppt
398 	WHERE pti.person_id = cp_person_id
399 	    AND pti.admission_appl_number = cp_admission_appl_number
400 	    AND pti.nominated_course_cd = cp_nominated_course_cd
401 	    AND pti.sequence_number = cp_sequence_number
402 	    AND ppt.person_type_code = pti.person_type_code
403 	    AND ppt.system_type = 'APPLICANT';
404 
405 	 CURSOR c_appl_dt (p_person_id  igs_ad_appl.person_id%TYPE,
406 		p_admission_appl_number igs_ad_appl.admission_appl_number%TYPE) IS
407 	  SELECT appl_dt  FROM  igs_ad_appl
408        WHERE    person_id = p_person_id
409 	AND      admission_appl_number = p_admission_appl_number;
410 
411        -- Following cursors added as part of Single Response build Bug:3132406
412        CURSOR get_single_response (p_admission_cat igs_ad_appl_all.admission_cat%TYPE,
413                                    p_s_admission_process_type igs_ad_appl_all.s_admission_process_type%TYPE) IS
414        SELECT admprd.single_response_flag
415        FROM igs_ad_prd_ad_prc_ca admprd,
416               igs_ad_appl_all appl,
417               igs_ad_ps_appl_inst_all aplinst
418        WHERE appl.person_id = new_references.person_id
419               AND appl.admission_appl_number = new_references.admission_appl_number
420               AND appl.person_id = aplinst.person_id
421               AND appl.admission_appl_number = aplinst.admission_appl_number
422               AND admprd.adm_cal_type = NVL(aplinst.adm_cal_type,appl.adm_cal_type)
423               AND admprd.adm_ci_sequence_number = NVL(aplinst.adm_ci_sequence_number,appl.adm_ci_sequence_number)
424               AND admprd.admission_cat = p_admission_cat
425               AND admprd.s_admission_process_type = p_s_admission_process_type;
426 
427         CURSOR get_aplinst_response_accepted IS
428         SELECT distinct appl.application_id, aplinst.nominated_course_cd
429         FROM igs_ad_appl_all appl,
430             igs_ad_ps_appl_inst aplinst,
431             igs_ad_prd_ad_prc_ca admprd
432         WHERE appl.person_id = aplinst.person_id
433         AND appl.admission_appl_number = aplinst.admission_appl_number
434         AND appl.person_id = new_references.person_id
435         AND igs_ad_gen_009.admp_get_sys_aors(aplinst.adm_offer_resp_status) = 'ACCEPTED'
436         AND admprd.adm_cal_type = NVL(aplinst.adm_cal_type,appl.adm_cal_type)
437         AND admprd.adm_ci_sequence_number = NVL(aplinst.adm_ci_sequence_number,appl.adm_ci_sequence_number)
438 	AND admprd.admission_cat = appl.admission_cat
439 	AND admprd.s_admission_process_type = appl.s_admission_process_type
440         AND admprd.single_response_flag = 'Y';
441 
442         CURSOR get_alternate_code ( p_cal_type igs_ca_inst.cal_type%TYPE,
443 	                            p_sequence_number igs_ca_inst.sequence_number%TYPE) IS
444 	SELECT alternate_code
445 	FROM igs_ca_inst
446 	WHERE cal_type = p_cal_type
447 	AND sequence_number = p_sequence_number;
448 
449 
450 	l_appl_dt  igs_ad_appl.appl_dt%TYPE;
451 	l_single_response_flag igs_ad_prd_ad_prc_ca.single_response_flag%TYPE;
452 	l_application_id igs_ad_appl_all.application_id%TYPE;
453 	l_acad_alt_code igs_ca_inst.alternate_code%TYPE;
454 	l_adm_alt_code igs_ca_inst.alternate_code%TYPE;
455 	l_nominated_course_cd igs_ad_ps_appl_inst_all.nominated_course_cd%TYPE;
456 
457 	l_s_adm_outcome_status VARCHAR2(30) ;
458 	cst_withdrawn		CONSTANT VARCHAR2(10) := 'WITHDRAWN';
459 
460 	--- begin apadegal ADTD001 RE-OPEN Build  igs.m
461 	CURSOR cur_reconsider IS
462         SELECT   req_for_reconsideration_ind
463         FROM     IGS_AD_PS_APPL_ALL apl
464 	WHERE   apl.person_id = new_references.person_id
465         AND     apl.admission_appl_number = new_references.admission_appl_number
466         AND     apl.nominated_course_cd = new_references.nominated_course_cd ;
467 
468 	l_is_inst_reconsidered VARCHAR2(1) DEFAULT NULL;
469 
470 	CURSOR c_decl_ofr_rsn (cp_lookup_code igs_lookup_values.lookup_code%TYPE) IS
471 	       SELECT 1
472                   FROM IGS_LOOKUP_VALUES lkupv
473                WHERE lookup_type = 'IGS_AD_DECL_OFR_REAS'
474                  AND lkupv.CLOSED_IND <> 'N'
475 		 AND LOOKUP_CODE = cp_lookup_code;
476 
477         --- end apadegal ADTD001 RE-OPEN Build  igs.m
478 
479   BEGIN
480         v_unit_set_appl_ind             := 'N';
481         v_check_person_encumb           := 'N';
482         v_check_course_encumb           := 'N';
483         v_deferral_allowed_ind          := 'N';
484         v_pre_enrol_ind                 := 'N';
485         v_cond_offer_doc_allowed_ind    := 'N';
486         v_cond_offer_fee_allowed_ind    := 'N';
487         v_cond_offer_ass_allowed_ind    := 'N';
488         v_late_appl_allowed_ind         := 'N';
489         v_late_fees_required_ind        := 'N';
490         v_fees_required_ind             := 'N';
491         v_override_outcome_allowed_ind  := 'N';
492         v_set_outcome_allowed_ind       := 'N';
493         v_mult_offer_allowed_ind        := 'N';
494         v_pref_allowed_ind              := 'N';
495         v_p_inserting_ind               := 'N';
496         v_offer_ind                     := 'N';
497         v_update_non_enrol_detail_ind   := 'N';
498         v_late_ind                      := 'N';
499 
500 	l_s_adm_outcome_status := igs_ad_gen_008.admp_get_saos(new_references.adm_outcome_status);
501         IF NVL(p_inserting,FALSE) OR NVL(p_updating,FALSE) THEN
502                 OPEN c_appl_dt(p_person_id => new_references.person_id,
503 				p_admission_appl_number => new_references.admission_appl_number);
504 		FETCH c_appl_dt  INTO l_appl_dt;
505 		CLOSE c_appl_dt;
506 
507 		IF (new_references.adm_outcome_status_auth_dt IS NOT NULL
508 		  AND  new_references.adm_outcome_status_auth_dt  < l_appl_dt ) THEN
509 		       FND_MESSAGE.SET_NAME('IGS','IGS_AD_APPL_DATE_ERROR');
510 		        FND_MESSAGE.SET_TOKEN ('NAME',fnd_message.get_string('IGS','IGS_AD_OS_AUTH_DT'));
511 		       IGS_GE_MSG_STACK.ADD;
512 		       APP_EXCEPTION.RAISE_EXCEPTION;
513 	     END IF;
514 	   IF ( new_references.offer_dt IS NOT NULL AND  new_references.offer_dt  < l_appl_dt ) THEN
515 		FND_MESSAGE.SET_NAME('IGS','IGS_AD_OFRDT_APPLDT');
516 		IGS_GE_MSG_STACK.ADD;
517 		APP_EXCEPTION.RAISE_EXCEPTION;
518 	   END IF;
519 	   IF ( new_references.offer_dt IS NOT NULL AND  new_references.offer_dt  > SYSDATE ) THEN
520 		FND_MESSAGE.SET_NAME('IGS','IGS_AD_OFFER_DATE_INVALID');
521 		IGS_GE_MSG_STACK.ADD;
522 		APP_EXCEPTION.RAISE_EXCEPTION;
523 	   END IF;
524 
525 	    IF (new_references.idx_calc_date IS NOT NULL AND new_references.idx_calc_date  < l_appl_dt ) THEN
526 		FND_MESSAGE.SET_NAME('IGS','IGS_AD_APPL_DATE_ERROR');
527 	       FND_MESSAGE.SET_TOKEN ('NAME',fnd_message.get_string('IGS','IGS_AD_CALC_DATE'));
528 	       IGS_GE_MSG_STACK.ADD;
529 		APP_EXCEPTION.RAISE_EXCEPTION;
530 	    ELSIF new_references.idx_calc_date > SYSDATE THEN
531                FND_MESSAGE.SET_NAME('IGS','IGS_AD_DATE_SYSDATE');
532                FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_CALC_DATE'));
533                IGS_GE_MSG_STACK.ADD;
534                App_Exception.Raise_Exception;
535 	    END IF;
536 
537 	    --stammine
538 	    IF NVL(new_references.decline_ofr_reason,'-1*$') <> NVL(old_references.decline_ofr_reason,'-1*$') THEN
539 	         FOR c_decl_ofr_rsn_rec IN c_decl_ofr_rsn(new_references.decline_ofr_reason)
540 		 LOOP
541 		     FND_MESSAGE.SET_NAME('IGS','IGS_AD_DCL_OFR_RS_CLD');
542                      IGS_GE_MSG_STACK.ADD;
543                      App_Exception.Raise_Exception;
544 		 END LOOP;
545 	     END IF;
546 
547 
548                 -- Get admission application details required for validation.
549                 --
550                 igs_ad_gen_002.admp_get_aa_dtl(
551                         new_references.person_id,
552                         new_references.admission_appl_number,
553                         v_admission_cat,
554                         v_s_admission_process_type,
555                         v_acad_cal_type,
556                         v_aa_acad_ci_sequence_number,
557                         v_aa_adm_cal_type,
558                         v_aa_adm_ci_sequence_number,
559                         v_appl_dt,
560                         v_adm_appl_status,
561                         v_adm_fee_status);
562 
563                 -- Start of Single Response validations Bug:3132406
564                 IF (old_references.adm_offer_resp_status <> new_references.adm_offer_resp_status AND
565                   igs_ad_gen_009.admp_get_sys_aors (new_references.adm_offer_resp_status) = 'ACCEPTED') THEN
566                   OPEN get_single_response (v_admission_cat,v_s_admission_process_type);
567                   FETCH get_single_response INTO l_single_response_flag;
568                   CLOSE get_single_response;
569 
570                   IF l_single_response_flag = 'Y' THEN
571                     OPEN get_aplinst_response_accepted;
572                     FETCH get_aplinst_response_accepted INTO l_application_id,l_nominated_course_cd;
573                     IF get_aplinst_response_accepted%FOUND THEN
574                       CLOSE get_aplinst_response_accepted;
575 
576 		      OPEN get_alternate_code(v_acad_cal_type,v_aa_acad_ci_sequence_number);
577                       FETCH get_alternate_code INTO l_acad_alt_code;
578 		      CLOSE get_alternate_code;
579 
580 		      OPEN get_alternate_code(v_aa_adm_cal_type,v_aa_adm_ci_sequence_number);
581                       FETCH get_alternate_code INTO l_adm_alt_code;
582 		      CLOSE get_alternate_code;
583 
584 
585                       FND_MESSAGE.SET_NAME('IGS','IGS_AD_SINGLE_OFFRESP_EXISTS');
586                       FND_MESSAGE.SET_TOKEN ('PROG_CODE',l_nominated_course_cd);
587                       FND_MESSAGE.SET_TOKEN ('APPL_ID', TO_CHAR(l_application_id));
588                       FND_MESSAGE.SET_TOKEN ('ACAD_ADM_PRD', l_acad_alt_code||'/'||l_adm_alt_code);
589                       IGS_GE_MSG_STACK.ADD;
590                       APP_EXCEPTION.RAISE_EXCEPTION;
591                     ELSE
592                       CLOSE get_aplinst_response_accepted;
593                     END IF;
594                   END IF;
595                 END IF;
596 		-- End of Single Response validations Bug:3132406
597 
598                 --
599                 -- Validate step access.
600                 --
601                 IF NVL(p_inserting,FALSE) THEN
602                         v_p_inserting_ind := 'Y';
603                 END IF;
604                 --
605                 -- Determine the admission process category steps.
606                 --
607                 FOR v_apcs_rec IN c_apcs (
608                                 v_admission_cat,
609                                 v_s_admission_process_type)
610                 LOOP
611                         IF v_apcs_rec.s_admission_step_type = 'CHKCENCUMB' THEN
612                                 v_check_course_encumb := 'Y';
613                         ELSIF v_apcs_rec.s_admission_step_type = 'CHKPENCUMB' THEN
614                                 v_check_person_encumb := 'Y';
615                         ELSIF v_apcs_rec.s_admission_step_type = 'PREF-LIMIT' THEN
616                                 v_pref_allowed_ind := 'Y';
617                                 v_pref_limit := v_apcs_rec.step_type_restriction_num;
618                         ELSIF v_apcs_rec.s_admission_step_type = 'DOC-COND' THEN
619                                 v_cond_offer_doc_allowed_ind := 'Y';
620                         ELSIF v_apcs_rec.s_admission_step_type = 'FEE-COND' THEN
621                                 v_cond_offer_fee_allowed_ind := 'Y';
622                         ELSIF v_apcs_rec.s_admission_step_type = 'ASSES-COND' THEN
623                                 v_cond_offer_ass_allowed_ind := 'Y';
624                         ELSIF v_apcs_rec.s_admission_step_type = 'LATE-APP' THEN
625                                 v_late_appl_allowed_ind := 'Y';
626                         ELSIF v_apcs_rec.s_admission_step_type = 'LATE-FEE' THEN
627                                 v_late_fees_required_ind := 'Y';
628                         ELSIF v_apcs_rec.s_admission_step_type = 'APP-FEE' THEN
629                                 v_fees_required_ind := 'Y';
630                         ELSIF v_apcs_rec.s_admission_step_type = 'OVERRIDE-O' THEN
631                                         v_override_outcome_allowed_ind := 'Y';
632                         ELSIF v_apcs_rec.s_admission_step_type = 'SET-OTCOME' THEN
633                                         v_set_outcome_allowed_ind := 'Y';
634                         ELSIF v_apcs_rec.s_admission_step_type = 'MULTI-OFF' THEN
635                                 v_mult_offer_allowed_ind := 'Y';
636                                 v_multi_offer_limit := v_apcs_rec.step_type_restriction_num;
637                         ELSIF v_apcs_rec.s_admission_step_type = 'UNIT-SET' THEN
638                                 v_unit_set_appl_ind := 'Y';
639                         ELSIF v_apcs_rec.s_admission_step_type = 'DEFER' THEN
640                                 v_deferral_allowed_ind := 'Y';
641                         ELSIF v_apcs_rec.s_admission_step_type = 'PRE-ENROL' THEN
642                                         v_pre_enrol_ind := 'Y';
643                         END IF;
644                 END LOOP;
645                 --
646                 -- Determine the Academic and Admission period for validation.
647                 --
648                 IF new_references.adm_cal_type IS NULL THEN
649                         v_acad_ci_sequence_number := v_aa_acad_ci_sequence_number;
650                         v_adm_cal_type := v_aa_adm_cal_type;
651                         v_adm_ci_sequence_number := v_aa_adm_ci_sequence_number;
652                 ELSE
653                         v_acad_ci_sequence_number := IGS_CA_GEN_001.CALP_GET_SUP_INST (
654                                                         v_acad_cal_type,
655                                                         new_references.adm_cal_type,
656                                                         new_references.adm_ci_sequence_number);
657                         v_adm_cal_type := new_references.adm_cal_type;
658                         v_adm_ci_sequence_number := new_references.adm_ci_sequence_number;
659                 END IF;
660                 IF NVL(p_updating,FALSE) THEN
661 
662                         -- Validate update of an admission IGS_PS_COURSE application instance record.
663 
664 
665 		        --- begin apadegal ADTD001 RE-OPEN Build  igs.m
666 			OPEN cur_reconsider;
667 			FETCH cur_reconsider INTO   l_is_inst_reconsidered;
668 			CLOSE  cur_reconsider;
669 			--- end apadegal ADTD001 RE-OPEN Build  igs.m
670                         --
671                         IF IGS_AD_VAL_ACAI.admp_val_acai_update (
672                                         v_adm_appl_status,
673                                         new_references.person_id,
674                                         new_references.admission_appl_number,
675                                         new_references.nominated_course_cd,
676                                         new_references.sequence_number,
677                                         v_message_name,
678                                         v_update_non_enrol_detail_ind) = FALSE THEN
679 
680 
681 
682 				IF (IGS_AD_GEN_007.ADMP_GET_SAAS(old_references.appl_inst_status)= cst_withdrawn
683 						AND new_references.appl_inst_status IS NULL) THEN		-- resubmitting application instance
684 														-- arvsrini igsm
685 					NULL;
686 				ELSIF (NVL(l_is_inst_reconsidered,'N') = 'Y') THEN -- during RECONSIDERATION ,
687 				     NULL;	                 ---need  to set the outcomes to pending, let the records get updated.
688 				ELSE
689 					IF v_update_non_enrol_detail_ind = 'Y' THEN
690 						IF NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
691 								NVL(old_references.adm_ci_sequence_number, -1) <>
692 									NVL(new_references.adm_ci_sequence_number, -1) OR
693 								old_references.course_cd <>
694 									new_references.course_cd OR
695 								old_references.crv_version_number <>
696 									new_references.crv_version_number OR
697 								NVL(old_references.location_cd, '-1') <>
698 									NVL(new_references.location_cd, '-1') OR
699 								NVL(old_references.attendance_mode, '-1') <>
700 									NVL(new_references.attendance_mode, '-1') OR
701 								NVL(old_references.attendance_type, '-1') <>
702 									NVL(new_references.attendance_type, '-1') OR
703 								NVL(old_references.unit_set_cd, '-1') <>
704 									NVL(new_references.unit_set_cd, '-1') OR
705 								NVL(old_references.us_version_number, -1) <>
706 									NVL(new_references.us_version_number, -1) OR
707 								NVL(old_references.preference_number, -1) <>
708 									NVL(new_references.preference_number, -1) OR
709 								NVL(TRUNC(old_references.prpsd_commencement_dt), IGS_GE_DATE.IGSDATE('1900/01/01')) <>
710 									NVL(new_references.prpsd_commencement_dt,
711 										IGS_GE_DATE.IGSDATE('1900/01/01')) OR
712 								NVL(old_references.fee_cat, '-1') <>
713 									NVL(new_references.fee_cat, '-1') OR
714 								NVL(old_references.hecs_payment_option, '-1') <>
715 									NVL(new_references.hecs_payment_option, '-1') OR
716 								NVL(old_references.expected_completion_yr, -1) <>
717 									NVL(new_references.expected_completion_yr, -1) OR
718 								NVL(old_references.expected_completion_perd, '-1') <>
719 									NVL(new_references.expected_completion_perd, '-1') OR
720 								NVL(old_references.correspondence_cat, '-1') <>
721 									NVL(new_references.correspondence_cat, '-1') OR
722 								NVL(old_references.enrolment_cat, '-1') <>
723 									NVL(new_references.enrolment_cat, '-1') THEN
724 							FND_MESSAGE.SET_NAME('IGS',v_message_name);
725 							IGS_GE_MSG_STACK.ADD;
726 							APP_EXCEPTION.RAISE_EXCEPTION;
727 						END IF;
728 					ELSE
729 						IF NOT (igs_ad_gen_002.check_any_offer_inst(new_references.person_id,			--arvsrini igsm
730 											    new_references.admission_appl_number,	--either instance is withdrawn
731 											    new_references.nominated_course_cd,		--or instance is complete and is not offered/cond offered
732 											    new_references.sequence_number)		--or instance is complete but deffered appl is already created
733 							 AND old_references.def_term_adm_appl_num IS NULL 				-- hence cant be udpated
734 							 AND old_references.def_appl_sequence_num IS NULL
735 							)
736 								OR check_non_updateable_list() THEN -- tried to update the fields which are not supposed to be updated in proced phase
737 							IF IGS_AD_GEN_007.ADMP_GET_SAAS(old_references.appl_inst_status) = cst_withdrawn THEN
738 								FND_MESSAGE.SET_NAME('IGS','IGS_AD_APPL_INST_WITHD');
739 								IGS_GE_MSG_STACK.ADD;
740 								APP_EXCEPTION.RAISE_EXCEPTION;
741 							ELSE
742 								FND_MESSAGE.SET_NAME('IGS','IGS_AD_APPL_INST_COMPL');
743 								IGS_GE_MSG_STACK.ADD;
744 								APP_EXCEPTION.RAISE_EXCEPTION;
745 							END IF;
746 						END IF;
747 
748 					END IF;
749 				 END IF;
750 
751                         END IF;	    -- end if of igs_admp_val_acai_update
752 
753 			--
754                         -- Cannot update the IGS_PS_COURSE Version.
755                         --
756                         IF ((old_references.course_cd <> new_references.course_cd) OR
757                                         (old_references.crv_version_number <> new_references.crv_version_number)) THEN
758                                 FND_MESSAGE.SET_NAME('IGS','IGS_AD_UPD_PRGVER_NOTALLOW');
759                                 IGS_GE_MSG_STACK.ADD;
760                                 APP_EXCEPTION.RAISE_EXCEPTION;
761                         END IF;
762                         --
763                         -- Validate change of preference.
764                         IF v_pref_allowed_ind = 'Y' AND
765                                         NVL(old_references.preference_number, -1) <> NVL(new_references.preference_number, -1) THEN
766                                 IF IGS_AD_VAL_ACAI.admp_val_chg_of_pref (
767                                                 v_adm_cal_type,
768                                                 v_adm_ci_sequence_number,
769                                                 v_admission_cat,
770                                                 v_s_admission_process_type,
771                                                 new_references.course_cd,
772                                                 new_references.crv_version_number,
773                                                 v_acad_cal_type,
774                                                 new_references.location_cd,
775                                                 new_references.attendance_mode,
776                                                 new_references.attendance_type,
777                                                 v_message_name) = FALSE THEN
778                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
779                                         IGS_GE_MSG_STACK.ADD;
780                                         APP_EXCEPTION.RAISE_EXCEPTION;
781                                 END IF;
782                         END IF;
783                 END IF; -- p_updating
784                 IF NVL(p_inserting,FALSE) THEN
785                         -- Validate insert of a preference.
786                         IF v_pref_allowed_ind = 'Y' THEN
787                                 IF IGS_AD_VAL_ACAI.admp_val_chg_of_pref (
788                                                 v_adm_cal_type,
789                                                 v_adm_ci_sequence_number,
790                                                 v_admission_cat,
791                                                 v_s_admission_process_type,
792                                                 new_references.course_cd,
793                                                 new_references.crv_version_number,
794                                                 v_acad_cal_type,
795                                                 new_references.location_cd,
796                                                 new_references.attendance_mode,
797                                                 new_references.attendance_type,
798                                                 v_message_name) = FALSE THEN
799                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
800                                         IGS_GE_MSG_STACK.ADD;
801                                         APP_EXCEPTION.RAISE_EXCEPTION;
802                                 END IF;
803                         END IF;
804                 END IF;
805                 --
806                 -- Validate the Admission Calendar.
807                 -- If either calendar component is set, then both must be set.
808                 --
809                 IF new_references.adm_cal_type IS NOT NULL AND
810                                 new_references.adm_ci_sequence_number IS NULL THEN
811                         FND_MESSAGE.SET_NAME('IGS','IGS_AD_ADMCAL_SET_ADMCAL_SET');
812                         IGS_GE_MSG_STACK.ADD;
813                         APP_EXCEPTION.RAISE_EXCEPTION;
814                 END IF;
815                 IF new_references.adm_ci_sequence_number IS NOT NULL AND
816                                 new_references.adm_cal_type IS NULL THEN
817                         FND_MESSAGE.SET_NAME('IGS','IGS_AD_ADMCAL_SET_ADMCAL_SET');
818                         IGS_GE_MSG_STACK.ADD;
819                         APP_EXCEPTION.RAISE_EXCEPTION;
820                 END IF;
821                 IF new_references.adm_cal_type IS NOT NULL AND
822                                 (NVL(old_references.adm_cal_type, '-1') <> new_references.adm_cal_type OR
823                                  NVL(old_references.adm_ci_sequence_number, -1) <> new_references.adm_ci_sequence_number) THEN
824                         IF IGS_AD_VAL_AA.admp_val_aa_adm_cal (
825                                         new_references.adm_cal_type,
826                                         new_references.adm_ci_sequence_number,
827                                         v_acad_cal_type,
828                                         v_acad_ci_sequence_number,
829                                         v_admission_cat,
830                                         v_s_admission_process_type,
831                                         v_message_name) = FALSE THEN
832                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
833                                 IGS_GE_MSG_STACK.ADD;
834                                 APP_EXCEPTION.RAISE_EXCEPTION;
835                         END IF;
836                 END IF;
837                 --
838                 -- Determine the offer indicator.
839                 --
840                 IF NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), 'NONE') IN
841                                 ('OFFER', 'COND-OFFER') THEN
842                         v_offer_ind := 'Y';
843                 END IF;
844                 --
845                 -- Validate the IGS_PS_COURSE code.
846                 --
847                 IF (NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
848                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
849                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
850                                 NVL(old_references.adm_ci_sequence_number, -1) <>
851                                         NVL(new_references.adm_ci_sequence_number, -1))THEN
852                         IF IGS_AD_VAL_ACAI.admp_val_acai_course (
853                                         new_references.course_cd,
854                                         new_references.crv_version_number,
855                                         v_admission_cat,
856                                         v_s_admission_process_type,
857                                         v_acad_cal_type,
858                                         v_acad_ci_sequence_number,
859                                         v_adm_cal_type,
860                                         v_adm_ci_sequence_number,
861                                         v_appl_dt,
862                                         v_late_appl_allowed_ind,
863                                         v_offer_ind,
864                                         v_crv_version_number,
865                                         v_message_name,
866                                         v_return_type) = FALSE THEN
867                                 IF NVL(v_return_type, '-1') = cst_error THEN
868                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
869                                         IGS_GE_MSG_STACK.ADD;
870                                         APP_EXCEPTION.RAISE_EXCEPTION;
871                                 END IF;
872                         END IF;
873                 END IF;
874                 --
875                 -- Validate IGS_PS_COURSE encumbrances.
876                 --
877                 IF v_check_course_encumb = 'Y' AND
878                                 (NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
879                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
880                                 NVL(old_references.adm_ci_sequence_number, -1) <>
881                                         NVL(new_references.adm_ci_sequence_number, -1))THEN
882                         IF IGS_AD_VAL_ACAI.admp_val_acai_encmb (
883                                         new_references.person_id,
884                                         new_references.course_cd,
885                                         v_adm_cal_type,
886                                         v_adm_ci_sequence_number,
887                                         v_check_course_encumb,
888                                         v_offer_ind,
889                                         v_message_name,
890                                         v_return_type) = FALSE THEN
891                                 IF NVL(v_return_type, '-1') = cst_error THEN
892                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
893                                         IGS_GE_MSG_STACK.ADD;
894                                         APP_EXCEPTION.RAISE_EXCEPTION;
895                                 END IF;
896                         END IF;
897                 END IF;
898                 --
899                 -- Validate against current student IGS_PS_COURSE attempt.
900                 --
901                 IF NVL(old_references.course_cd, '-1') <> new_references.course_cd THEN
902                         IF IGS_AD_VAL_ACAI.admp_val_aca_sca (
903                                         new_references.person_id,
904                                         new_references.course_cd,
905                                         v_appl_dt,
906                                         v_admission_cat,
907                                         v_s_admission_process_type,
908                                         new_references.fee_cat,
909                                         new_references.correspondence_cat,
910                                         new_references.enrolment_cat,
911                                         v_offer_ind,
912                                         v_message_name,
913                                         v_return_type) = FALSE THEN
914                                 IF NVL(v_return_type, '-1') = cst_error THEN
915                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
916                                         IGS_GE_MSG_STACK.ADD;
917                                         APP_EXCEPTION.RAISE_EXCEPTION;
918                                 END IF;
919                         END IF;
920                 END IF;
921                 --
922                 -- Validate transfer IGS_PS_COURSE code.
923                 --
924                 IF v_s_admission_process_type = cst_transfer AND
925                                 (NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
926                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
927                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
928                                 NVL(old_references.adm_ci_sequence_number, -1) <>
929                                         NVL(new_references.adm_ci_sequence_number, -1)) THEN
930                         OPEN c_aca (
931                                 new_references.person_id,
932                                 new_references.admission_appl_number,
933                                 new_references.nominated_course_cd);
934                         FETCH c_aca INTO v_transfer_course_cd;
935                         CLOSE c_aca;
936                         IF IGS_AD_VAL_ACA.admp_val_aca_trnsfr (
937                                         new_references.person_id,
938                                         new_references.course_cd,
939                                         new_references.crv_version_number,
940                                         v_transfer_course_cd,
941                                         v_s_admission_process_type,
942                                         v_check_course_encumb,
943                                         v_adm_cal_type,
944                                         v_adm_ci_sequence_number,
945                                         v_message_name,
946                                         v_return_type) = FALSE THEN
947                                 IF NVL(v_return_type, '-1') = cst_error THEN
948                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
949                                         IGS_GE_MSG_STACK.ADD;
950                                         APP_EXCEPTION.RAISE_EXCEPTION;
951                                 END IF;
952                         END IF;
953                 END IF;
954                 --
955                 -- Validate the IGS_PS_COURSE offering pattern.
956                 --
957                 IF (NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
958                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
959                                 NVL(old_references.location_cd, '-1') <> NVL(new_references.location_cd, '-1') OR
960                                 NVL(old_references.attendance_mode, '-1') <> NVL(new_references.attendance_mode, '-1') OR
961                                 NVL(old_references.attendance_type, '-1') <> NVL(new_references.attendance_type, '-1') OR
962                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
963                                 NVL(old_references.adm_ci_sequence_number, -1) <>
964                                         NVL(new_references.adm_ci_sequence_number, -1))THEN
965                         IF IGS_AD_VAL_ACAI.admp_val_acai_cop (
966                                         new_references.course_cd,
967                                         new_references.crv_version_number,
968                                         new_references.location_cd,
969                                         new_references.attendance_mode,
970                                         new_references.attendance_type,
971                                         v_acad_cal_type,
972                                         v_acad_ci_sequence_number,
973                                         v_adm_cal_type,
974                                         v_adm_ci_sequence_number,
975                                         v_admission_cat,
976                                         v_s_admission_process_type,
977                                         v_offer_ind,
978                                         v_appl_dt,
979                                         v_late_appl_allowed_ind,
980                                         'N',    -- Deferred indicator.
981                                         v_message_name,
982                                         v_return_type,
983                                         v_late_ind) = FALSE THEN
984                                 IF NVL(v_return_type, '-1') = cst_error THEN
985                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
986                                         IGS_GE_MSG_STACK.ADD;
987                                         APP_EXCEPTION.RAISE_EXCEPTION;
988                                 END IF;
989                         END IF;
990                 END IF;
991                 --
992                 -- Validate the IGS_PS_COURSE offering options (IGS_AD_LOCATION, attendance mode + type).
993                 --
994                 IF new_references.location_cd IS NOT NULL OR
995                                 new_references.attendance_mode IS NOT NULL OR
996                                 new_references.attendance_type IS NOT NULL OR
997                                 ( NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
998                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
999                                 NVL(old_references.location_cd, '-1') <> NVL(new_references.location_cd, '-1') OR
1000                                 NVL(old_references.attendance_mode, '-1') <> NVL(new_references.attendance_mode, '-1') OR
1001                                 NVL(old_references.attendance_type, '-1') <> NVL(new_references.attendance_type, '-1') OR
1002                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
1003                                 NVL(old_references.adm_ci_sequence_number, -1) <>
1004                                         NVL(new_references.adm_ci_sequence_number, -1) )THEN
1005                         IF IGS_AD_VAL_ACAI.admp_val_acai_opt (
1006                                         new_references.course_cd,
1007                                         new_references.crv_version_number,
1008                                         v_acad_cal_type,
1009                                         v_acad_ci_sequence_number,
1010                                         new_references.location_cd,
1011                                         new_references.attendance_mode,
1012                                         new_references.attendance_type,
1013                                         v_adm_cal_type,
1014                                         v_adm_ci_sequence_number,
1015                                         v_admission_cat,
1016                                         v_s_admission_process_type,
1017                                         v_offer_ind,
1018                                         v_appl_dt,
1019                                         v_late_appl_allowed_ind,
1020                                         v_message_name) = FALSE THEN
1021                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1022                                 IGS_GE_MSG_STACK.ADD;
1023                                 APP_EXCEPTION.RAISE_EXCEPTION;
1024                         END IF;
1025                 END IF;
1026                 --
1027                 -- Validate the IGS_PS_COURSE offering IGS_PS_UNIT set.
1028                 --
1029                 IF NVL(old_references.unit_set_cd, '-1') <> NVL(new_references.unit_set_cd, '-1') OR
1030                                 NVL(old_references.us_version_number, -1) <> NVL(new_references.us_version_number, -1) OR
1031                                 NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
1032                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
1033                                 NVL(old_references.location_cd, '-1') <> NVL(new_references.location_cd, '-1') OR
1034                                 NVL(old_references.attendance_mode, '-1') <> NVL(new_references.attendance_mode, '-1') OR
1035                                 NVL(old_references.attendance_type, '-1') <> NVL(new_references.attendance_type, '-1') OR
1036                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
1037                                 NVL(old_references.adm_ci_sequence_number, -1) <>
1038                                         NVL(new_references.adm_ci_sequence_number, -1)THEN
1039                         IF IGS_AD_VAL_ACAI.admp_val_acai_us (
1040                                         new_references.unit_set_cd,
1041                                         new_references.us_version_number,
1042                                         new_references.course_cd,
1043                                         new_references.crv_version_number,
1044                                         v_acad_cal_type,
1045                                         new_references.location_cd,
1046                                         new_references.attendance_mode,
1047                                         new_references.attendance_type,
1048                                         v_admission_cat,
1049                                         v_offer_ind,
1050                                         v_unit_set_appl_ind,
1051                                         v_message_name,
1052                                         v_return_type) = FALSE THEN
1053                                 IF NVL(v_return_type, '-1') = cst_error THEN
1054                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
1055                                         IGS_GE_MSG_STACK.ADD;
1056                                         APP_EXCEPTION.RAISE_EXCEPTION;
1057                                 END IF;
1058                         END IF;
1059                 END IF;
1060                 --
1061                 -- Validate IGS_PS_COURSE IGS_PS_UNIT set encumbrances.
1062                 --
1063                 IF v_check_course_encumb = 'Y' AND
1064                                 NVL(old_references.unit_set_cd, '-1') <> NVL(new_references.unit_set_cd, '-1') OR
1065                                 NVL(old_references.us_version_number, -1) <> NVL(new_references.us_version_number, -1) OR
1066                                 (NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
1067                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
1068                                 NVL(old_references.adm_ci_sequence_number, -1) <>
1069                                         NVL(new_references.adm_ci_sequence_number, -1))THEN
1070                         IF IGS_AD_VAL_ACAI.admp_val_us_encmb (
1071                                         new_references.person_id,
1072                                         new_references.course_cd,
1073                                         new_references.unit_set_cd,
1074                                         new_references.us_version_number,
1075                                         v_adm_cal_type,
1076                                         v_adm_ci_sequence_number,
1077                                         v_check_course_encumb,
1078                                         v_offer_ind,
1079                                         v_message_name,
1080                                         v_return_type) = FALSE THEN
1081                                 IF NVL(v_return_type, '-1') = cst_error THEN
1082                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
1083                                         IGS_GE_MSG_STACK.ADD;
1084                                         APP_EXCEPTION.RAISE_EXCEPTION;
1085                                 END IF;
1086                         END IF;
1087                 END IF;
1088                 --
1089                 -- Validate the preference number.
1090                 --
1091                 IF NVL(old_references.preference_number, -1) <> NVL(new_references.preference_number, -1) THEN
1092                         IF IGS_AD_VAL_ACAI.admp_val_acai_pref (
1093                                         new_references.preference_number,
1094                                         v_pref_allowed_ind      ,
1095                                         v_pref_limit,
1096                                         v_s_admission_process_type,
1097                                         v_message_name) = FALSE THEN
1098                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1099                                 IGS_GE_MSG_STACK.ADD;
1100                                 APP_EXCEPTION.RAISE_EXCEPTION;
1101                         END IF;
1102                 END IF;
1103                 --
1104                 -- IGS_GE_NOTE: STATUS VALIDATIONS
1105                 -- Only invoke status validations for the status value that is changing.
1106                 -- Cross status validation checks are included in all status validations.
1107                 --
1108                 --
1109                 -- Validate admission entry qualification status.
1110                 --
1111                 IF NVL(old_references.adm_entry_qual_status, '-1') <> new_references.adm_entry_qual_status THEN
1112                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_aeqs (
1113                                         new_references.adm_entry_qual_status,
1114                                         new_references.adm_outcome_status,
1115                                         v_s_admission_process_type,
1116                                         v_message_name) = FALSE THEN
1117                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1118                                 IGS_GE_MSG_STACK.ADD;
1119                                 APP_EXCEPTION.RAISE_EXCEPTION;
1120                         END IF;
1121                 END IF;
1122                 --
1123                 -- Validate admission documentation status.
1124                 --
1125                 IF NVL(old_references.adm_doc_status, '-1') <> new_references.adm_doc_status THEN
1126                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_ads (
1127                                         new_references.adm_doc_status,
1128                                         new_references.adm_outcome_status,
1129                                         new_references.adm_cndtnl_offer_status,
1130                                         v_s_admission_process_type,
1131                                         v_cond_offer_doc_allowed_ind,
1132                                         v_message_name) = FALSE THEN
1133                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1134                                 IGS_GE_MSG_STACK.ADD;
1135                                 APP_EXCEPTION.RAISE_EXCEPTION;
1136                         END IF;
1137                 END IF;
1138                 --
1139                 -- Validate late admission fee status.
1140                 --
1141                 IF NVL(old_references.late_adm_fee_status, '-1') <> new_references.late_adm_fee_status OR
1142                                 NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
1143                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
1144                                 NVL(old_references.location_cd, '-1') <> NVL(new_references.location_cd, '-1') OR
1145                                 NVL(old_references.attendance_mode, '-1') <> NVL(new_references.attendance_mode, '-1') OR
1146                                 NVL(old_references.attendance_mode, '-1') <> NVL(new_references.attendance_type, '-1') OR
1147                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
1148                                 NVL(old_references.adm_ci_sequence_number, -1) <>
1149                                 NVL(new_references.adm_ci_sequence_number, -1) THEN
1150                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_lafs (
1151                                         new_references.late_adm_fee_status,
1152                                         v_late_appl_allowed_ind,
1153                                         v_late_fees_required_ind,
1154                                         v_cond_offer_fee_allowed_ind,
1155                                         v_appl_dt,
1156                                         new_references.course_cd,
1157                                         new_references.crv_version_number,
1158                                         v_acad_cal_type,
1159                                         new_references.location_cd,
1160                                         new_references.attendance_mode,
1161                                         new_references.attendance_type,
1162                                         v_adm_cal_type,
1163                                         v_adm_ci_sequence_number,
1164                                         v_admission_cat,
1165                                         v_s_admission_process_type,
1166                                         new_references.adm_outcome_status,
1167                                         new_references.adm_cndtnl_offer_status,
1168                                         v_message_name) = FALSE THEN
1169                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1170                                 IGS_GE_MSG_STACK.ADD;
1171                                 APP_EXCEPTION.RAISE_EXCEPTION;
1172                         END IF;
1173                 END IF;
1174                 --
1175                 -- Validate admission outcome status.
1176                 --
1177                 IF NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
1178                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
1179                                 NVL(old_references.location_cd, '-1') <> NVL(new_references.location_cd, '-1') OR
1180                                 NVL(old_references.attendance_mode, '-1') <> NVL(new_references.attendance_mode, '-1') OR
1181                                 NVL(old_references.attendance_type, '-1') <> NVL(new_references.attendance_type, '-1') OR
1182                                 NVL(old_references.unit_set_cd, '-1') <> NVL(new_references.unit_set_cd, '-1') OR
1183                                 NVL(old_references.us_version_number, -1) <> NVL(new_references.us_version_number, -1) OR
1184                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
1185                                 NVL(old_references.adm_ci_sequence_number, -1) <>
1186                                         NVL(new_references.adm_ci_sequence_number, -1) OR
1187                                 (NVL(old_references.adm_outcome_status, '-1') <> new_references.adm_outcome_status AND
1188 				NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), '-1') <> 'SUSPENDED' AND
1189 				NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), '-1') <> 'WITHDRAWN') --nshee bug 2630217
1190 				THEN
1191                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_aos (
1192                                         new_references.person_id,
1193                                         new_references.admission_appl_number,
1194                                         new_references.nominated_course_cd,
1195                                         new_references.sequence_number,
1196                                         new_references.course_cd,
1197                                         new_references.crv_version_number,
1198                                         new_references.location_cd,
1199                                         new_references.attendance_mode,
1200                                         new_references.attendance_type,
1201                                         new_references.unit_set_cd,
1202                                         new_references.us_version_number,
1203                                         v_acad_cal_type,
1204                                         v_acad_ci_sequence_number,
1205                                         v_adm_cal_type,
1206                                         v_adm_ci_sequence_number,
1207                                         v_admission_cat,
1208                                         v_s_admission_process_type,
1209                                         v_appl_dt,
1210                                         new_references.fee_cat,
1211                                         new_references.correspondence_cat,
1212                                         new_references.enrolment_cat,
1213                                         new_references.adm_outcome_status,
1214                                         NVL(old_references.adm_outcome_status, IGS_AD_GEN_009.ADMP_GET_SYS_AOS('PENDING')),
1215                                         new_references.adm_doc_status,
1216                                         v_adm_fee_status,
1217                                         new_references.late_adm_fee_status,
1218                                         new_references.adm_cndtnl_offer_status,
1219                                         new_references.adm_entry_qual_status,
1220                                         new_references.adm_offer_resp_status,
1221                                         NVL(old_references.adm_offer_resp_status, IGS_AD_GEN_009.ADMP_GET_SYS_AORS('NOT-APPLIC')),
1222                                         new_references.adm_outcome_status_auth_dt,
1223                                         v_set_outcome_allowed_ind,
1224                                         v_cond_offer_ass_allowed_ind,
1225                                         v_cond_offer_fee_allowed_ind,
1226                                         v_cond_offer_doc_allowed_ind,
1227                                         v_late_appl_allowed_ind,
1228                                         v_fees_required_ind,
1229                                         v_mult_offer_allowed_ind,
1230                                         v_multi_offer_limit,
1231                                         v_pref_allowed_ind,
1232                                         v_unit_set_appl_ind,
1233                                         v_check_person_encumb,
1234                                         v_check_course_encumb,
1235                                         'TRG_BR',               -- Called From.
1236                                         v_message_name) = FALSE THEN
1237                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1238                                 IGS_GE_MSG_STACK.ADD;
1239                                 APP_EXCEPTION.RAISE_EXCEPTION;
1240                         END IF;
1241                 END IF;
1242                 IF NVL(old_references.adm_outcome_status, '-1') <> new_references.adm_outcome_status THEN
1243                         -- Validate update of admission outcome status.
1244                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_aos_update (
1245                                         new_references.person_id,
1246                                         new_references.admission_appl_number,
1247                                         new_references.adm_outcome_status,
1248                                         NVL(old_references.adm_outcome_status, IGS_AD_GEN_009.ADMP_GET_SYS_AOS('PENDING')),
1249                                         v_message_name,
1250                                         v_return_type) = FALSE THEN
1251                                 IF NVL(v_return_type, '-1') = cst_error THEN
1252                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
1253                                         IGS_GE_MSG_STACK.ADD;
1254                                         APP_EXCEPTION.RAISE_EXCEPTION;
1255                                 END IF;
1256                         END IF;
1257                 END IF;
1258 
1259 
1260 		---validate application instance status
1261 		IF NVL(old_references.appl_inst_status, '-1') <> NVL(new_references.appl_inst_status,'-1') THEN			--arvsrini igsm
1262 
1263                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_ais (
1264 					new_references.appl_inst_status,
1265 					new_references.ais_reason ,
1266 					new_references.adm_outcome_status,
1267 					v_message_name)= FALSE THEN
1268                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1269                                 IGS_GE_MSG_STACK.ADD;
1270                                 APP_EXCEPTION.RAISE_EXCEPTION;
1271                         END IF;
1272                 END IF;
1273 
1274 
1275 
1276 
1277                 --
1278                 -- Validate admission offer response status.
1279                 --
1280                 IF NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
1281                                 NVL(old_references.adm_offer_resp_status, '-1') <> new_references.adm_offer_resp_status OR
1282                                 NVL(TRUNC(old_references.actual_response_dt), IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1283                                         NVL(new_references.actual_response_dt, IGS_GE_DATE.IGSDATE('1900/01/01')) THEN
1284                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_aors (
1285                                         new_references.person_id,
1286                                         new_references.admission_appl_number,
1287                                         new_references.nominated_course_cd,
1288                                         new_references.sequence_number,
1289                                         new_references.course_cd,
1290                                         new_references.adm_offer_resp_status,
1291                                         NVL(old_references.adm_offer_resp_status, IGS_AD_GEN_009.ADMP_GET_SYS_AORS('NOT-APPLIC')),
1292                                         new_references.adm_outcome_status,
1293                                         new_references.adm_offer_dfrmnt_status,
1294                                         NVL(old_references.adm_offer_dfrmnt_status, IGS_AD_GEN_009.ADMP_GET_SYS_AODS('NOT-APPLIC')),
1295                                         new_references.adm_outcome_status_auth_dt,
1296                                         new_references.actual_response_dt,
1297                                         v_adm_cal_type,
1298                                         v_adm_ci_sequence_number,
1299                                         v_admission_cat,
1300                                         v_s_admission_process_type,
1301                                         v_deferral_allowed_ind,
1302                                         v_mult_offer_allowed_ind,
1303                                         v_multi_offer_limit,
1304                                         v_pre_enrol_ind,
1305                                         new_references.cndtnl_offer_must_be_stsfd_ind,
1306                                         new_references.cndtnl_offer_satisfied_dt,
1307                                         'TRG_BR',               -- Called From.
1308                                         v_message_name,
1309 					new_references.decline_ofr_reason ,		-- IGSM
1310 					new_references.attent_other_inst_cd		-- igsm
1311 					) = FALSE THEN
1312                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1313                                 IGS_GE_MSG_STACK.ADD;
1314                                 APP_EXCEPTION.RAISE_EXCEPTION;
1315                         END IF;
1316                 END IF;
1317                 --
1318                 -- Validate admission conditional offer.
1319                 --
1320                 IF NVL(old_references.adm_cndtnl_offer_status, '-1') <> new_references.adm_cndtnl_offer_status OR
1321                                 NVL(old_references.adm_outcome_status, '-1') <> new_references.adm_outcome_status THEN
1322                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_acos (
1323                                         new_references.adm_cndtnl_offer_status,
1324                                         NVL(old_references.adm_cndtnl_offer_status, IGS_AD_GEN_009.ADMP_GET_SYS_ACOS('NOT-APPLIC')),
1325                                         new_references.adm_outcome_status,
1326                                         new_references.adm_outcome_status,
1327                                         new_references.late_adm_fee_status,
1328                                         v_adm_fee_status,
1329                                         v_late_appl_allowed_ind,
1330                                         v_fees_required_ind,
1331                                         v_cond_offer_ass_allowed_ind,
1332                                         v_cond_offer_fee_allowed_ind,
1333                                         v_cond_offer_doc_allowed_ind,
1334                                         v_message_name) = FALSE THEN
1335                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1336                                 IGS_GE_MSG_STACK.ADD;
1337                                 APP_EXCEPTION.RAISE_EXCEPTION;
1338                         END IF;
1339                 END IF;
1340                 --
1341                 -- Validate admission offer deferment status.
1342                 --
1343                 IF NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
1344                                 NVL(old_references.adm_offer_dfrmnt_status, '-1') <> new_references.adm_offer_dfrmnt_status THEN
1345                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_aods (
1346                                         new_references.person_id,
1347                                         new_references.admission_appl_number,
1348                                         new_references.nominated_course_cd,
1349                                         new_references.sequence_number,
1350                                         new_references.course_cd,
1351                                         new_references.adm_offer_dfrmnt_status,
1352                                         NVL(old_references.adm_offer_dfrmnt_status, IGS_AD_GEN_009.ADMP_GET_SYS_AODS('NOT-APPLIC')),
1353                                         new_references.adm_offer_resp_status,
1354                                         v_deferral_allowed_ind,
1355                                         v_s_admission_process_type,
1356                                         v_message_name) = FALSE THEN
1357                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1358                                 IGS_GE_MSG_STACK.ADD;
1359                                 APP_EXCEPTION.RAISE_EXCEPTION;
1360                         END IF;
1361                 END IF;
1362                 --
1363                 -- Validate offer date.
1364                 --
1365                 IF (NVL(TRUNC(old_references.offer_dt), IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1366                                         NVL(new_references.offer_dt, IGS_GE_DATE.IGSDATE('1900/01/01')) OR
1367                                 NVL(old_references.adm_outcome_status, '-1') <> new_references.adm_outcome_status OR
1368                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
1369                                 NVL(old_references.adm_ci_sequence_number, -1) <>
1370                                         NVL(new_references.adm_ci_sequence_number, -1)) THEN
1371                         IF IGS_AD_VAL_ACAI.admp_val_offer_dt (
1372                                         new_references.offer_dt,
1373                                         new_references.adm_outcome_status,
1374                                         v_adm_cal_type,
1375                                         v_adm_ci_sequence_number,
1376                                         v_message_name) = FALSE THEN
1377                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1378                                 IGS_GE_MSG_STACK.ADD;
1379                                 APP_EXCEPTION.RAISE_EXCEPTION;
1380                         END IF;
1381                 END IF;
1382                 --
1383                 -- Validate offer response date.
1384                 --
1385                 IF (NVL(TRUNC(old_references.offer_response_dt), IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1386                                         NVL(new_references.offer_response_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))) OR
1387                                 (NVL(old_references.adm_outcome_status, '-1') <> new_references.adm_outcome_status) OR
1388                                 (NVL(TRUNC(old_references.offer_dt), IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1389                                         NVL(new_references.offer_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))) THEN
1390                         IF IGS_AD_VAL_ACAI.admp_val_off_resp_dt (
1391                                         new_references.offer_response_dt,
1392                                         new_references.adm_outcome_status,
1393                                         new_references.offer_dt,
1394                                         v_message_name) = FALSE THEN
1395                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1396                                 IGS_GE_MSG_STACK.ADD;
1397                                 APP_EXCEPTION.RAISE_EXCEPTION;
1398                         END IF;
1399                 END IF;
1400                 --
1401                 -- Validate proposed commencement date.
1402                 --
1403                 IF (NVL(TRUNC(old_references.prpsd_commencement_dt), IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1404                                         NVL(new_references.prpsd_commencement_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))) THEN
1405                         IF IGS_RE_VAL_CA.admp_val_acai_comm (
1406                                         new_references.person_id,
1407                                         new_references.course_cd,
1408                                         new_references.crv_version_number,
1409                                         new_references.admission_appl_number,
1410                                         new_references.nominated_course_cd,
1411                                         new_references.sequence_number,
1412                                         v_adm_cal_type,
1413                                         v_adm_ci_sequence_number,
1414                                         new_references.adm_outcome_status,
1415                                         new_references.prpsd_commencement_dt,
1416                                         NULL,   -- Minimum submission date.
1417                                         v_ca_sequence_number,
1418                                         'ACAI', -- Parent.
1419                                         v_message_name) = FALSE THEN
1420                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1421                                 IGS_GE_MSG_STACK.ADD;
1422                                 APP_EXCEPTION.RAISE_EXCEPTION;
1423                         END IF;
1424                 END IF;
1425                 --
1426                 -- Validate actual response date.
1427                 --
1428                 IF (NVL(TRUNC(old_references.actual_response_dt), IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1429                                         NVL(new_references.actual_response_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))) OR
1430                                 (NVL(old_references.adm_offer_resp_status, '-1') <> new_references.adm_offer_resp_status) THEN
1431                         IF IGS_AD_VAL_ACAI.admp_val_act_resp_dt (
1432                                         new_references.actual_response_dt,
1433                                         new_references.adm_offer_resp_status,
1434                                         new_references.offer_dt,
1435                                         v_message_name) = FALSE THEN
1436                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1437                                 IGS_GE_MSG_STACK.ADD;
1438                                 APP_EXCEPTION.RAISE_EXCEPTION;
1439                         END IF;
1440                 END IF;
1441                 --
1442                 -- Validate conditional offer satisfied date.
1443                 --
1444                 IF (NVL(TRUNC(old_references.cndtnl_offer_satisfied_dt),
1445                                         IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1446                                                 NVL(new_references.cndtnl_offer_satisfied_dt,
1447                                                         IGS_GE_DATE.IGSDATE('1900/01/01'))) OR
1448                                 (NVL(old_references.adm_cndtnl_offer_status, '-1') <>
1449                                                 new_references.adm_cndtnl_offer_status) THEN
1450                         IF IGS_AD_VAL_ACAI.admp_val_stsfd_dt (
1451                                         new_references.cndtnl_offer_satisfied_dt,
1452                                         new_references.adm_cndtnl_offer_status,
1453                                         v_message_name) = FALSE THEN
1454                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1455                                 IGS_GE_MSG_STACK.ADD;
1456                                 APP_EXCEPTION.RAISE_EXCEPTION;
1457                         END IF;
1458                 END IF;
1459                 --
1460                 -- Validate acceptance condition.
1461                 --
1462                 IF new_references.applicant_acptnce_cndtn IS NOT NULL AND
1463                                 (NVL(old_references.applicant_acptnce_cndtn, '-1') <> new_references.applicant_acptnce_cndtn OR
1464                                 NVL(old_references.adm_offer_resp_status, '-1') <>
1465                                                 new_references.adm_offer_resp_status) THEN
1466                         IF IGS_AD_VAL_ACAI.admp_val_acpt_cndtn (
1467                                         new_references.applicant_acptnce_cndtn,
1468                                         new_references.adm_offer_resp_status,
1469                                         v_message_name) = FALSE THEN
1470                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1471                                 IGS_GE_MSG_STACK.ADD;
1472                                 APP_EXCEPTION.RAISE_EXCEPTION;
1473                         END IF;
1474                 END IF;
1475                 --
1476                 -- Validate conditional offer condition.
1477                 --
1478                 IF new_references.cndtnl_offer_cndtn IS NOT NULL AND
1479                                 (NVL(old_references.cndtnl_offer_cndtn, '-1') <> new_references.cndtnl_offer_cndtn OR
1480                                 NVL(old_references.adm_cndtnl_offer_status, '-1') <>
1481                                                 new_references.adm_cndtnl_offer_status) THEN
1482                         IF IGS_AD_VAL_ACAI.admp_val_offer_cndtn (
1483                                         new_references.cndtnl_offer_cndtn,
1484                                         new_references.adm_cndtnl_offer_status,
1485                                         v_message_name) = FALSE THEN
1486                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1487                                 IGS_GE_MSG_STACK.ADD;
1488                                 APP_EXCEPTION.RAISE_EXCEPTION;
1489                         END IF;
1490                 END IF;
1491                 --
1492                 -- Validate conditional offer must be satisfied indicator.
1493                 --
1494                 IF NVL(old_references.cndtnl_offer_must_be_stsfd_ind, '-') <>
1495                                         NVL(new_references.cndtnl_offer_must_be_stsfd_ind, '-') OR
1496                                 NVL(old_references.adm_cndtnl_offer_status, '-1') <>
1497                                                 new_references.adm_cndtnl_offer_status THEN
1498                         IF IGS_AD_VAL_ACAI.admp_val_must_stsfd (
1499                                         new_references.cndtnl_offer_must_be_stsfd_ind,
1500                                         new_references.adm_cndtnl_offer_status,
1501                                         new_references.adm_offer_resp_status,
1502                                         new_references.cndtnl_offer_satisfied_dt,
1503                                         v_message_name) = FALSE THEN
1504                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1505                                 IGS_GE_MSG_STACK.ADD;
1506                                 APP_EXCEPTION.RAISE_EXCEPTION;
1507                         END IF;
1508                 END IF;
1509                 --
1510                 -- Validate the fee category.
1511                 --
1512                 IF (new_references.fee_cat IS NOT NULL AND
1513                                 (NVL(old_references.fee_cat, '-1') <> new_references.fee_cat)) THEN
1514                         IF IGS_AD_VAL_ACAI.admp_val_acai_fc (
1515                                         v_admission_cat,
1516                                         new_references.fee_cat,
1517                                         v_message_name) = FALSE THEN
1518                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1519                                 IGS_GE_MSG_STACK.ADD;
1520                                 APP_EXCEPTION.RAISE_EXCEPTION;
1521                         END IF;
1522                 END IF;
1523                 --
1524                 -- Validate the HECS payment option.
1525                 --
1526                 IF (new_references.hecs_payment_option IS NOT NULL AND
1527                                 (NVL(old_references.hecs_payment_option, '-1') <> new_references.hecs_payment_option)) THEN
1528                         IF IGS_AD_VAL_ACAI.admp_val_acai_hpo (
1529                                         v_admission_cat,
1530                                         new_references.hecs_payment_option,
1531                                         v_message_name) = FALSE THEN
1532                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1533                                 IGS_GE_MSG_STACK.ADD;
1534                                 APP_EXCEPTION.RAISE_EXCEPTION;
1535                         END IF;
1536                 END IF;
1537                 --
1538                 -- Validate the correspondence category.
1539                 --
1540                 IF (new_references.correspondence_cat IS NOT NULL AND
1541                                 (NVL(old_references.correspondence_cat, '-1') <> new_references.correspondence_cat)) THEN
1542                         IF IGS_AD_VAL_ACAI.admp_val_acai_cc (
1543                                         v_admission_cat,
1544                                         new_references.correspondence_cat,
1545                                         v_message_name) = FALSE THEN
1546                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1547                                 IGS_GE_MSG_STACK.ADD;
1548                                 APP_EXCEPTION.RAISE_EXCEPTION;
1549                         END IF;
1550                 END IF;
1551                 --
1552                 -- Validate the enrolment category.
1553                 --
1554                 IF (new_references.enrolment_cat IS NOT NULL AND
1555                                 (NVL(old_references.enrolment_cat, '-1') <> new_references.enrolment_cat)) THEN
1556                         IF IGS_AD_VAL_ACAI.admp_val_acai_ec (
1557                                         v_admission_cat,
1558                                         new_references.enrolment_cat,
1559                                         v_message_name) = FALSE THEN
1560                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1561                                 IGS_GE_MSG_STACK.ADD;
1562                                 APP_EXCEPTION.RAISE_EXCEPTION;
1563                         END IF;
1564                 END IF;
1565                 --
1566                 -- Validate the funding source.
1567                 --
1568                 IF (new_references.funding_source IS NOT NULL AND
1569                                 (NVL(old_references.funding_source, '-1') <> new_references.funding_source)) THEN
1570                         IF IGS_AD_VAL_ACAI.admp_val_acai_fs (
1571                                         new_references.course_cd,
1572                                         new_references.crv_version_number,
1573                                         new_references.funding_source,
1574                                         v_message_name) = FALSE THEN
1575                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1576                                 IGS_GE_MSG_STACK.ADD;
1577                                 APP_EXCEPTION.RAISE_EXCEPTION;
1578                         END IF;
1579                 END IF;
1580                 --
1581                 -- Validate the expected completion details.
1582                 --
1583                 IF (NVL(old_references.expected_completion_yr, -1) <>
1584                                         NVL(new_references.expected_completion_yr, -1)) OR
1585                                 (NVL(old_references.expected_completion_perd, '-') <>
1586                                         NVL(new_references.expected_completion_perd, '-')) THEN
1587                         IF IGS_AD_VAL_ACAI.admp_val_expctd_comp (
1588                                         new_references.expected_completion_yr,
1589                                         new_references.expected_completion_perd,
1590                                         v_message_name) = FALSE THEN
1591                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1592                                 IGS_GE_MSG_STACK.ADD;
1593                                 APP_EXCEPTION.RAISE_EXCEPTION;
1594                         END IF;
1595                 END IF;
1596                 --
1597                 -- Validate the deferment calendar.
1598                 --
1599                 IF ( NVL(old_references.deferred_adm_cal_type, '-1') <>
1600                                 NVL(new_references.deferred_adm_cal_type,'-1') OR
1601                                 NVL(old_references.deferred_adm_ci_sequence_num, -1) <>
1602                                 NVL(new_references.deferred_adm_ci_sequence_num, -1) OR
1603                                 NVL(old_references.adm_offer_resp_status, '-1') <> new_references.adm_offer_resp_status OR
1604                                 NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
1605                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
1606                                 NVL(old_references.location_cd, '-1') <> NVL(new_references.location_cd, '-1') OR
1607                                 NVL(old_references.attendance_mode, '-1') <> NVL(new_references.attendance_mode, '-1') OR
1608                                 NVL(old_references.attendance_type, '-1') <> NVL(new_references.attendance_type, '-1') OR
1609                                 NVL(old_references.unit_set_cd, '-1') <> NVL(new_references.unit_set_cd, '-1') OR
1610                                 NVL(old_references.us_version_number, -1) <> NVL(new_references.us_version_number, -1) ) THEN
1611                         IF IGS_AD_VAL_ACAI.admp_val_dfrmnt_cal (
1612                                         new_references.deferred_adm_cal_type,
1613                                         new_references.deferred_adm_ci_sequence_num,
1614                                         new_references.def_acad_cal_type,
1615                                         new_references.adm_offer_resp_status,
1616                                         v_admission_cat,
1617                                         v_s_admission_process_type,
1618                                         v_appl_dt,
1619                                         new_references.course_cd,
1620                                         new_references.crv_version_number,
1621                                         new_references.location_cd,
1622                                         new_references.attendance_mode,
1623                                         new_references.attendance_type,
1624                                         new_references.unit_set_cd,
1625                                         new_references.us_version_number,
1626                                         v_deferral_allowed_ind,
1627                                         v_late_appl_allowed_ind,
1628                                         v_message_name,
1629                                         v_return_type,
1630 					new_references.def_acad_ci_sequence_num   --added the parameter as the signature of the function is changed (rghosh-bug#2765260)
1631 					) = FALSE THEN
1632                                 IF NVL(v_return_type, '-1') = cst_error THEN
1633                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
1634                                         IGS_GE_MSG_STACK.ADD;
1635                                         APP_EXCEPTION.RAISE_EXCEPTION;
1636                                 END IF;
1637                         END IF;
1638                 END IF;
1639                 --
1640                 -- Validate the Outcome Status Authorising Date.
1641                 --
1642                 IF NVL(TRUNC(old_references.adm_outcome_status_auth_dt),
1643                                         IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1644                                 NVL(new_references.adm_outcome_status_auth_dt,
1645                                         IGS_GE_DATE.IGSDATE('1900/01/01')) THEN
1646                         IF IGS_AD_VAL_ACAI.admp_val_ovrd_dt (
1647                                         new_references.adm_outcome_status_auth_dt,
1648                                         v_override_outcome_allowed_ind,
1649                                         v_message_name) = FALSE THEN
1650                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1651                                 IGS_GE_MSG_STACK.ADD;
1652                                 APP_EXCEPTION.RAISE_EXCEPTION;
1653                         END IF;
1654                 END IF;
1655                 --
1656                 -- Validate the Outcome Status Authorising IGS_PE_PERSON ID.
1657                 --
1658                 IF NVL(old_references.adm_otcm_status_auth_person_id, -1) <>
1659                                 NVL(new_references.adm_otcm_status_auth_person_id, -1) OR
1660                                 NVL(TRUNC(old_references.adm_outcome_status_auth_dt),
1661                                         IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1662                                 NVL(new_references.adm_outcome_status_auth_dt,
1663                                         IGS_GE_DATE.IGSDATE('1900/01/01')) THEN
1664                         IF IGS_AD_VAL_ACAI.admp_val_ovrd_person (
1665                                         new_references.adm_otcm_status_auth_person_id,
1666                                         new_references.adm_outcome_status_auth_dt,
1667                                         v_override_outcome_allowed_ind,
1668                                         v_message_name) = FALSE THEN
1669                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1670                                 IGS_GE_MSG_STACK.ADD;
1671                                 APP_EXCEPTION.RAISE_EXCEPTION;
1672                         END IF;
1673                 END IF;
1674                 --
1675                 -- Validate the Outcome Status Override Reason.
1676                 --
1677                 IF NVL(old_references.adm_outcome_status_reason, '-1') <>
1678                                 NVL(new_references.adm_outcome_status_reason, '-1') OR
1679                                 NVL(TRUNC(old_references.adm_outcome_status_auth_dt),
1680                                         IGS_GE_DATE.IGSDATE('1900/01/01')) <>
1681                                 NVL(new_references.adm_outcome_status_auth_dt,
1682                                         IGS_GE_DATE.IGSDATE('1900/01/01')) THEN
1683                         IF IGS_AD_VAL_ACAI.admp_val_ovrd_reason (
1684                                         new_references.adm_outcome_status_reason,
1685                                         new_references.adm_outcome_status_auth_dt,
1686                                         v_override_outcome_allowed_ind,
1687                                         v_message_name) = FALSE THEN
1688                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1689                                 IGS_GE_MSG_STACK.ADD;
1690                                 APP_EXCEPTION.RAISE_EXCEPTION;
1691                         END IF;
1692                 END IF;
1693         END IF; -- p_inserting or p_updating
1694         IF NVL(p_deleting,FALSE) THEN
1695 
1696 		-- Validate delete of the admission IGS_PS_COURSE application instance record.
1697                 IF IGS_AD_VAL_ACAI.admp_val_acai_delete (
1698                                 old_references.person_id,
1699                                 old_references.admission_appl_number,
1700                                 old_references.adm_outcome_status,
1701                                 v_message_name,
1702                                 v_return_type) = FALSE THEN
1703                         IF NVL(v_return_type, '-1') = cst_error THEN
1704                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1705                                 IGS_GE_MSG_STACK.ADD;
1706                                 APP_EXCEPTION.RAISE_EXCEPTION;
1707                         END IF;
1708                 END IF;
1709                 --
1710                 -- Get admission application details required for validation.
1711                 --
1712                 IGS_AD_GEN_002.ADMP_GET_AA_DTL(
1713                         old_references.person_id,
1714                         old_references.admission_appl_number,
1715                         v_admission_cat,
1716                         v_s_admission_process_type,
1717                         v_acad_cal_type,
1718                         v_aa_acad_ci_sequence_number,
1719                         v_aa_adm_cal_type,
1720                         v_aa_adm_ci_sequence_number,
1721                         v_appl_dt,
1722                         v_adm_appl_status,
1723                         v_adm_fee_status);
1724                 --
1725                 -- Determine the Academic and Admission period for validation.
1726                 --
1727                 IF new_references.adm_cal_type IS NULL THEN
1728                         v_acad_ci_sequence_number := v_aa_acad_ci_sequence_number;
1729                         v_adm_cal_type := v_aa_adm_cal_type;
1730                         v_adm_ci_sequence_number := v_aa_adm_ci_sequence_number;
1731                 ELSE
1732                         v_acad_ci_sequence_number := IGS_CA_GEN_001.CALP_GET_SUP_INST (
1733                                                         v_acad_cal_type,
1734                                                         new_references.adm_cal_type,
1735                                                         new_references.adm_ci_sequence_number);
1736                         v_adm_cal_type := new_references.adm_cal_type;
1737                         v_adm_ci_sequence_number := new_references.adm_ci_sequence_number;
1738                 END IF;
1739                 --
1740                 -- Determine the admission process category steps.
1741                 --
1742                 FOR v_apcs_rec IN c_apcs (
1743                                 v_admission_cat,
1744                                 v_s_admission_process_type)
1745                 LOOP
1746                         IF v_apcs_rec.s_admission_step_type = 'PREF-LIMIT' THEN
1747                                 v_pref_allowed_ind := 'Y';
1748                                 v_pref_limit := v_apcs_rec.step_type_restriction_num;
1749                         END IF;
1750                 END LOOP;
1751                 -- Validate delete of a preference.
1752                 IF v_pref_allowed_ind = 'Y' THEN
1753                         IF IGS_AD_VAL_ACAI.admp_val_chg_of_pref (
1754                                         v_adm_cal_type,
1755                                         v_adm_ci_sequence_number,
1756                                         v_admission_cat,
1757                                         v_s_admission_process_type,
1758                                         old_references.course_cd,
1759                                         old_references.crv_version_number,
1760                                         v_acad_cal_type,
1761                                         old_references.location_cd,
1762                                         old_references.attendance_mode,
1763                                         old_references.attendance_type,
1764                                         v_message_name) = FALSE THEN
1765                                 FND_MESSAGE.SET_NAME('IGS',v_message_name);
1766                                 IGS_GE_MSG_STACK.ADD;
1767                                 APP_EXCEPTION.RAISE_EXCEPTION;
1768                         END IF;
1769                 END IF;
1770                 FOR c_pti_rec IN c_pti (
1771                                         old_references.person_id,
1772                                         old_references.admission_appl_number,
1773                                         old_references.nominated_course_cd,
1774                                         old_references.sequence_number)
1775                 LOOP
1776                   igs_pe_typ_instances_pkg.delete_row(x_rowid => c_pti_rec.row_id);
1777                 END LOOP;
1778         END IF; -- p_deleting
1779   END BeforeRowInsertUpdateDelete1;
1780 
1781   PROCEDURE AfterRowInsert1(
1782     p_inserting IN BOOLEAN,
1783     p_updating IN BOOLEAN,
1784     p_deleting IN BOOLEAN
1785     ) AS
1786     CURSOR c_pti (cp_person_id igs_pe_person.person_id%TYPE) IS
1787       SELECT pti.rowid row_id,pti.*, lv.lookup_code lv_end_method
1788       FROM   igs_pe_typ_instances_all pti,
1789              igs_pe_person_types ppt,
1790              igs_lookup_values lv
1791       WHERE  pti.person_id = cp_person_id
1792       AND    ppt.person_type_code = pti.person_type_code
1793       AND    ppt.system_type = 'PROSPECT'
1794       AND    pti.end_date IS NULL
1795       AND    lv.lookup_type = 'PERSON_TYPE_END_METHOD'
1796       AND    lv.lookup_code = 'CREATE_APPLICANT'
1797       AND    lv.closed_ind = 'N';
1798 
1799   BEGIN
1800     IF  NVL(p_inserting,FALSE) THEN
1801       FOR c_pti_rec IN c_pti (new_references.person_id)
1802       LOOP
1803         Igs_Pe_Typ_Instances_Pkg.Update_Row (
1804           X_Mode                              => 'R',
1805           X_RowId                             => c_pti_rec.Row_Id,
1806           X_Type_Instance_Id                  => c_pti_rec.Type_Instance_Id,
1807           X_Person_Type_Code                  => c_pti_rec.Person_Type_Code,
1808           X_Person_Id                         => c_pti_rec.Person_Id,
1809           X_Course_Cd                         => c_pti_rec.Course_Cd,
1810           X_CC_Version_Number                 => c_pti_rec.CC_Version_Number,
1811           X_Funnel_Status                     => c_pti_rec.Funnel_Status,
1812           X_Admission_Appl_Number             => c_pti_rec.Admission_Appl_Number,
1813           X_Nominated_Course_Cd               => c_pti_rec.Nominated_Course_Cd,
1814           X_NCC_Version_Number                => c_pti_rec.NCC_Version_Number,
1815           X_Sequence_Number                   => c_pti_rec.Sequence_Number,
1816           X_Start_Date                        => c_pti_rec.Start_Date,
1817           X_End_Date                          => TRUNC(SYSDATE),
1818           X_Create_Method                     => c_pti_rec.Create_Method,
1819           X_Ended_By                          => fnd_global.user_id,
1820           X_End_Method                        => c_pti_rec.lv_end_method,
1821           X_Emplmnt_Category_code             => c_pti_rec.emplmnt_category_code
1822         );
1823       END LOOP;
1824     END IF;
1825   END AfterRowInsert1;
1826 
1827   PROCEDURE AfterRowUpdate1(
1828     p_inserting IN BOOLEAN,
1829     p_updating IN BOOLEAN,
1830     p_deleting IN BOOLEAN
1831     ) AS
1832     CURSOR c_pti (cp_person_id igs_ad_ps_appl_inst.person_id%TYPE,
1833                   cp_admission_appl_number igs_ad_ps_appl_inst.admission_appl_number%TYPE,
1834                   cp_nominated_course_cd igs_ad_ps_appl_inst.nominated_course_cd%TYPE,
1835                   cp_sequence_number igs_ad_ps_appl_inst.sequence_number%TYPE) IS
1836       SELECT pti.rowid row_id,pti.*
1837       FROM   igs_pe_typ_instances_all pti,
1838              igs_pe_person_types ppt
1839       WHERE  pti.person_id = cp_person_id
1840       AND    pti.admission_appl_number = cp_admission_appl_number
1841       AND    pti.nominated_course_cd = cp_nominated_course_cd
1842       AND    pti.sequence_number = cp_sequence_number
1843       AND    ppt.person_type_code = pti.person_type_code
1844       AND    ppt.system_type = 'APPLICANT'
1845       AND    pti.end_date IS NULL;
1846 
1847 CURSOR c_ptyp_inst (cp_person_id igs_ad_ps_appl_inst.person_id%TYPE,
1848                     cp_admission_appl_number igs_ad_ps_appl_inst.admission_appl_number%TYPE,
1849                     cp_nominated_course_cd igs_ad_ps_appl_inst.nominated_course_cd%TYPE,
1850                     cp_sequence_number igs_ad_ps_appl_inst.sequence_number%TYPE,
1851 		    cp_end_method igs_lookup_values.lookup_code%TYPE) IS
1852       SELECT pti.rowid row_id,pti.*
1853       FROM   igs_pe_typ_instances_all pti,
1854              igs_pe_person_types ppt
1855       WHERE  pti.person_id = cp_person_id
1856       AND    pti.admission_appl_number = cp_admission_appl_number
1857       AND    pti.nominated_course_cd = cp_nominated_course_cd
1858       AND    pti.sequence_number = cp_sequence_number
1859       AND    ppt.person_type_code = pti.person_type_code
1860       AND    ppt.system_type = 'APPLICANT'
1861       AND    pti.end_date IS NOT NULL
1862       AND    pti.End_Method = cp_end_method ;
1863 
1864 
1865 CURSOR c_per_end_type
1866      IS
1867       SELECT lv.lookup_code
1868       FROM   igs_lookup_values lv
1869       WHERE  lv.lookup_type = 'PERSON_TYPE_END_METHOD'
1870       AND    lv.lookup_code = 'DELETE_APPLICATION'
1871       AND    lv.closed_ind = 'N';
1872 
1873 lv_end_method  igs_lookup_values.lookup_code%TYPE;
1874 
1875   BEGIN
1876 
1877     OPEN c_per_end_type;
1878     FETCH c_per_end_type INTO lv_end_method;
1879     CLOSE c_per_end_type;
1880 
1881     IF NVL(p_updating,FALSE) THEN
1882       IF NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), 'NONE') = 'CANCELLED' THEN
1883         FOR c_pti_rec IN c_pti (new_references.person_id,
1884                                 new_references.admission_appl_number,
1885                                 new_references.nominated_course_cd,
1886                                 new_references.sequence_number)
1887         LOOP
1888           Igs_Pe_Typ_Instances_Pkg.Update_Row (
1889             X_Mode                              => 'R',
1890             X_RowId                             => c_pti_rec.Row_Id,
1891             X_Type_Instance_Id                  => c_pti_rec.Type_Instance_Id,
1892             X_Person_Type_Code                  => c_pti_rec.Person_Type_Code,
1893             X_Person_Id                         => c_pti_rec.Person_Id,
1894             X_Course_Cd                         => c_pti_rec.Course_Cd,
1895             X_CC_Version_Number                 => c_pti_rec.CC_Version_Number,
1896             X_Funnel_Status                     => c_pti_rec.Funnel_Status,
1897             X_Admission_Appl_Number             => c_pti_rec.Admission_Appl_Number,
1898             X_Nominated_Course_Cd               => c_pti_rec.Nominated_Course_Cd,
1899             X_NCC_Version_Number                => c_pti_rec.NCC_Version_Number,
1900             X_Sequence_Number                   => c_pti_rec.Sequence_Number,
1901             X_Start_Date                        => c_pti_rec.Start_Date,
1902             X_End_Date                          => TRUNC(SYSDATE),
1903             X_Create_Method                     => c_pti_rec.Create_Method,
1904             X_Ended_By                          => fnd_global.user_id,
1905             X_End_Method                        => lv_end_method,
1906             X_Emplmnt_Category_code             => c_pti_rec.emplmnt_category_code
1907           );
1908         END LOOP;
1909       END IF;
1910 
1911 --begin  apadegal adtd001 igs.m
1912       -- added this, to reverse the above process.
1913        IF NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(old_references.adm_outcome_status), 'NONE') = 'CANCELLED'  AND
1914           NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), 'NONE') <> 'CANCELLED'
1915        THEN
1916 	  FOR c_ptyp_inst_rec IN c_ptyp_inst (  new_references.person_id,
1917 						new_references.admission_appl_number,
1918 						new_references.nominated_course_cd,
1919 						new_references.sequence_number,
1920 						lv_end_method)
1921         LOOP
1922           Igs_Pe_Typ_Instances_Pkg.Update_Row (
1923             X_Mode                              => 'R',
1924             X_RowId                             => c_ptyp_inst_rec.Row_Id,
1925             X_Type_Instance_Id                  => c_ptyp_inst_rec.Type_Instance_Id,
1926             X_Person_Type_Code                  => c_ptyp_inst_rec.Person_Type_Code,
1927             X_Person_Id                         => c_ptyp_inst_rec.Person_Id,
1928             X_Course_Cd                         => c_ptyp_inst_rec.Course_Cd,
1929             X_CC_Version_Number                 => c_ptyp_inst_rec.CC_Version_Number,
1930             X_Funnel_Status                     => c_ptyp_inst_rec.Funnel_Status,
1931             X_Admission_Appl_Number             => c_ptyp_inst_rec.Admission_Appl_Number,
1932             X_Nominated_Course_Cd               => c_ptyp_inst_rec.Nominated_Course_Cd,
1933             X_NCC_Version_Number                => c_ptyp_inst_rec.NCC_Version_Number,
1934             X_Sequence_Number                   => c_ptyp_inst_rec.Sequence_Number,
1935             X_Start_Date                        => c_ptyp_inst_rec.Start_Date,
1936             X_End_Date                          => NULL,
1937             X_Create_Method                     => c_ptyp_inst_rec.Create_Method,
1938             X_Ended_By                          => NULL,
1939             X_End_Method                        => NULL,
1940             X_Emplmnt_Category_code             => c_ptyp_inst_rec.emplmnt_category_code
1941           );
1942         END LOOP;
1943        END IF;
1944 --end  apadegal adtd001 igs.m
1945     END IF;
1946   END AfterRowUpdate1;
1947 
1948   PROCEDURE AfterRowInsertUpdate2(
1949     p_inserting IN BOOLEAN,
1950     p_updating IN BOOLEAN,
1951     p_deleting IN BOOLEAN
1952     ) IS
1953         CURSOR c_apcs (
1954                 cp_admission_cat                IGS_AD_PRCS_CAT_STEP.admission_cat%TYPE,
1955                 cp_s_admission_process_type
1956                                         IGS_AD_PRCS_CAT_STEP.s_admission_process_type%TYPE) IS
1957         SELECT  s_admission_step_type,
1958                 step_type_restriction_num
1959         FROM    IGS_AD_PRCS_CAT_STEP
1960         WHERE   admission_cat = cp_admission_cat AND
1961                 s_admission_process_type = cp_s_admission_process_type AND
1962                 step_group_type <> 'TRACK'; --2402377
1963   v_row_validated  boolean := FALSE;  -- added as a part of VAW008 to handle mutation
1964   v_message_name                        VARCHAR2(30);
1965   v_cond_offer_doc_allowed_ind  VARCHAR2(1)     ;
1966   v_cond_offer_fee_allowed_ind  VARCHAR2(1)     ;
1967   v_cond_offer_ass_allowed_ind  VARCHAR2(1)     ;
1968   v_admission_cat                       IGS_AD_APPL.admission_cat%TYPE;
1969   v_s_admission_process_type    IGS_AD_APPL.s_admission_process_type%TYPE;
1970   v_acad_ci_sequence_number     IGS_AD_APPL.acad_ci_sequence_number%TYPE;
1971   v_adm_cal_type                        IGS_AD_APPL.adm_cal_type%TYPE;
1972   v_adm_ci_sequence_number      IGS_AD_APPL.adm_ci_sequence_number%TYPE;
1973   v_acad_cal_type                       IGS_AD_APPL.acad_cal_type%TYPE;
1974   v_aa_acad_ci_sequence_number  IGS_AD_APPL.acad_ci_sequence_number%TYPE;
1975   v_aa_adm_cal_type             IGS_AD_APPL.adm_cal_type%TYPE;
1976   v_aa_adm_ci_sequence_number   IGS_AD_APPL.adm_ci_sequence_number%TYPE;
1977   v_pref_allowed_ind            VARCHAR2(1)    ;
1978   v_pref_limit                  NUMBER;
1979   v_appl_dt                             IGS_AD_APPL.appl_dt%TYPE;
1980   v_set_outcome_allowed_ind     VARCHAR2(1)     ;
1981   v_late_appl_allowed_ind       VARCHAR2(1)     ;
1982   v_fees_required_ind           VARCHAR2(1)     ;
1983   v_deferral_allowed_ind        VARCHAR2(1)     ;
1984   v_pre_enrol_ind                       VARCHAR2(1)     ;
1985   v_mult_offer_allowed_ind      VARCHAR2(1)     ;
1986   v_multi_offer_limit           NUMBER;
1987   v_unit_set_appl_ind           VARCHAR2(1)     ;
1988   v_check_person_encumb         VARCHAR2(1)     ;
1989   v_adm_appl_status             IGS_AD_APPL.adm_appl_status%TYPE;
1990   v_check_course_encumb         VARCHAR2(1)     ;
1991   v_adm_fee_status              IGS_AD_APPL.adm_fee_status%TYPE;
1992   v_return_type                 VARCHAR2(1);
1993   cst_error                             CONSTANT        VARCHAR2(1):= 'E';
1994   v_person_id                   IGS_AD_APPL.person_id%TYPE;
1995   v_admission_appl_number           IGS_AD_APPL.admission_appl_number%TYPE;
1996   v_derived_adm_appl_status         IGS_AD_APPL.adm_appl_status%TYPE;
1997 
1998   -- added this cursor here to get the old outcome status from the database
1999   -- by rrengara on 10-apr-2002 for bug no 2298840
2000   CURSOR c_adm_appl_status (cp_person_id igs_ad_appl.person_id%TYPE,
2001                               cp_admission_appl_number igs_ad_appl.admission_appl_number%TYPE) IS
2002       SELECT adm_appl_status
2003       FROM igs_ad_appl
2004       WHERE person_id = cp_person_id
2005       AND   admission_appl_number= cp_admission_appl_number;
2006 
2007   BEGIN
2008       v_check_course_encumb         := 'N';
2009       v_unit_set_appl_ind           := 'N';
2010       v_check_person_encumb         := 'N';
2011       v_set_outcome_allowed_ind     := 'N';
2012       v_late_appl_allowed_ind       := 'N';
2013       v_fees_required_ind           := 'N';
2014       v_deferral_allowed_ind        := 'N';
2015       v_pre_enrol_ind               := 'N';
2016       v_mult_offer_allowed_ind      := 'N';
2017       v_pref_allowed_ind            := 'N';
2018       v_cond_offer_doc_allowed_ind  := 'N';
2019       v_cond_offer_fee_allowed_ind  := 'N';
2020       v_cond_offer_ass_allowed_ind  := 'N';
2021         IF  NVL(p_inserting,FALSE) THEN
2022                 -- Save the rowid of the current row.
2023             v_row_validated := TRUE;
2024         END IF;
2025         IF NVL(p_updating,FALSE) THEN
2026                 -- Check if after statement needs to be performed.
2027                 IF NVL(old_references.course_cd, '-1') <> new_references.course_cd OR
2028                                 NVL(old_references.crv_version_number, -1) <> new_references.crv_version_number OR
2029                                 NVL(old_references.location_cd, '-1') <> NVL(new_references.location_cd, '-1') OR
2030                                 NVL(old_references.attendance_mode, '-1') <> NVL(new_references.attendance_mode, '-1') OR
2031                                 NVL(old_references.attendance_type, '-1') <> NVL(new_references.attendance_type, '-1') OR
2032                                 NVL(old_references.unit_set_cd, '-1') <> NVL(new_references.unit_set_cd, '-1') OR
2033                                 NVL(old_references.us_version_number, -1) <> NVL(new_references.us_version_number, -1) OR
2034                                 NVL(old_references.adm_cal_type, '-1') <> NVL(new_references.adm_cal_type, '-1') OR
2035                                 NVL(old_references.adm_ci_sequence_number, -1) <>
2036                                         NVL(new_references.adm_ci_sequence_number, -1) OR
2037                                 NVL(old_references.adm_outcome_status, '-1') <> new_references.adm_outcome_status THEN
2038                         -- Save the rowid of the current row.
2039                         v_row_validated := TRUE;
2040                 END IF;
2041         END IF;
2042       IF  v_row_validated = TRUE THEN
2043                 IF NVL(p_inserting,FALSE) OR NVL(p_updating,FALSE) THEN
2044                         --
2045                         -- Get admission application details required for validation.
2046                         --
2047                         IGS_AD_GEN_002.ADMP_GET_AA_DTL(
2048                                 new_references.person_id,
2049                                 new_references.admission_appl_number,
2050                                 v_admission_cat,
2051                                 v_s_admission_process_type,
2052                                 v_acad_cal_type,
2053                                 v_aa_acad_ci_sequence_number,
2054                                 v_aa_adm_cal_type,
2055                                 v_aa_adm_ci_sequence_number,
2056                                 v_appl_dt,
2057                                 v_adm_appl_status,
2058                                 v_adm_fee_status);
2059                         --
2060                         -- Determine the Academic and Admission period for validation.
2061                         --
2062                         IF new_references.adm_cal_type IS NULL THEN
2063                                 v_acad_ci_sequence_number := v_aa_acad_ci_sequence_number;
2064                                 v_adm_cal_type := v_aa_adm_cal_type;
2065                                 v_adm_ci_sequence_number := v_aa_adm_ci_sequence_number;
2066                         ELSE
2067                                 v_acad_ci_sequence_number := IGS_CA_GEN_001.CALP_GET_SUP_INST (
2068                                                                 v_acad_cal_type,
2069                                                                 new_references.adm_cal_type,
2070                                                                 new_references.adm_ci_sequence_number);
2071                                 v_adm_cal_type := new_references.adm_cal_type;
2072                                 v_adm_ci_sequence_number := new_references.adm_ci_sequence_number;
2073                         END IF;
2074                         --
2075                         -- Determine the admission process category steps.
2076                         --
2077                         FOR v_apcs_rec IN c_apcs (
2078                                         v_admission_cat,
2079                                         v_s_admission_process_type)
2080                         LOOP
2081                                 IF v_apcs_rec.s_admission_step_type = 'PREF-LIMIT' THEN
2082                                         v_pref_allowed_ind := 'Y';
2083                                         v_pref_limit := v_apcs_rec.step_type_restriction_num;
2084                                 ELSIF v_apcs_rec.s_admission_step_type = 'DOC-COND' THEN
2085                                         v_cond_offer_doc_allowed_ind := 'Y';
2086                                 ELSIF v_apcs_rec.s_admission_step_type = 'FEE-COND' THEN
2087                                         v_cond_offer_fee_allowed_ind := 'Y';
2088                                 ELSIF v_apcs_rec.s_admission_step_type = 'ASSES-COND' THEN
2089                                         v_cond_offer_ass_allowed_ind := 'Y';
2090                                 ELSIF v_apcs_rec.s_admission_step_type = 'SET-OTCOME' THEN
2091                                         v_set_outcome_allowed_ind := 'Y';
2092                                 ELSIF v_apcs_rec.s_admission_step_type = 'LATE-APP' THEN
2093                                         v_late_appl_allowed_ind := 'Y';
2094                                 ELSIF v_apcs_rec.s_admission_step_type = 'APP-FEE' THEN
2095                                         v_fees_required_ind := 'Y';
2096                                 ELSIF v_apcs_rec.s_admission_step_type = 'DEFER' THEN
2097                                         v_deferral_allowed_ind := 'Y';
2098                                 ELSIF v_apcs_rec.s_admission_step_type = 'PRE-ENROL' THEN
2099                                         v_pre_enrol_ind := 'Y';
2100                                 ELSIF v_apcs_rec.s_admission_step_type = 'MULTI-OFF' THEN
2101                                         v_mult_offer_allowed_ind := 'Y';
2102                                         v_multi_offer_limit := v_apcs_rec.step_type_restriction_num;
2103                                 ELSIF v_apcs_rec.s_admission_step_type = 'UNIT-SET' THEN
2104                                         v_unit_set_appl_ind := 'Y';
2105                                 ELSIF v_apcs_rec.s_admission_step_type = 'CHKPENCUMB' THEN
2106                                         v_check_person_encumb := 'Y';
2107                                 ELSIF v_apcs_rec.s_admission_step_type = 'CHKCENCUMB' THEN
2108                                         v_check_course_encumb := 'Y';
2109                                 END IF;
2110                         END LOOP;
2111                 END IF;
2112 		-- Bug no 2462198 (D) 2566987 (P) do the validation of duplicate while doing the update also
2113 		 -- by rrengara on 13-SEP-2002
2114                 IF      NVL(p_inserting,FALSE) THEN
2115 		        --Should be called only in case of an insert
2116                         -- Validate insert of admission course application instance.
2117                         IF IGS_AD_VAL_ACAI.admp_val_acai_insert (
2118                                         new_references.person_id,
2119                                         new_references.admission_appl_number,
2120                                         new_references.nominated_course_cd,
2121                                         new_references.sequence_number,
2122                                         new_references.course_cd,
2123                                         new_references.location_cd,
2124                                         new_references.attendance_mode,
2125                                         new_references.attendance_type,
2126                                         new_references.unit_set_cd,
2127                                         new_references.us_version_number,
2128                                         v_adm_cal_type,
2129                                         v_adm_ci_sequence_number,
2130                                         v_s_admission_process_type,
2131                                         v_pref_limit,
2132                                         FALSE,  -- Validate AA Only
2133                                         v_message_name,
2134                                         v_return_type) = FALSE THEN
2135                                 IF NVL(v_return_type, '-1') = cst_error THEN
2136                                    FND_MESSAGE.SET_NAME('IGS',v_message_name);
2137                                    IGS_GE_MSG_STACK.ADD;
2138                                    APP_EXCEPTION.RAISE_EXCEPTION;
2139                                 END IF;
2140                         END IF;
2141                 END IF;
2142                 IF      NVL(p_inserting,FALSE) OR NVL(p_updating,FALSE) THEN
2143                         --
2144                         -- Validate admission outcome status.
2145                         --
2146                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_aos (
2147                                         new_references.person_id,
2148                                         new_references.admission_appl_number,
2149                                         new_references.nominated_course_cd,
2150                                         new_references.sequence_number,
2151                                         new_references.course_cd,
2152                                         new_references.crv_version_number,
2153                                         new_references.location_cd,
2154                                         new_references.attendance_mode,
2155                                         new_references.attendance_type,
2156                                         new_references.unit_set_cd,
2157                                         new_references.us_version_number,
2158                                         v_acad_cal_type,
2159                                         v_acad_ci_sequence_number,
2160                                         v_adm_cal_type,
2161                                         v_adm_ci_sequence_number,
2162                                         v_admission_cat,
2163                                         v_s_admission_process_type,
2164                                         v_appl_dt,
2165                                         new_references.fee_cat,
2166                                         new_references.correspondence_cat,
2167                                         new_references.enrolment_cat,
2168                                         new_references.adm_outcome_status,
2169                                         new_references.adm_outcome_status,              -- Old
2170                                         new_references.adm_doc_status,
2171                                         v_adm_fee_status,
2172                                         new_references.late_adm_fee_status,
2173                                         new_references.adm_cndtnl_offer_status,
2174                                         new_references.adm_entry_qual_status,
2175                                         new_references.adm_offer_resp_status,
2176                                         new_references.adm_offer_resp_status,   -- Old
2177                                         new_references.adm_outcome_status_auth_dt,
2178                                         v_set_outcome_allowed_ind,
2179                                         v_cond_offer_ass_allowed_ind,
2180                                         v_cond_offer_fee_allowed_ind,
2181                                         v_cond_offer_doc_allowed_ind,
2182                                         v_late_appl_allowed_ind,
2183                                         v_fees_required_ind,
2184                                         v_mult_offer_allowed_ind,
2185                                         v_multi_offer_limit,
2186                                         v_pref_allowed_ind,
2187                                         v_unit_set_appl_ind,
2188                                         v_check_person_encumb,
2189                                         v_check_course_encumb,
2190                                         'TRG_AS',               -- Called From.
2191                                         v_message_name) = FALSE THEN
2192                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
2193                                         IGS_GE_MSG_STACK.ADD;
2194                                         APP_EXCEPTION.RAISE_EXCEPTION;
2195                         END IF;
2196                         --
2197                         -- Validate admission offer response status.
2198                         --
2199                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_acai_aors (
2200                                         new_references.person_id,
2201                                         new_references.admission_appl_number,
2202                                         new_references.nominated_course_cd,
2203                                         new_references.sequence_number,
2204                                         new_references.course_cd,
2205                                         new_references.adm_offer_resp_status,
2206                                         new_references.adm_offer_resp_status,   -- Old
2207                                         new_references.adm_outcome_status,
2208                                         new_references.adm_offer_dfrmnt_status,
2209                                         new_references.adm_offer_dfrmnt_status, -- Old
2210                                         new_references.adm_outcome_status_auth_dt,
2211                                         new_references.actual_response_dt,
2212                                         v_adm_cal_type,
2213                                         v_adm_ci_sequence_number,
2214                                         v_admission_cat,
2215                                         v_s_admission_process_type,
2216                                         v_deferral_allowed_ind,
2217                                         v_mult_offer_allowed_ind,
2218                                         v_multi_offer_limit,
2219                                         v_pre_enrol_ind,
2220                                         new_references.cndtnl_offer_must_be_stsfd_ind,
2221                                         new_references.cndtnl_offer_satisfied_dt,
2222                                         'TRG_AS',               -- Called From.
2223                                         v_message_name,
2224 					new_references.decline_ofr_reason ,		-- IGSM
2225 					new_references.attent_other_inst_cd		-- igsm
2226 					) = FALSE THEN
2227                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
2228                                         IGS_GE_MSG_STACK.ADD;
2229                                         APP_EXCEPTION.RAISE_EXCEPTION;
2230                         END IF;
2231                         --
2232                         -- Validate multiple offers across admission process categories.
2233                         --
2234                         IF IGS_AD_VAL_ACAI_STATUS.admp_val_offer_x_apc (
2235                                         new_references.person_id,
2236                                         new_references.admission_appl_number,
2237                                         new_references.nominated_course_cd,
2238                                         new_references.sequence_number,
2239                                         new_references.adm_outcome_status,
2240                                         new_references.adm_offer_resp_status,
2241                                         v_adm_cal_type,
2242                                         v_adm_ci_sequence_number,
2243                                         v_admission_cat,
2244                                         v_s_admission_process_type,
2245                                         v_message_name,
2246                                         v_return_type) = FALSE THEN
2247                                 IF NVL(v_return_type, '-1') = cst_error THEN
2248                                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
2249                                         IGS_GE_MSG_STACK.ADD;
2250                                         APP_EXCEPTION.RAISE_EXCEPTION;
2251                                 END IF;
2252                         END IF;
2253                 END IF;
2254         END IF; -- v_row_validated
2255   END AfterRowInsertUpdate2;
2256 
2257   PROCEDURE AfterRowUpdateDelete3(
2258     p_inserting IN BOOLEAN,
2259     p_updating IN BOOLEAN,
2260     p_deleting IN BOOLEAN
2261     ) IS
2262         v_message_name                  VARCHAR2(30);
2263   v_person_id                   IGS_AD_APPL.person_id%TYPE;
2264   v_admission_appl_number           IGS_AD_APPL.admission_appl_number%TYPE;
2265   v_derived_adm_appl_status         IGS_AD_APPL.adm_appl_status%TYPE;
2266   v_adm_appl_status             IGS_AD_APPL.adm_appl_status%TYPE;
2267         CURSOR c_aa (
2268                 cp_person_id            IGS_AD_PS_APPL.person_id%TYPE,
2269                 cp_admission_appl_number        IGS_AD_PS_APPL.admission_appl_number%TYPE) IS
2270         SELECT  adm_appl_status
2271         FROM    IGS_AD_APPL
2272         WHERE   person_id = cp_person_id AND
2273                 admission_appl_number = cp_admission_appl_number;
2274   BEGIN
2275         IF NVL(p_updating,FALSE) THEN
2276                 -- Create admission IGS_PS_COURSE application instance history record.
2277 
2278                 IGS_AD_GEN_011.ADMP_INS_ACAI_HIST (
2279                         new_references.person_id,
2280                         new_references.admission_appl_number,
2281                         new_references.nominated_course_cd,
2282                         new_references.sequence_number,
2283                         new_references.adm_cal_type,
2284                         old_references.adm_cal_type,
2285                         new_references.adm_ci_sequence_number,
2286                         old_references.adm_ci_sequence_number,
2287                         new_references.course_cd,
2288                         old_references.course_cd,
2289                         new_references.crv_version_number,
2290                         old_references.crv_version_number,
2291                         new_references.location_cd,
2292                         old_references.location_cd,
2293                         new_references.attendance_mode,
2294                         old_references.attendance_mode,
2295                         new_references.attendance_type,
2296                         old_references.attendance_type,
2297                         new_references.unit_set_cd,
2298                         old_references.unit_set_cd,
2299                         new_references.us_version_number,
2300                         old_references.us_version_number,
2301                         new_references.preference_number,
2302                         old_references.preference_number,
2303                         new_references.adm_doc_status,
2304                         old_references.adm_doc_status,
2305                         new_references.adm_entry_qual_status,
2306                         old_references.adm_entry_qual_status,
2307                         new_references.late_adm_fee_status,
2308                         old_references.late_adm_fee_status,
2309                         new_references.adm_outcome_status,
2310                         old_references.adm_outcome_status,
2311                         new_references.adm_otcm_status_auth_person_id,
2312                         old_references.adm_otcm_status_auth_person_id,
2313                         new_references.adm_outcome_status_auth_dt,
2314                         TRUNC(old_references.adm_outcome_status_auth_dt),
2315                         new_references.adm_outcome_status_reason,
2316                         old_references.adm_outcome_status_reason,
2317                         new_references.offer_dt,
2318                         TRUNC(old_references.offer_dt),
2319                         new_references.offer_response_dt,
2320                         TRUNC(old_references.offer_response_dt),
2321                         new_references.prpsd_commencement_dt,
2322                         TRUNC(old_references.prpsd_commencement_dt),
2323                         new_references.adm_cndtnl_offer_status,
2324                         old_references.adm_cndtnl_offer_status,
2325                         new_references.cndtnl_offer_satisfied_dt,
2326                         TRUNC(old_references.cndtnl_offer_satisfied_dt),
2327                         new_references.cndtnl_offer_must_be_stsfd_ind,
2328                         old_references.cndtnl_offer_must_be_stsfd_ind,
2329                         new_references.adm_offer_resp_status,
2330                         old_references.adm_offer_resp_status,
2331                         new_references.actual_response_dt,
2332                         TRUNC(old_references.actual_response_dt),
2333                         new_references.adm_offer_dfrmnt_status,
2334                         old_references.adm_offer_dfrmnt_status,
2335                         new_references.deferred_adm_cal_type,
2336                         old_references.deferred_adm_cal_type,
2337                         new_references.deferred_adm_ci_sequence_num,
2338                         old_references.deferred_adm_ci_sequence_num,
2339                         new_references.deferred_tracking_id,
2340                         old_references.deferred_tracking_id,
2341                         new_references.ass_rank,
2342                         old_references.ass_rank,
2343                         new_references.secondary_ass_rank,
2344                         old_references.secondary_ass_rank,
2345                         new_references.intrntnl_acceptance_advice_num,
2346                         old_references.intrntnl_acceptance_advice_num,
2347                         new_references.ass_tracking_id,
2348                         old_references.ass_tracking_id,
2349                         new_references.fee_cat,
2350                         old_references.fee_cat,
2351                         new_references.hecs_payment_option,
2352                         old_references.hecs_payment_option,
2353                         new_references.expected_completion_yr,
2354                         old_references.expected_completion_yr,
2355                         new_references.expected_completion_perd,
2356                         old_references.expected_completion_perd,
2357                         new_references.correspondence_cat,
2358                         old_references.correspondence_cat,
2359                         new_references.enrolment_cat,
2360                         old_references.enrolment_cat,
2361                         new_references.funding_source,
2362                         old_references.funding_source,
2363                         new_references.last_updated_by,
2364                         old_references.last_updated_by,
2365                         new_references.last_update_date,
2366                         old_references.last_update_date,
2367                         new_references.applicant_acptnce_cndtn,
2368                         old_references.applicant_acptnce_cndtn,
2369                         new_references.cndtnl_offer_cndtn,
2370                         old_references.cndtnl_offer_cndtn,
2371 			new_references.appl_inst_status,						--arvsrini igsm
2372 			old_references.appl_inst_status,
2373 			new_references.DECISION_DATE,                                       -- begin APADEGAL adtd001 igs.m
2374 			old_references.DECISION_DATE,
2375 			new_references.DECISION_MAKE_ID,
2376 			old_references.DECISION_MAKE_ID,
2377 			new_references.DECISION_REASON_ID,
2378 			old_references.DECISION_REASON_ID,
2379 			new_references.PENDING_REASON_ID,
2380 			old_references.PENDING_REASON_ID,
2381 			new_references.WAITLIST_STATUS,
2382 			old_references.WAITLIST_STATUS,
2383 			new_references.WAITLIST_RANK,
2384 			old_references.WAITLIST_RANK ,
2385 			new_references.FUTURE_ACAD_CAL_TYPE,
2386 			old_references.FUTURE_ACAD_CAL_TYPE,
2387 			new_references.FUTURE_ACAD_CI_SEQUENCE_NUMBER,
2388 			old_references.FUTURE_ACAD_CI_SEQUENCE_NUMBER,
2389 			new_references.FUTURE_ADM_CAL_TYPE,
2390 			old_references.FUTURE_ADM_CAL_TYPE,
2391 			new_references.FUTURE_ADM_CI_SEQUENCE_NUMBER,
2392 			old_references.FUTURE_ADM_CI_SEQUENCE_NUMBER,
2393 			new_references.DEF_ACAD_CAL_TYPE,
2394 			old_references.DEF_ACAD_CAL_TYPE,
2395 			new_references.def_acad_ci_sequence_num,
2396 			old_references.DEF_ACAD_CI_SEQUENCE_NUM,
2397 			new_references.DECLINE_OFR_REASON,
2398 			old_references.DECLINE_OFR_REASON                             -- end APADEGAL adtd001 igs.m
2399 
2400 			);
2401 
2402         END IF;
2403         IF NVL(p_deleting,FALSE) THEN
2404                 -- Delete admission IGS_PS_COURSE application instance history records.
2405                 IF IGS_AD_GEN_001.ADMP_DEL_ACAI_HIST (
2406                                 old_references.person_id,
2407                                 old_references.admission_appl_number,
2408                                 old_references.nominated_course_cd,
2409                                 old_references.sequence_number,
2410                                 v_message_name) = FALSE THEN
2411                         FND_MESSAGE.SET_NAME('IGS',v_message_name);
2412                         IGS_GE_MSG_STACK.ADD;
2413                         APP_EXCEPTION.RAISE_EXCEPTION;
2414                 END IF ;
2415         END IF;
2416         OPEN c_aa (
2417                         old_references.person_id,
2418                         old_references.admission_appl_number);
2419         FETCH c_aa INTO v_adm_appl_status;
2420         CLOSE c_aa;
2421         v_person_id := old_references.person_id;
2422         v_admission_appl_number := old_references.admission_appl_number;
2423         -- Derive the Admission Application status.
2424         v_derived_adm_appl_status := IGS_AD_GEN_002.ADMP_GET_AA_AAS (
2425                                 v_person_id,
2426                                 v_admission_appl_number,
2427                                 v_adm_appl_status);
2428         -- Update the admission application status.
2429         IF v_derived_adm_appl_status IS NOT NULL AND
2430            v_derived_adm_appl_status <> v_adm_appl_status THEN
2431           UPDATE  IGS_AD_APPL
2432           SET     adm_appl_status = v_derived_adm_appl_status
2433           WHERE   person_id = v_person_id AND
2434                   admission_appl_number = v_admission_appl_number;
2435        igs_ad_wf_001.APP_PRCOC_STATUS_UPD_EVENT (
2436 	     P_PERSON_ID	        => new_references.person_id,
2437 	     P_ADMISSION_APPL_NUMBER	=> new_references.admission_appl_number,
2438 	     P_ADM_APPL_STATUS_NEW	=> v_derived_adm_appl_status,
2439              P_ADM_APPL_STATUS_OLD	=> v_adm_appl_status);
2440         END IF;
2441 
2442        -- Raise the Admission Academic Index workflow, whenever the Academic Index value of Application Instance is changed. Financial Aid Integration Build : 3202866
2443        IF NVL(new_references.academic_index,'*****') <> NVL(old_references.academic_index,'*****') THEN
2444          igs_ad_wf_001.wf_adm_academic_index(
2445                            new_references.person_id,
2446 			   new_references.admission_appl_number,
2447 			   new_references.nominated_course_cd,
2448 			   new_references.sequence_number,
2449 			   NVL(old_references.academic_index,'NULL'),
2450 			   NVL(new_references.academic_index,'NULL')
2451                           );
2452        END IF;
2453 
2454   END AfterRowUpdateDelete3;
2455 
2456  PROCEDURE Check_Constraints (
2457      column_name IN VARCHAR2,
2458      column_value IN VARCHAR2
2459   ) IS
2460   /*************************************************************
2461   Created By :
2462   Date Created By :
2463   Purpose :
2464   Know limitations, enhancements or remarks
2465   Change History
2466   Who             When            What
2467   (reverse chronological order - newest change first)
2468   vvutukur        19-May-2002   removed upper check constraint on fee_cat column.bug#2344826.
2469   arvsrini        27-Jul-2004   removed upper check constraint on adm_outcome_status_reason. bug#3787713
2470   ***************************************************************/
2471   BEGIN
2472      IF column_name is null THEN
2473       NULL;
2474      ELSIF upper(column_name) = 'EXPECTED_COMPLETION_PERD' THEN
2475       new_references.expected_completion_perd := column_value;
2476      ELSIF upper(column_name) = 'EXPECTED_COMPLETION_YR' THEN
2477       new_references.expected_completion_yr := igs_ge_number.to_num(column_value);
2478      ELSIF upper(column_name) = 'INTRNTNL_ACCEPTANCE_ADVICE_NUM' THEN
2479       new_references.intrntnl_acceptance_advice_num := igs_ge_number.to_num(column_value);
2480      ELSIF upper(column_name) = 'SECONDARY_ASS_RANK' THEN
2481       new_references.secondary_ass_rank := igs_ge_number.to_num(column_value);
2482      ELSIF upper(column_name) = 'ASS_RANK' THEN
2483       new_references.ass_rank := igs_ge_number.to_num(column_value);
2484      ELSIF upper(column_name) = 'DEFERRED_ADM_CI_SEQUENCE_NUM' THEN
2485       new_references.deferred_adm_ci_sequence_num := igs_ge_number.to_num(column_value);
2486      ELSIF upper(column_name) = 'CNDTNL_OFFER_MUST_BE_STSFD_IND' THEN
2487       new_references.cndtnl_offer_must_be_stsfd_ind := column_value;
2488      ELSIF upper(column_name) = 'PREFERENCE_NUMBER' THEN
2489       new_references.preference_number := igs_ge_number.to_num(column_value);
2490      ELSIF upper(column_name) = 'ADM_CI_SEQUENCE_NUMBER' THEN
2491       new_references.adm_ci_sequence_number := igs_ge_number.to_num(column_value);
2492      ELSIF upper(column_name) = 'SEQUENCE_NUMBER' THEN
2493       new_references.sequence_number := igs_ge_number.to_num(column_value);
2494      ELSIF upper(column_name) = 'ADM_CAL_TYPE' THEN
2495       new_references.adm_cal_type := column_value;
2496      ELSIF upper(column_name) = 'ADM_CNDTNL_OFFER_STATUS' THEN
2497       new_references.adm_cndtnl_offer_status := column_value;
2498      ELSIF upper(column_name) = 'ADM_DOC_STATUS' THEN
2499       new_references.adm_doc_status := column_value;
2500      ELSIF upper(column_name) = 'ADM_ENTRY_QUAL_STATUS' THEN
2501       new_references.adm_entry_qual_status := column_value;
2502      ELSIF upper(column_name) = 'ADM_OFFER_DFRMNT_STATUS' THEN
2503       new_references.adm_offer_dfrmnt_status := column_value;
2504      ELSIF upper(column_name) = 'ADM_OFFER_RESP_STATUS' THEN
2505       new_references.adm_offer_resp_status := column_value;
2506      ELSIF upper(column_name) = 'ADM_OUTCOME_STATUS' THEN
2507       new_references.adm_outcome_status := column_value;
2508      ELSIF upper(column_name) = 'ADM_OUTCOME_STATUS_REASON' THEN
2509       new_references.adm_outcome_status_reason := column_value;
2510      ELSIF upper(column_name) = 'ATTENDANCE_MODE' THEN
2511       new_references.attendance_mode := column_value;
2512      ELSIF upper(column_name) = 'ATTENDANCE_TYPE' THEN
2513       new_references.attendance_type := column_value;
2514      ELSIF upper(column_name) = 'CNDTNL_OFFER_MUST_BE_STSTD_IND' THEN
2515       new_references.cndtnl_offer_must_be_stsfd_ind := column_value;
2516      ELSIF upper(column_name) = 'CORRESPONDENCE_CAT' THEN
2517       new_references.correspondence_cat := column_value;
2518      ELSIF upper(column_name) = 'COURSE_CD' THEN
2519       new_references.course_cd := column_value;
2520      ELSIF upper(column_name) = 'DEFERRED_ADM_CAL_TYPE' THEN
2521       new_references.deferred_adm_cal_type := column_value;
2522      ELSIF upper(column_name) = 'ENROLMENT_CAT' THEN
2523       new_references.enrolment_cat := column_value;
2524      ELSIF upper(column_name) = 'EXPECTED_COMPLETION_PERD' THEN
2525       new_references.expected_completion_perd := column_value;
2526      ELSIF upper(column_name) = 'FUNDING_SOURCE' THEN
2527       new_references.funding_source := column_value;
2528      ELSIF upper(column_name) = 'HECS_PAYMENT_OPTION' THEN
2529       new_references.hecs_payment_option := column_value;
2530      ELSIF upper(column_name) = 'LATE_ADM_FEE_STATUS' THEN
2531       new_references.late_adm_fee_status := column_value;
2532      ELSIF upper(column_name) = 'LOCATION_CD' THEN
2533       new_references.location_cd := column_value;
2534      ELSIF upper(column_name) = 'UNIT_SET_CD' THEN
2535       new_references.unit_set_cd := column_value;
2536      ELSIF upper(column_name) = 'APPL_INST_STATUS' THEN								--arvsrini igsm
2537       new_references.appl_inst_status := column_value;
2538      END IF;
2539      IF upper(column_name) = 'EXPECTED_COMPLETION_PERD' OR column_name IS NULL THEN
2540       IF (new_references.expected_completion_perd) NOT IN ('E','M','S') THEN
2541        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2542        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_EXPCT_COMP_PRD'));
2543        IGS_GE_MSG_STACK.ADD;
2544        APP_EXCEPTION.RAISE_EXCEPTION;
2545       END IF;
2546      END IF;
2547      IF upper(column_name) = 'EXPECTED_COMPLETION_YR' OR column_name IS NULL THEN
2548       IF new_references.expected_completion_yr < 0 OR new_references.expected_completion_yr > 9999 THEN
2549        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2550        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_EXPCT_COMP_YR'));
2551            IGS_GE_MSG_STACK.ADD;
2552        APP_EXCEPTION.RAISE_EXCEPTION;
2553       END IF;
2554      END IF;
2555      IF upper(column_name) = 'INTRNTNL_ACCEPTANCE_ADVICE_NUM' OR column_name IS NULL THEN
2556       IF new_references.intrntnl_acceptance_advice_num < 0 OR new_references.intrntnl_acceptance_advice_num > 999999999999999 THEN
2557        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2558        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_INTRNL_ACC_ADV_NUM'));
2559            IGS_GE_MSG_STACK.ADD;
2560        APP_EXCEPTION.RAISE_EXCEPTION;
2561       END IF;
2562      END IF;
2563      IF upper(column_name) = 'SECONDARY_ASS_RANK' OR column_name IS NULL THEN
2564       IF new_references.secondary_ass_rank < 1 OR new_references.secondary_ass_rank > 999 THEN
2565        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2566        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ASSESSMENT_RANK'));
2567            IGS_GE_MSG_STACK.ADD;
2568        APP_EXCEPTION.RAISE_EXCEPTION;
2569       END IF;
2570      END IF;
2571      IF upper(column_name) = 'ASS_RANK' OR column_name IS NULL THEN
2572       IF new_references.ass_rank < 1 OR new_references.ass_rank > 999 THEN
2573        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2574        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ASSESSMENT_RANK'));
2575            IGS_GE_MSG_STACK.ADD;
2576        APP_EXCEPTION.RAISE_EXCEPTION;
2577       END IF;
2578      END IF;
2579      IF upper(column_name) = 'DEFERRED_ADM_CI_SEQUENCE_NUM' OR column_name IS NULL THEN
2580       IF new_references.deferred_adm_ci_sequence_num < 1 OR new_references.deferred_adm_ci_sequence_num > 999999 THEN
2581        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2582        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DEFERRED_ADM_CAL_TYPE'));
2583            IGS_GE_MSG_STACK.ADD;
2584        APP_EXCEPTION.RAISE_EXCEPTION;
2585       END IF;
2586      END IF;
2587      IF upper(column_name) = 'CNDTNL_OFFER_MUST_BE_STSFD_IND' OR column_name IS NULL THEN
2588       IF new_references.cndtnl_offer_must_be_stsfd_ind NOT IN ('Y','N')
2589         THEN
2590        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2591        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_CND_OFR_STSFD_IND'));
2592            IGS_GE_MSG_STACK.ADD;
2593        APP_EXCEPTION.RAISE_EXCEPTION;
2594       END IF;
2595      END IF;
2596      IF upper(column_name) = 'PREFERENCE_NUMBER' OR column_name IS NULL THEN
2597       IF new_references.preference_number < 1 OR new_references.preference_number > 99 THEN
2598        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2599        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PREFERANCE_NUM'));
2600            IGS_GE_MSG_STACK.ADD;
2601        APP_EXCEPTION.RAISE_EXCEPTION;
2602       END IF;
2603      END IF;
2604      IF upper(column_name) = 'ADM_CI_SEQUENCE_NUMBER' OR column_name IS NULL THEN
2605       IF new_references.adm_ci_sequence_number < 1 OR new_references.adm_ci_sequence_number > 999999 THEN
2606        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2607        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_CAL'));
2608            IGS_GE_MSG_STACK.ADD;
2609        APP_EXCEPTION.RAISE_EXCEPTION;
2610       END IF;
2611      END IF;
2612      IF upper(column_name) = 'SEQUENCE_NUMBER' OR column_name IS NULL THEN
2613       IF new_references.sequence_number < 1 OR new_references.sequence_number > 999999 THEN
2614        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2615        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PROGRAM'));
2616            IGS_GE_MSG_STACK.ADD;
2617        APP_EXCEPTION.RAISE_EXCEPTION;
2618       END IF;
2619      END IF;
2620      IF upper(column_name) = 'ADM_CAL_TYPE' OR column_name IS NULL THEN
2621       IF new_references.adm_cal_type <> UPPER(new_references.adm_cal_type) THEN
2622        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2623        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_CAL'));
2624            IGS_GE_MSG_STACK.ADD;
2625        APP_EXCEPTION.RAISE_EXCEPTION;
2626       END IF;
2627      END IF;
2628      IF upper(column_name) = 'ADM_CNDTNL_OFFER_STATUS' OR column_name IS NULL THEN
2629       IF new_references.adm_cndtnl_offer_status <> UPPER(new_references.adm_cndtnl_offer_status) THEN
2630        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2631        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_COND_OFR_STATUS'));
2632        IGS_GE_MSG_STACK.ADD;
2633        APP_EXCEPTION.RAISE_EXCEPTION;
2634       END IF;
2635      END IF;
2636      IF upper(column_name) = 'ADM_DOC_STATUS' OR column_name IS NULL THEN
2637       IF new_references.adm_doc_status <> UPPER(new_references.adm_doc_status) THEN
2638        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2639        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_DOC_STAT'));
2640            IGS_GE_MSG_STACK.ADD;
2641        APP_EXCEPTION.RAISE_EXCEPTION;
2642       END IF;
2643      END IF;
2644      IF upper(column_name) = 'ADM_ENTRY_QUAL_STATUS' OR column_name IS NULL THEN
2645       IF new_references.adm_entry_qual_status <> UPPER(new_references.adm_entry_qual_status) THEN
2646        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2647        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_ENTRY_QUAL_STATUS'));
2648            IGS_GE_MSG_STACK.ADD;
2649        APP_EXCEPTION.RAISE_EXCEPTION;
2650       END IF;
2651      END IF;
2652      IF upper(column_name) = 'ADM_OFFER_DFRMNT_STATUS' OR column_name IS NULL THEN
2653       IF new_references.adm_offer_dfrmnt_status <> UPPER(new_references.adm_offer_dfrmnt_status) THEN
2654        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2655        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_OFFER_DFRMNT_STATUS'));
2656            IGS_GE_MSG_STACK.ADD;
2657        APP_EXCEPTION.RAISE_EXCEPTION;
2658       END IF;
2659      END IF;
2660      IF upper(column_name) = 'ADM_OFFER_RESP_STATUS' OR column_name IS NULL THEN
2661       IF new_references.adm_offer_resp_status <> UPPER(new_references.adm_offer_resp_status) THEN
2662        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2663        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_OFFER_RESP_STATUS'));
2664            IGS_GE_MSG_STACK.ADD;
2665        APP_EXCEPTION.RAISE_EXCEPTION;
2666       END IF;
2667      END IF;
2668      IF upper(column_name) = 'ADM_OUTCOME_STATUS' OR column_name IS NULL THEN
2669       IF new_references.adm_outcome_status <> UPPER(new_references.adm_outcome_status) THEN
2670        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2671        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_OUTCOME_STATUS'));
2672            IGS_GE_MSG_STACK.ADD;
2673        APP_EXCEPTION.RAISE_EXCEPTION;
2674       END IF;
2675      END IF;
2676      IF upper(column_name) = 'CNDTNL_OFFER_MUST_BE_STSTD_IND' OR column_name IS NULL THEN
2677       IF new_references.cndtnl_offer_must_be_stsfd_ind <> UPPER(new_references.cndtnl_offer_must_be_stsfd_ind) THEN
2678        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2679        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_CND_OFR_STSFD_IND'));
2680            IGS_GE_MSG_STACK.ADD;
2681        APP_EXCEPTION.RAISE_EXCEPTION;
2682       END IF;
2683      END IF;
2684      IF upper(column_name) = 'CORRESPONDENCE_CAT' OR column_name IS NULL THEN
2685       IF new_references.correspondence_cat <> UPPER(new_references.correspondence_cat) THEN
2686        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2687        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_CRSPOND_CAT'));
2688            IGS_GE_MSG_STACK.ADD;
2689        APP_EXCEPTION.RAISE_EXCEPTION;
2690       END IF;
2691      END IF;
2692      IF upper(column_name) = 'COURSE_CD' OR column_name IS NULL THEN
2693       IF new_references.course_cd <> UPPER(new_references.course_cd) THEN
2694        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2695        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PROGRAM'));
2696            IGS_GE_MSG_STACK.ADD;
2697        APP_EXCEPTION.RAISE_EXCEPTION;
2698       END IF;
2699      END IF;
2700      IF upper(column_name) = 'DEFERRED_ADM_CAL_TYPE' OR column_name IS NULL THEN
2701       IF new_references.deferred_adm_cal_type <> UPPER(new_references.deferred_adm_cal_type) THEN
2702        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2703        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DEFERRED_ADM_CAL_TYPE'));
2704            IGS_GE_MSG_STACK.ADD;
2705        APP_EXCEPTION.RAISE_EXCEPTION;
2706       END IF;
2707      END IF;
2708      IF upper(column_name) = 'ENROLMENT_CAT' OR column_name IS NULL THEN
2709       IF new_references.enrolment_cat <> UPPER(new_references.enrolment_cat) THEN
2710        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2711        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ENROLMENT_CAT'));
2712            IGS_GE_MSG_STACK.ADD;
2713        APP_EXCEPTION.RAISE_EXCEPTION;
2714       END IF;
2715      END IF;
2716      IF upper(column_name) = 'EXPECTED_COMPLETION_PERD' OR column_name IS NULL THEN
2717       IF new_references.expected_completion_perd <> UPPER(new_references.expected_completion_perd) THEN
2718        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2719        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_EXPCT_COMP_PRD'));
2720            IGS_GE_MSG_STACK.ADD;
2721        APP_EXCEPTION.RAISE_EXCEPTION;
2722       END IF;
2723      END IF;
2724      IF upper(column_name) = 'FUNDING_SOURCE' OR column_name IS NULL THEN
2725       IF new_references.funding_source <> UPPER(new_references.funding_source) THEN
2726        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2727        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_FUNDING_SOURCE'));
2728            IGS_GE_MSG_STACK.ADD;
2729        APP_EXCEPTION.RAISE_EXCEPTION;
2730       END IF;
2731      END IF;
2732      IF upper(column_name) = 'HECS_PAYMENT_OPTION' OR column_name IS NULL THEN
2733       IF new_references.hecs_payment_option <> UPPER(new_references.hecs_payment_option) THEN
2734        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2735        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_HECS_PAY_OPT'));
2736            IGS_GE_MSG_STACK.ADD;
2737        APP_EXCEPTION.RAISE_EXCEPTION;
2738       END IF;
2739      END IF;
2740      IF upper(column_name) = 'LATE_ADM_FEE_STATUS' OR column_name IS NULL THEN
2741       IF new_references.late_adm_fee_status <> UPPER(new_references.late_adm_fee_status) THEN
2742        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2743        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_LATE_ADM_FEE_STATUS'));
2744            IGS_GE_MSG_STACK.ADD;
2745        APP_EXCEPTION.RAISE_EXCEPTION;
2746       END IF;
2747      END IF;
2748      IF upper(column_name) = 'NOMINATED_COURSE_CD' OR column_name IS NULL THEN
2749       IF new_references.nominated_course_cd <> UPPER(new_references.nominated_course_cd) THEN
2750        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2751        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_COURSE'));
2752            IGS_GE_MSG_STACK.ADD;
2753        APP_EXCEPTION.RAISE_EXCEPTION;
2754       END IF;
2755      END IF;
2756      IF upper(column_name) = 'UNIT_SET_CD' OR column_name IS NULL THEN
2757       IF new_references.unit_set_cd <> UPPER(new_references.unit_set_cd) THEN
2758        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2759        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_PS_UNIT_SET'));
2760            IGS_GE_MSG_STACK.ADD;
2761        APP_EXCEPTION.RAISE_EXCEPTION;
2762       END IF;
2763      END IF;
2764      IF upper(column_name) = 'APPL_INST_STATUS' OR column_name IS NULL THEN				--arvsrini igsm
2765       IF new_references.appl_inst_status <> UPPER(new_references.appl_inst_status) THEN
2766        FND_MESSAGE.SET_NAME('IGS','IGS_GE_INVALID_VALUE_WITH_CTXT');
2767        FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_APPL_INST_STAT'));
2768            IGS_GE_MSG_STACK.ADD;
2769        APP_EXCEPTION.RAISE_EXCEPTION;
2770       END IF;
2771      END IF;
2772     /*IF upper(column_name) = 'PRPSD_COMMENCEMENT_DT' OR column_name IS NULL THEN
2773            IF new_references.prpsd_commencement_dt IS NOT NULL
2774         AND TRUNC(new_references.prpsd_commencement_dt) > TRUNC(SYSDATE)
2775 	OR TRUNC(new_references.prpsd_commencement_dt) < TRUNC(new_references.offer_dt) THEN
2776            FND_MESSAGE.SET_NAME('IGS','IGS_AD_PRPSD_CMCMNT_DT_INVALID');
2777            IGS_GE_MSG_STACK.ADD;
2778            APP_EXCEPTION.RAISE_EXCEPTION;
2779         END IF;
2780       END IF;*/
2781   END Check_Constraints;
2782 
2783 
2784   PROCEDURE Check_Parent_Existance IS
2785   /*************************************************************
2786   Created By :
2787   Date Created By :
2788   Purpose :
2789   Know limitations, enhancements or remarks
2790   Change History
2791   Who             When            What
2792   smadathi       13-Feb-2002      Bug 2217104. Added foreign key references
2793                                   to IGS_CA_INST_ALL table
2794   (reverse chronological order - newest change first)
2795   ***************************************************************/
2796   BEGIN
2797     IF (((old_references.edu_goal_prior_enroll_id = new_references.edu_goal_prior_enroll_id)) OR
2798         ((new_references.edu_goal_prior_enroll_id IS NULL))) THEN
2799       NULL;
2800     ELSIF NOT Igs_Ad_Code_Classes_Pkg.Get_UK2_For_Validation (
2801                         new_references.edu_goal_prior_enroll_id,
2802                         'EDU_GOALS', 'N'
2803         )  THEN
2804         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2805         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PRI_EN_EDU_GOAL'));
2806       IGS_GE_MSG_STACK.ADD;
2807          App_Exception.Raise_Exception;
2808     END IF;
2809     IF (((old_references.attent_other_inst_cd = new_references.attent_other_inst_cd)) OR
2810         ((new_references.attent_other_inst_cd IS NULL))) THEN
2811       NULL;
2812     ELSIF NOT Igs_Or_Institution_Pkg.Get_PK_For_Validation (
2813                         new_references.attent_other_inst_cd
2814         )  THEN
2815         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
2816         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_AT_OTH_INST'));
2817       IGS_GE_MSG_STACK.ADD;
2818          App_Exception.Raise_Exception;
2819     END IF;
2820     IF (((old_references.app_source_id = new_references.app_source_id)) OR
2821         ((new_references.app_source_id IS NULL))) THEN
2822       NULL;
2823     ELSIF NOT Igs_Ad_Code_Classes_Pkg.Get_UK2_For_Validation (
2824                         new_references.app_source_id,
2825                         'SYS_APPL_SOURCE', 'N'
2826         )  THEN
2827         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2828         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_APP_SOURCE'));
2829       IGS_GE_MSG_STACK.ADD;
2830          App_Exception.Raise_Exception;
2831     END IF;
2832     IF (((old_references.decision_make_id = new_references.decision_make_id)) OR
2833         ((new_references.decision_make_id IS NULL))) THEN
2834       NULL;
2835     ELSIF NOT Igs_Pe_Person_Pkg.Get_PK_For_Validation (
2836                         new_references.decision_make_id
2837         )  THEN
2838         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
2839         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DEC_MAKE'));
2840       IGS_GE_MSG_STACK.ADD;
2841          App_Exception.Raise_Exception;
2842     END IF;
2843     IF (((old_references.decision_reason_id = new_references.decision_reason_id)) OR
2844         ((new_references.decision_reason_id IS NULL))) THEN
2845       NULL;
2846     ELSIF NOT Igs_Ad_Code_Classes_Pkg.Get_UK2_For_Validation (
2847                         new_references.decision_reason_id,
2848                        'DECISION_REASON', 'N'
2849         )  THEN
2850         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2851         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DEC_REASON'));
2852       IGS_GE_MSG_STACK.ADD;
2853          App_Exception.Raise_Exception;
2854     END IF;
2855     IF (((old_references.pending_reason_id = new_references.pending_reason_id)) OR
2856         ((new_references.pending_reason_id IS NULL))) THEN
2857       NULL;
2858     ELSIF NOT Igs_Ad_Code_Classes_Pkg.Get_UK2_For_Validation (
2859                         new_references.pending_reason_id,
2860                         'PENDING_REASON','N'
2861         )  THEN
2862         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2863         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PEND_REASON'));
2864       IGS_GE_MSG_STACK.ADD;
2865          App_Exception.Raise_Exception;
2866     END IF;
2867     IF (((old_references.attendance_mode = new_references.attendance_mode)) OR
2868         ((new_references.attendance_mode IS NULL))) THEN
2869       NULL;
2870     ELSE
2871       IF NOT IGS_EN_ATD_MODE_PKG.Get_PK_For_Validation (
2872         new_references.attendance_mode
2873         )THEN
2874         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2875         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ATTENDANCE_MODE'));
2876                  IGS_GE_MSG_STACK.ADD;
2877          APP_EXCEPTION.RAISE_EXCEPTION;
2878       END IF;
2879     END IF;
2880     IF (((old_references.adm_offer_dfrmnt_status = new_references.adm_offer_dfrmnt_status)) OR
2881         ((new_references.adm_offer_dfrmnt_status IS NULL))) THEN
2882       NULL;
2883     ELSE
2884       IF NOT IGS_AD_OFRDFRMT_STAT_PKG.Get_PK_For_Validation (
2885         new_references.adm_offer_dfrmnt_status
2886         )THEN
2887         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2888         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_OFFER_DFRMNT_STATUS'));
2889                  IGS_GE_MSG_STACK.ADD;
2890          APP_EXCEPTION.RAISE_EXCEPTION;
2891       END IF;
2892     END IF;
2893     IF (((old_references.adm_offer_resp_status = new_references.adm_offer_resp_status)) OR
2894         ((new_references.adm_offer_resp_status IS NULL))) THEN
2895       NULL;
2896     ELSE
2897       IF NOT IGS_AD_OFR_RESP_STAT_PKG.Get_PK_For_Validation (
2898         new_references.adm_offer_resp_status
2899         )THEN
2900         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2901         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_OFFER_RESP_STATUS'));
2902                  IGS_GE_MSG_STACK.ADD;
2903          APP_EXCEPTION.RAISE_EXCEPTION;
2904       END IF;
2905     END IF;
2906     IF (((old_references.adm_outcome_status = new_references.adm_outcome_status)) OR
2907         ((new_references.adm_outcome_status IS NULL))) THEN
2908       NULL;
2909     ELSE
2910       IF NOT IGS_AD_OU_STAT_PKG.Get_PK_For_Validation (
2911         new_references.adm_outcome_status
2912         )THEN
2913         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2914         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_OUTCOME_STATUS'));
2915                  IGS_GE_MSG_STACK.ADD;
2916          APP_EXCEPTION.RAISE_EXCEPTION;
2917       END IF;
2918     END IF;
2919     IF (((old_references.attendance_type = new_references.attendance_type)) OR
2920         ((new_references.attendance_type IS NULL))) THEN
2921       NULL;
2922     ELSE
2923       IF NOT IGS_EN_ATD_TYPE_PKG.Get_PK_For_Validation (
2924         new_references.attendance_type
2925         )THEN
2926         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2927         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ATTENDANCE_TYPE'));
2928                  IGS_GE_MSG_STACK.ADD;
2929          APP_EXCEPTION.RAISE_EXCEPTION;
2930       END IF;
2931     END IF;
2932     -- Bug no 2380815 locking issue
2933     -- Removed GET_PK call for Correspondence categories
2934 
2935     IF (((old_references.deferred_adm_cal_type = new_references.deferred_adm_cal_type) AND
2936          (old_references.deferred_adm_ci_sequence_num = new_references.deferred_adm_ci_sequence_num)) OR
2937         ((new_references.deferred_adm_cal_type IS NULL) OR
2938          (new_references.deferred_adm_ci_sequence_num IS NULL))) THEN
2939       NULL;
2940     ELSE
2941       IF NOT IGS_CA_INST_PKG.Get_PK_For_Validation (
2942         new_references.deferred_adm_cal_type,
2943         new_references.deferred_adm_ci_sequence_num
2944         )THEN
2945         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
2946         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DEFERRED_ADM_CAL_TYPE'));
2947                  IGS_GE_MSG_STACK.ADD;
2948          APP_EXCEPTION.RAISE_EXCEPTION;
2949       END IF;
2950     END IF;
2951     IF (((old_references.adm_cal_type = new_references.adm_cal_type) AND
2952          (old_references.adm_ci_sequence_number = new_references.adm_ci_sequence_number)) OR
2953         ((new_references.adm_cal_type IS NULL) OR
2954          (new_references.adm_ci_sequence_number IS NULL))) THEN
2955       NULL;
2956     ELSE
2957       IF NOT IGS_CA_INST_PKG.Get_PK_For_Validation (
2958         new_references.adm_cal_type,
2959         new_references.adm_ci_sequence_number
2960         )THEN
2961         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
2962         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_CAL'));
2963                  IGS_GE_MSG_STACK.ADD;
2964          APP_EXCEPTION.RAISE_EXCEPTION;
2965       END IF;
2966     END IF;
2967     -- Bug no 2380815 locking issue
2968     -- Removed GET_PK call for IGS_PS_COURSE_PKG
2969 
2970     IF (((old_references.course_cd = new_references.course_cd) AND
2971          (old_references.crv_version_number = new_references.crv_version_number)) OR
2972         ((new_references.course_cd IS NULL) OR
2973          (new_references.crv_version_number IS NULL))) THEN
2974       NULL;
2975     ELSE
2976       IF NOT IGS_PS_VER_PKG.Get_PK_For_Validation (
2977         new_references.course_cd,
2978         new_references.crv_version_number
2979         )THEN
2980         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
2981         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PROGRAM'));
2982                  IGS_GE_MSG_STACK.ADD;
2983          APP_EXCEPTION.RAISE_EXCEPTION;
2984       END IF;
2985     END IF;
2986     IF (((old_references.enrolment_cat = new_references.enrolment_cat)) OR
2987         ((new_references.enrolment_cat IS NULL))) THEN
2988       NULL;
2989     ELSE
2990       IF NOT IGS_EN_ENROLMENT_CAT_PKG.Get_PK_For_Validation (
2991         new_references.enrolment_cat
2992         )THEN
2993         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
2994         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ENROLMENT_CAT'));
2995                  IGS_GE_MSG_STACK.ADD;
2996          APP_EXCEPTION.RAISE_EXCEPTION;
2997       END IF;
2998     END IF;
2999     IF (((old_references.fee_cat = new_references.fee_cat)) OR
3000         ((new_references.fee_cat IS NULL))) THEN
3001       NULL;
3002     ELSE
3003       IF NOT IGS_FI_FEE_CAT_PKG.Get_PK_For_Validation (
3004         new_references.fee_cat
3005         )THEN
3006         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3007         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_FEE_CAT'));
3008                  IGS_GE_MSG_STACK.ADD;
3009          APP_EXCEPTION.RAISE_EXCEPTION;
3010       END IF;
3011     END IF;
3012     IF (((old_references.funding_source = new_references.funding_source)) OR
3013         ((new_references.funding_source IS NULL))) THEN
3014       NULL;
3015     ELSE
3016       IF NOT IGS_FI_FUND_SRC_PKG.Get_PK_For_Validation (
3017         new_references.funding_source
3018         ) THEN
3019         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3020         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_FUNDING_SOURCE'));
3021                  IGS_GE_MSG_STACK.ADD;
3022          APP_EXCEPTION.RAISE_EXCEPTION;
3023       END IF;
3024     END IF;
3025     IF (((old_references.hecs_payment_option = new_references.hecs_payment_option)) OR
3026         ((new_references.hecs_payment_option IS NULL))) THEN
3027       NULL;
3028     ELSE
3029       IF NOT IGS_FI_HECS_PAY_OPTN_PKG.Get_PK_For_Validation (
3030         new_references.hecs_payment_option
3031         )THEN
3032         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3033         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_HECS_PAY_OPT'));
3034                  IGS_GE_MSG_STACK.ADD;
3035          APP_EXCEPTION.RAISE_EXCEPTION;
3036       END IF;
3037     END IF;
3038     IF (((old_references.location_cd = new_references.location_cd)) OR
3039         ((new_references.location_cd IS NULL))) THEN
3040       NULL;
3041     ELSE
3042       IF NOT IGS_AD_LOCATION_PKG.Get_PK_For_Validation (
3043         new_references.location_cd
3044         )THEN
3045         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3046         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_EN_LOCATION'));
3047                  IGS_GE_MSG_STACK.ADD;
3048          APP_EXCEPTION.RAISE_EXCEPTION;
3049       END IF;
3050     END IF;
3051     IF (((old_references.person_id = new_references.person_id)) OR
3052         ((new_references.person_id IS NULL))) THEN
3053       NULL;
3054     ELSE
3055       IF NOT IGS_PE_PERSON_PKG.Get_PK_For_Validation (
3056         new_references.person_id
3057         )THEN
3058         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3059         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PERSON'));
3060         IGS_GE_MSG_STACK.ADD;
3061         APP_EXCEPTION.RAISE_EXCEPTION;
3062       END IF;
3063     END IF;
3064     IF (((old_references.ass_tracking_id = new_references.ass_tracking_id)) OR
3065         ((new_references.ass_tracking_id IS NULL))) THEN
3066       NULL;
3067     ELSE
3068       IF NOT IGS_TR_ITEM_PKG.Get_PK_For_Validation (
3069         new_references.ass_tracking_id
3070         )THEN
3071         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3072         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ASS_TRACKING_ID'));
3073                 IGS_GE_MSG_STACK.ADD;
3074         APP_EXCEPTION.RAISE_EXCEPTION;
3075       END IF;
3076     END IF;
3077     IF (((old_references.deferred_tracking_id = new_references.deferred_tracking_id)) OR
3078         ((new_references.deferred_tracking_id IS NULL))) THEN
3079       NULL;
3080     ELSE
3081       IF NOT IGS_TR_ITEM_PKG.Get_PK_For_Validation (
3082         new_references.deferred_tracking_id
3083         )THEN
3084         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3085         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DEF_TRACKING_ID'));
3086                 IGS_GE_MSG_STACK.ADD;
3087         APP_EXCEPTION.RAISE_EXCEPTION;
3088       END IF;
3089     END IF;
3090     IF (((old_references.unit_set_cd = new_references.unit_set_cd) AND
3091          (old_references.us_version_number = new_references.us_version_number)) OR
3092         ((new_references.unit_set_cd IS NULL) OR
3093          (new_references.us_version_number IS NULL))) THEN
3094       NULL;
3095     ELSE
3096       IF NOT IGS_EN_UNIT_SET_PKG.Get_PK_For_Validation (
3097         new_references.unit_set_cd,
3098         new_references.us_version_number
3099         )THEN
3100         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3101         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_PS_UNIT_SET'));
3102                   IGS_GE_MSG_STACK.ADD;
3103          APP_EXCEPTION.RAISE_EXCEPTION;
3104       END IF;
3105     END IF;
3106     IF (((old_references.person_id = new_references.person_id) AND
3107          (old_references.admission_appl_number = new_references.admission_appl_number)) OR
3108         ((new_references.person_id IS NULL) OR
3109          (new_references.admission_appl_number IS NULL))) THEN
3110       NULL;
3111     ELSE
3112       IF NOT IGS_AD_APPL_PKG.Get_PK_For_Validation (
3113         new_references.person_id,
3114         new_references.admission_appl_number
3115         )THEN
3116         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3117         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_APPL'));
3118                  IGS_GE_MSG_STACK.ADD;
3119          APP_EXCEPTION.RAISE_EXCEPTION;
3120       END IF;
3121     END IF;
3122     IF (((old_references.person_id = new_references.person_id) AND
3123          (old_references.admission_appl_number = new_references.admission_appl_number) AND
3124          (old_references.nominated_course_cd = new_references.nominated_course_cd)) OR
3125         ((new_references.person_id IS NULL) OR
3126          (new_references.admission_appl_number IS NULL) OR
3127          (new_references.nominated_course_cd IS NULL))) THEN
3128       NULL;
3129     ELSE
3130       IF NOT IGS_AD_PS_APPL_PKG.Get_PK_For_Validation (
3131         new_references.person_id,
3132         new_references.admission_appl_number,
3133         new_references.nominated_course_cd
3134         )THEN
3135         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3136         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_PROGRAM_APPL'));
3137                  IGS_GE_MSG_STACK.ADD;
3138          APP_EXCEPTION.RAISE_EXCEPTION;
3139       END IF;
3140     END IF;
3141     IF (((old_references.adm_cndtnl_offer_status = new_references.adm_cndtnl_offer_status)) OR
3142         ((new_references.adm_cndtnl_offer_status IS NULL))) THEN
3143       NULL;
3144     ELSE
3145       IF NOT IGS_AD_CNDNL_OFRSTAT_PKG.Get_PK_For_Validation (
3146         new_references.adm_cndtnl_offer_status
3147         )THEN
3148         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3149         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_COND_OFR_STATUS'));
3150                  IGS_GE_MSG_STACK.ADD;
3151          APP_EXCEPTION.RAISE_EXCEPTION;
3152       END IF;
3153     END IF;
3154     IF (((old_references.adm_doc_status = new_references.adm_doc_status)) OR
3155         ((new_references.adm_doc_status IS NULL))) THEN
3156       NULL;
3157     ELSE
3158       IF NOT IGS_AD_DOC_STAT_PKG.Get_PK_For_Validation (
3159         new_references.adm_doc_status
3160         )THEN
3161         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3162         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_DOC_STAT'));
3163                   IGS_GE_MSG_STACK.ADD;
3164          APP_EXCEPTION.RAISE_EXCEPTION;
3165       END IF;
3166     END IF;
3167     IF (((old_references.adm_entry_qual_status = new_references.adm_entry_qual_status)) OR
3168         ((new_references.adm_entry_qual_status IS NULL))) THEN
3169       NULL;
3170     ELSE
3171       IF NOT IGS_AD_ENT_QF_STAT_PKG.Get_PK_For_Validation (
3172         new_references.adm_entry_qual_status
3173         )THEN
3174         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3175         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_ADM_ENTRY_QUAL_STATUS'));
3176                  IGS_GE_MSG_STACK.ADD;
3177          APP_EXCEPTION.RAISE_EXCEPTION;
3178       END IF;
3179     END IF;
3180     IF (((old_references.late_adm_fee_status = new_references.late_adm_fee_status)) OR
3181         ((new_references.late_adm_fee_status IS NULL))) THEN
3182       NULL;
3183     ELSE
3184       IF NOT IGS_AD_FEE_STAT_PKG.Get_PK_For_Validation (
3185         new_references.late_adm_fee_status
3186         )THEN
3187         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3188         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_LATE_ADM_FEE_STATUS'));
3189                  IGS_GE_MSG_STACK.ADD;
3190          APP_EXCEPTION.RAISE_EXCEPTION;
3191       END IF;
3192     END IF;
3193 
3194     IF (((old_references.future_acad_cal_type = new_references.future_acad_cal_type) AND
3195          (old_references.future_acad_ci_sequence_number = new_references.future_acad_ci_sequence_number)) OR
3196         ((new_references.future_acad_cal_type IS NULL) OR
3197          (new_references.future_acad_ci_sequence_number IS NULL))) THEN
3198       NULL;
3199     ELSE
3200       IF NOT IGS_CA_INST_PKG.Get_PK_For_Validation (
3201         new_references.future_acad_cal_type,
3202         new_references.future_acad_ci_sequence_number
3203         )THEN
3204         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3205         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_FUT_ACAD_CAL'));
3206            IGS_GE_MSG_STACK.ADD;
3207            APP_EXCEPTION.RAISE_EXCEPTION;
3208       END IF;
3209     END IF;
3210 
3211     IF (((old_references.future_adm_cal_type = new_references.future_adm_cal_type) AND
3212          (old_references.future_adm_ci_sequence_number = new_references.future_adm_ci_sequence_number)) OR
3213         ((new_references.future_adm_cal_type IS NULL) OR
3214          (new_references.future_adm_ci_sequence_number IS NULL))) THEN
3215       NULL;
3216     ELSE
3217       IF NOT IGS_CA_INST_PKG.Get_PK_For_Validation (
3218         new_references.future_adm_cal_type,
3219         new_references.future_adm_ci_sequence_number
3220         )THEN
3221         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3222         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_FUT_ADM_CAL'));
3223            IGS_GE_MSG_STACK.ADD;
3224            APP_EXCEPTION.RAISE_EXCEPTION;
3225       END IF;
3226     END IF;
3227     IF (((old_references.person_id = new_references.person_id) AND
3228          (old_references.nominated_course_cd = new_references.nominated_course_cd) AND
3229          (old_references.def_prev_term_adm_appl_num = new_references.def_prev_term_adm_appl_num) AND
3230          (old_references.def_prev_appl_sequence_num = new_references.def_prev_appl_sequence_num)) OR
3231         ((new_references.person_id IS NULL) OR
3232          (new_references.nominated_course_cd IS NULL) OR
3233          (new_references.def_prev_term_adm_appl_num IS NULL) OR
3234          (new_references.def_prev_appl_sequence_num IS NULL))) THEN
3235       NULL;
3236     ELSE
3237       IF NOT IGS_AD_PS_APPL_INST_PKG.Get_PK_For_Validation (
3238         new_references.person_id,
3239         new_references.def_prev_term_adm_appl_num,
3240         new_references.nominated_course_cd,
3241         new_references.def_prev_appl_sequence_num
3242         )THEN
3243         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3244         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DEFER_APPL_INST'));
3245            IGS_GE_MSG_STACK.ADD;
3246            APP_EXCEPTION.RAISE_EXCEPTION;
3247       END IF;
3248     END IF;
3249 
3250     IF (((old_references.person_id = new_references.person_id) AND
3251          (old_references.nominated_course_cd = new_references.nominated_course_cd) AND
3252          (old_references.def_term_adm_appl_num = new_references.def_term_adm_appl_num) AND
3253          (old_references.def_appl_sequence_num = new_references.def_appl_sequence_num)) OR
3254         ((new_references.person_id IS NULL) OR
3255          (new_references.nominated_course_cd IS NULL) OR
3256          (new_references.def_term_adm_appl_num IS NULL) OR
3257          (new_references.def_appl_sequence_num IS NULL))) THEN
3258       NULL;
3259     ELSE
3260       IF NOT IGS_AD_PS_APPL_INST_PKG.Get_PK_For_Validation (
3261         new_references.person_id,
3262         new_references.def_term_adm_appl_num,
3263         new_references.nominated_course_cd,
3264         new_references.def_appl_sequence_num
3265         )THEN
3266         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND');
3267         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_DEFER_APPL_INST'));
3268            IGS_GE_MSG_STACK.ADD;
3269            APP_EXCEPTION.RAISE_EXCEPTION;
3270       END IF;
3271     END IF;
3272 
3273 
3274     IF (((old_references.appl_inst_status = new_references.appl_inst_status)) OR			--arvsrini igsm
3275         ((new_references.appl_inst_status IS NULL))) THEN
3276       NULL;
3277     ELSE
3278       IF NOT IGS_AD_APPL_STAT_PKG.Get_PK_For_Validation (
3279         new_references.appl_inst_status ,'N'
3280         )THEN
3281         FND_MESSAGE.SET_NAME('IGS','IGS_GE_PK_UK_NOT_FOUND_CLOSED');
3282         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',FND_MESSAGE.GET_STRING('IGS','IGS_AD_APPL_INST_STAT'));
3283         IGS_GE_MSG_STACK.ADD;
3284         APP_EXCEPTION.RAISE_EXCEPTION;
3285       END IF;
3286     END IF;
3287 
3288 
3289   END Check_Parent_Existance;
3290 
3291   PROCEDURE Check_Child_Existance IS
3292   /*************************************************************
3293   Created By :
3294   Date Created By :
3295   Purpose :
3296   Know limitations, enhancements or remarks
3297   Change History
3298   Who             When            What
3299   nshee           07-feb-2001     Removed the call of IGS_AD_CREDENTIALS
3300                                   as part of Bug#2177686. The get_fk call
3301                                   IGS_AD_CREDENTIALS_PKG.get_fk_igs_ad_ps_appl_inst
3302                                   is no longer needed since this foreign key relation
3303                                   doesn't hold true with IGS_PE_CREDENTIALS table
3304   samaresh        21-dec-2001     Bug No 2158524
3305                                   Removed the call to get Fk to
3306                                   Igs_ad_app_req, as the table is
3307                                   now a child of Igs_ad_appl
3308   rghosh          08-nov-2002     Bug No. 2619603
3309 				  Added the calls to get fk to
3310 				  IGS_AD_APLINS_ADMREQ
3311 				  IGS_AD_APPL_NOTES
3312 				  IGS_AD_APPL_PGMAPPRV
3313 				  IGS_AD_TSTSCR_USED
3314 				  IGS_PE_TYP_INSTANCES
3315   (reverse chronological order - newest change first)
3316   ***************************************************************/
3317 
3318 
3319     -- Cursor to check for HESA Installation at site
3320 
3321      CURSOR c_hesa(cp_tab user_objects.object_name%TYPE) IS
3322      SELECT 1 FROM USER_OBJECTS
3323      WHERE OBJECT_NAME  = cp_tab
3324      AND   object_type = 'PACKAGE BODY';
3325 
3326      l_hesa  VARCHAR2(1);
3327 
3328 
3329   BEGIN
3330 
3331     Igs_Ad_Appl_Eval_Pkg.Get_FK_Igs_Ad_Ps_Appl_Inst (
3332       old_references.person_id,
3333       old_references.admission_appl_number,
3334       old_references.nominated_course_cd,
3335       old_references.sequence_number
3336       );
3337     Igs_Ad_Edugoal_Pkg.Get_FK_Igs_Ad_Ps_Appl_Inst (
3338       old_references.person_id,
3339       old_references.admission_appl_number,
3340       old_references.nominated_course_cd,
3341       old_references.sequence_number
3342       );
3343     Igs_Ad_Spl_Adm_Cat_Pkg.Get_FK_Igs_Ad_Ps_Appl_Inst (
3344       old_references.person_id,
3345       old_references.admission_appl_number,
3346       old_references.nominated_course_cd,
3347       old_references.sequence_number
3348       );
3349     Igs_Ad_Unit_Sets_Pkg.Get_FK_Igs_Ad_Ps_Appl_Inst (
3350       old_references.person_id,
3351       old_references.admission_appl_number,
3352       old_references.nominated_course_cd,
3353       old_references.sequence_number
3354       );
3355     IGS_AD_PS_APLINSTUNT_PKG.GET_FK_IGS_AD_PS_APPL_INST (
3356       old_references.person_id,
3357       old_references.admission_appl_number,
3358       old_references.nominated_course_cd,
3359       old_references.sequence_number
3360       );
3361     IGS_RE_CANDIDATURE_PKG.GET_FK_IGS_AD_PS_APPL_INST (
3362       old_references.person_id,
3363       old_references.admission_appl_number,
3364       old_references.nominated_course_cd,
3365       old_references.sequence_number
3366       );
3367     IGS_EN_STDNT_PS_ATT_PKG.GET_FK_IGS_AD_PS_APPL_INST (
3368       old_references.person_id,
3369       old_references.admission_appl_number,
3370       old_references.nominated_course_cd,
3371       old_references.sequence_number
3372       );
3373     IGS_AD_APPL_ARP_PKG.GET_FK_IGS_AD_PS_APPL_INST (
3374      old_references.person_id,
3375      old_references.admission_appl_number,
3376      old_references.nominated_course_cd,
3377      old_references.sequence_number
3378      );
3379      -- added the following calls as per bug #2619603 -rghosh
3380 
3381    IGS_AD_APLINS_ADMREQ_PKG.GET_FK_IGS_AD_PS_APPL_INST_ALL (
3382      old_references.person_id,
3383      old_references.admission_appl_number,
3384      old_references.nominated_course_cd,
3385      old_references.sequence_number
3386      );
3387    IGS_AD_APPL_NOTES_PKG.GET_FK_IGS_AD_PS_APPL_INST (
3388      old_references.person_id,
3389      old_references.admission_appl_number,
3390      old_references.nominated_course_cd,
3391      old_references.sequence_number
3392      );
3393    IGS_AD_APPL_PGMAPPRV_PKG.GET_FK_IGS_AD_PS_APPL_INST (
3394      old_references.person_id,
3395      old_references.admission_appl_number,
3396      old_references.nominated_course_cd,
3397      old_references.sequence_number
3398      );
3399    IGS_AD_TSTSCR_USED_PKG.GET_FK_IGS_AD_PS_APPL_INST (
3400      old_references.person_id,
3401      old_references.admission_appl_number,
3402      old_references.nominated_course_cd,
3403      old_references.sequence_number
3404      );
3405 
3406    IGS_PE_TYP_INSTANCES_PKG.GET_FK_IGS_AD_PS_APPL_INST (
3407      old_references.person_id,
3408      old_references.admission_appl_number,
3409      old_references.nominated_course_cd,
3410      old_references.sequence_number
3411      );
3412 
3413    --Addition of calls for bug #2619603 ends here -rghosh
3414 
3415    -- Added the following check chaild existance for the HESA requirment - cdcruz
3416 
3417   OPEN c_hesa('IGS_HE_AD_DTL_ALL_PKG');
3418   FETCH c_hesa INTO l_hesa;
3419   IF c_hesa%FOUND THEN
3420     EXECUTE IMMEDIATE
3421    'BEGIN  igs_he_ad_dtl_all_pkg.get_fk_igs_ad_ps_appl_inst_all(:1,:2,:3,:4);  END;'
3422       USING
3423            old_references.person_id,
3424            old_references.admission_appl_number,
3425            old_references.nominated_course_cd,
3426            old_references.sequence_number ;
3427       CLOSE c_hesa;
3428   ELSE
3429     CLOSE c_hesa;
3430   END IF;
3431 
3432 
3433   END Check_Child_Existance;
3434 
3435   FUNCTION Get_PK_For_Validation (
3436     x_person_id IN NUMBER,
3437     x_admission_appl_number IN NUMBER,
3438     x_nominated_course_cd IN VARCHAR2,
3439     x_sequence_number IN NUMBER
3440     ) RETURN BOOLEAN IS
3441   /*************************************************************
3442   Created By :
3443   Date Created By :
3444   Purpose :
3445   Know limitations, enhancements or remarks
3446   Change History
3447   Who             When            What
3448   (reverse chronological order - newest change first)
3449   ***************************************************************/
3450     CURSOR cur_rowid IS
3451       SELECT   rowid
3452       FROM     igs_ad_ps_appl_inst_all
3453       WHERE    person_id = x_person_id
3454       AND      admission_appl_number = x_admission_appl_number
3455       AND      nominated_course_cd = x_nominated_course_cd
3456       AND      sequence_number = x_sequence_number
3457       FOR UPDATE NOWAIT;
3458     lv_rowid cur_rowid%RowType;
3459   BEGIN
3460     Open cur_rowid;
3461     Fetch cur_rowid INTO lv_rowid;
3462     IF (cur_rowid%FOUND) THEN
3463       Close cur_rowid;
3464       Return(TRUE);
3465     ELSE
3466       Close cur_rowid;
3467       Return(FALSE);
3468     END IF;
3469   END Get_PK_For_Validation;
3470 
3471   FUNCTION Get_PKNolock_For_Validation (
3472     x_person_id IN NUMBER,
3473     x_admission_appl_number IN NUMBER,
3474     x_nominated_course_cd IN VARCHAR2,
3475     x_sequence_number IN NUMBER
3476     ) RETURN BOOLEAN IS
3477   /*************************************************************
3478   Created By :
3479   Date Created By :
3480   Purpose :
3481   Know limitations, enhancements or remarks
3482   Change History
3483   Who             When            What
3484   (reverse chronological order - newest change first)
3485   ***************************************************************/
3486     CURSOR cur_rowid IS
3487       SELECT   rowid
3488       FROM     igs_ad_ps_appl_inst_all
3489       WHERE    person_id = x_person_id
3490       AND      admission_appl_number = x_admission_appl_number
3491       AND      nominated_course_cd = x_nominated_course_cd
3492       AND      sequence_number = x_sequence_number;
3493     lv_rowid cur_rowid%RowType;
3494   BEGIN
3495     Open cur_rowid;
3496     Fetch cur_rowid INTO lv_rowid;
3497     IF (cur_rowid%FOUND) THEN
3498       Close cur_rowid;
3499       Return(TRUE);
3500     ELSE
3501       Close cur_rowid;
3502       Return(FALSE);
3503     END IF;
3504   END Get_PKNolock_For_Validation;
3505 
3506   PROCEDURE Get_FK_Igs_Ad_Code_Classes (
3507     x_code_id IN NUMBER
3508     ) IS
3509   /*************************************************************
3510   Created By :
3511   Date Created By :
3512   Purpose :
3513   Know limitations, enhancements or remarks
3514   Change History
3515   Who             When            What
3516   (reverse chronological order - newest change first)
3517   ***************************************************************/
3518     CURSOR cur_rowid1 IS
3519       SELECT   rowid
3520       FROM     igs_ad_ps_appl_inst_all
3521       WHERE    pending_reason_id = x_code_id ;
3522     CURSOR cur_rowid2 IS
3523       SELECT   rowid
3524       FROM     igs_ad_ps_appl_inst_all
3525       WHERE    edu_goal_prior_enroll_id = x_code_id ;
3526     CURSOR cur_rowid3 IS
3527       SELECT   rowid
3528       FROM     igs_ad_ps_appl_inst_all
3529       WHERE    app_source_id = x_code_id ;
3530     CURSOR cur_rowid5 IS
3531       SELECT   rowid
3532       FROM     igs_ad_ps_appl_inst_all
3533       WHERE    decision_reason_id = x_code_id ;
3534     CURSOR cur_rowid6 IS
3535       SELECT   rowid
3536       FROM     igs_ad_ps_appl_inst_all
3537       WHERE    entry_status = x_code_id ;
3538     CURSOR cur_rowid7 IS
3539       SELECT   rowid
3540       FROM     igs_ad_ps_appl_inst_all
3541       WHERE    entry_level = x_code_id ;
3542     lv_rowid cur_rowid1%RowType;
3543   BEGIN
3544     Open cur_rowid1;
3545     Fetch cur_rowid1 INTO lv_rowid;
3546     IF (cur_rowid1%FOUND) THEN
3547       Close cur_rowid1;
3548       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ACDC_FK1');
3549       IGS_GE_MSG_STACK.ADD;
3550       App_Exception.Raise_Exception;
3551       Return;
3552     END IF;
3553     Close cur_rowid1;
3554     Open cur_rowid2;
3555     Fetch cur_rowid2 INTO lv_rowid;
3556     IF (cur_rowid2%FOUND) THEN
3557       Close cur_rowid2;
3558       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ACDC_FK2');
3559       IGS_GE_MSG_STACK.ADD;
3560       App_Exception.Raise_Exception;
3561       Return;
3562     END IF;
3563     Close cur_rowid2;
3564     Open cur_rowid3;
3565     Fetch cur_rowid3 INTO lv_rowid;
3566     IF (cur_rowid3%FOUND) THEN
3567       Close cur_rowid3;
3568       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ACDC_FK3');
3569       IGS_GE_MSG_STACK.ADD;
3570       App_Exception.Raise_Exception;
3571       Return;
3572     END IF;
3573     Close cur_rowid3;
3574     Open cur_rowid5;
3575     Fetch cur_rowid5 INTO lv_rowid;
3576     IF (cur_rowid5%FOUND) THEN
3577       Close cur_rowid5;
3578       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ACDC_FK5');
3579       IGS_GE_MSG_STACK.ADD;
3580       App_Exception.Raise_Exception;
3581       Return;
3582     END IF;
3583     Close cur_rowid5;
3584     Open cur_rowid6;
3585     Fetch cur_rowid6 INTO lv_rowid;
3586     IF (cur_rowid6%FOUND) THEN
3587       Close cur_rowid6;
3588       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ACDC_FK6');
3589       IGS_GE_MSG_STACK.ADD;
3590       App_Exception.Raise_Exception;
3591       Return;
3592     END IF;
3593     Close cur_rowid6;
3594     Open cur_rowid7;
3595     Fetch cur_rowid7 INTO lv_rowid;
3596     IF (cur_rowid7%FOUND) THEN
3597       Close cur_rowid7;
3598       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ACDC_FK7');
3599       IGS_GE_MSG_STACK.ADD;
3600       App_Exception.Raise_Exception;
3601       Return;
3602     END IF;
3603     Close cur_rowid7;
3604   END Get_FK_Igs_Ad_Code_Classes;
3605 
3606   PROCEDURE Get_FK_Igs_Or_Institution (
3607     x_institution_cd IN VARCHAR2
3608     ) IS
3609   /*************************************************************
3610   Created By :
3611   Date Created By :
3612   Purpose :
3613   Know limitations, enhancements or remarks
3614   Change History
3615   Who             When            What
3616   (reverse chronological order - newest change first)
3617   ***************************************************************/
3618     CURSOR cur_rowid IS
3619       SELECT   rowid
3620       FROM     igs_ad_ps_appl_inst_all
3621       WHERE    attent_other_inst_cd = x_institution_cd ;
3622     lv_rowid cur_rowid%RowType;
3623   BEGIN
3624     Open cur_rowid;
3625     Fetch cur_rowid INTO lv_rowid;
3626     IF (cur_rowid%FOUND) THEN
3627       Close cur_rowid;
3628       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_OI_FK');
3629       IGS_GE_MSG_STACK.ADD;
3630       App_Exception.Raise_Exception;
3631       Return;
3632     END IF;
3633     Close cur_rowid;
3634   END Get_FK_Igs_Or_Institution;
3635 
3636   PROCEDURE Get_FK_Igs_Pe_Person (
3637     x_person_id IN NUMBER
3638     ) IS
3639   /*************************************************************
3640   Created By :
3641   Date Created By :
3642   Purpose :
3643   Know limitations, enhancements or remarks
3644   Change History
3645   Who             When            What
3646   (reverse chronological order - newest change first)
3647   ***************************************************************/
3648     CURSOR cur_rowid1 IS
3649       SELECT   rowid
3650       FROM     IGS_AD_PS_APPL_INST_ALL
3651       WHERE    person_id = x_person_id ;
3652     CURSOR cur_rowid2 IS
3653       SELECT   rowid
3654       FROM     igs_ad_ps_appl_inst_all
3655       WHERE    decision_make_id = x_person_id ;
3656     lv_rowid cur_rowid1%RowType;
3657   BEGIN
3658     Open cur_rowid1;
3659     Fetch cur_rowid1 INTO lv_rowid;
3660     IF (cur_rowid1%FOUND) THEN
3661       Close cur_rowid1;
3662       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_PE_FK');
3663       IGS_GE_MSG_STACK.ADD;
3664       App_Exception.Raise_Exception;
3665       Return;
3666     END IF;
3667     Close cur_rowid1;
3668     Open cur_rowid2;
3669     Fetch cur_rowid2 INTO lv_rowid;
3670     IF (cur_rowid2%FOUND) THEN
3671       Close cur_rowid2;
3672       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_PE_FK');
3673           IGS_GE_MSG_STACK.ADD;
3674       App_Exception.Raise_Exception;
3675       Return;
3676     END IF;
3677     Close cur_rowid2;
3678   END Get_FK_Igs_Pe_Person;
3679 
3680   PROCEDURE GET_FK_IGS_EN_ATD_MODE (
3681     x_attendance_mode IN VARCHAR2
3682     ) IS
3683     CURSOR cur_rowid IS
3684       SELECT   rowid
3685       FROM     IGS_AD_PS_APPL_INST_ALL
3686       WHERE    attendance_mode = x_attendance_mode ;
3687     lv_rowid cur_rowid%RowType;
3688   BEGIN
3689     Open cur_rowid;
3690     Fetch cur_rowid INTO lv_rowid;
3691     IF (cur_rowid%FOUND) THEN
3692       Close cur_rowid;
3693       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_AM_FK');
3694           IGS_GE_MSG_STACK.ADD;
3695       App_Exception.Raise_Exception;
3696       Return;
3697     END IF;
3698     Close cur_rowid;
3699   END GET_FK_IGS_EN_ATD_MODE;
3700 
3701 
3702   PROCEDURE GET_FK_IGS_AD_OFRDFRMT_STAT (
3703     x_adm_offer_dfrmnt_status IN VARCHAR2
3704     ) IS
3705     CURSOR cur_rowid IS
3706       SELECT   rowid
3707       FROM     IGS_AD_PS_APPL_INST_ALL
3708       WHERE    adm_offer_dfrmnt_status = x_adm_offer_dfrmnt_status ;
3709     lv_rowid cur_rowid%RowType;
3710   BEGIN
3711     Open cur_rowid;
3712     Fetch cur_rowid INTO lv_rowid;
3713     IF (cur_rowid%FOUND) THEN
3714       Close cur_rowid;
3715       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_AODS_FK');
3716           IGS_GE_MSG_STACK.ADD;
3717       App_Exception.Raise_Exception;
3718       Return;
3719     END IF;
3720     Close cur_rowid;
3721   END GET_FK_IGS_AD_OFRDFRMT_STAT;
3722 
3723 
3724   PROCEDURE GET_FK_IGS_AD_OFR_RESP_STAT (
3725     x_adm_offer_resp_status IN VARCHAR2
3726     ) IS
3727     CURSOR cur_rowid IS
3728       SELECT   rowid
3729       FROM     IGS_AD_PS_APPL_INST_ALL
3730       WHERE    adm_offer_resp_status = x_adm_offer_resp_status ;
3731     lv_rowid cur_rowid%RowType;
3732   BEGIN
3733     Open cur_rowid;
3734     Fetch cur_rowid INTO lv_rowid;
3735     IF (cur_rowid%FOUND) THEN
3736       Close cur_rowid;
3737       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_AORS_FK');
3738           IGS_GE_MSG_STACK.ADD;
3739       App_Exception.Raise_Exception;
3740       Return;
3741     END IF;
3742     Close cur_rowid;
3743   END GET_FK_IGS_AD_OFR_RESP_STAT;
3744 
3745 
3746   PROCEDURE GET_FK_IGS_AD_OU_STAT (
3747     x_adm_outcome_status IN VARCHAR2
3748     ) IS
3749     CURSOR cur_rowid IS
3750       SELECT   rowid
3751       FROM     IGS_AD_PS_APPL_INST_ALL
3752       WHERE    adm_outcome_status = x_adm_outcome_status ;
3753     lv_rowid cur_rowid%RowType;
3754   BEGIN
3755     Open cur_rowid;
3756     Fetch cur_rowid INTO lv_rowid;
3757     IF (cur_rowid%FOUND) THEN
3758       Close cur_rowid;
3759       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_AOS_FK');
3760           IGS_GE_MSG_STACK.ADD;
3761       App_Exception.Raise_Exception;
3762       Return;
3763     END IF;
3764     Close cur_rowid;
3765   END GET_FK_IGS_AD_OU_STAT;
3766 
3767   PROCEDURE GET_FK_IGS_EN_ATD_TYPE (
3768     x_attendance_type IN VARCHAR2
3769     ) IS
3770     CURSOR cur_rowid IS
3771       SELECT   rowid
3772       FROM     IGS_AD_PS_APPL_INST_ALL
3773       WHERE    attendance_type = x_attendance_type ;
3774     lv_rowid cur_rowid%RowType;
3775   BEGIN
3776     Open cur_rowid;
3777     Fetch cur_rowid INTO lv_rowid;
3778     IF (cur_rowid%FOUND) THEN
3779       Close cur_rowid;
3780       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ATT_FK');
3781           IGS_GE_MSG_STACK.ADD;
3782       App_Exception.Raise_Exception;
3783       Return;
3784     END IF;
3785     Close cur_rowid;
3786   END GET_FK_IGS_EN_ATD_TYPE;
3787 
3788   PROCEDURE GET_FK_IGS_CO_CAT (
3789     x_correspondence_cat IN VARCHAR2
3790     ) IS
3791     CURSOR cur_rowid IS
3792       SELECT   rowid
3793       FROM     IGS_AD_PS_APPL_INST_ALL
3794       WHERE    correspondence_cat  = x_correspondence_cat ;
3795     lv_rowid cur_rowid%RowType;
3796   BEGIN
3797     Open cur_rowid;
3798     Fetch cur_rowid INTO lv_rowid;
3799     IF (cur_rowid%FOUND) THEN
3800       Close cur_rowid;
3801       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_CC_FK');
3802           IGS_GE_MSG_STACK.ADD;
3803       App_Exception.Raise_Exception;
3804       Return;
3805     END IF;
3806     Close cur_rowid;
3807   END GET_FK_IGS_CO_CAT;
3808 
3809   PROCEDURE GET_FK_IGS_CA_INST (
3810     x_cal_type IN VARCHAR2,
3811     x_sequence_number IN NUMBER
3812     ) IS
3813    ------------------------------------------------------------------
3814    --Change History:
3815    --Who         When            What
3816    --smadathi    12-Feb-2002     Bug 2217104. Changed cursor cur_rowid
3817    --                            to add future_adm_cal_type,future_adm_ci_sequence_number,
3818    --                            future_acad_cal_type,future_acad_ci_sequence_number,
3819    -------------------------------------------------------------------
3820     CURSOR cur_rowid IS
3821       SELECT   rowid
3822       FROM     IGS_AD_PS_APPL_INST_ALL
3823       WHERE    (deferred_adm_cal_type = x_cal_type
3824       AND      deferred_adm_ci_sequence_num = x_sequence_number)
3825       OR       (adm_cal_type           = x_cal_type
3826       AND       adm_ci_sequence_number = x_sequence_number )
3827       OR       (future_acad_cal_type           = x_cal_type
3828       AND       future_acad_ci_sequence_number = x_sequence_number )
3829       OR       (future_adm_cal_type            = x_cal_type
3830       AND       future_adm_ci_sequence_number  = x_sequence_number );
3831 
3832     lv_rowid cur_rowid%RowType;
3833   BEGIN
3834     Open cur_rowid;
3835     Fetch cur_rowid INTO lv_rowid;
3836     IF (cur_rowid%FOUND) THEN
3837       Close cur_rowid;
3838       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_CI_FK');
3839           IGS_GE_MSG_STACK.ADD;
3840       App_Exception.Raise_Exception;
3841       Return;
3842     END IF;
3843     Close cur_rowid;
3844   END GET_FK_IGS_CA_INST;
3845 
3846   PROCEDURE GET_FK_IGS_PS_COURSE (
3847     x_course_cd IN VARCHAR2
3848     ) IS
3849     CURSOR cur_rowid IS
3850       SELECT   rowid
3851       FROM     IGS_AD_PS_APPL_INST_ALL
3852       WHERE    course_cd = x_course_cd ;
3853     lv_rowid cur_rowid%RowType;
3854   BEGIN
3855     Open cur_rowid;
3856     Fetch cur_rowid INTO lv_rowid;
3857     IF (cur_rowid%FOUND) THEN
3858       Close cur_rowid;
3859       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_CRS_FK');
3860           IGS_GE_MSG_STACK.ADD;
3861       App_Exception.Raise_Exception;
3862       Return;
3863     END IF;
3864     Close cur_rowid;
3865   END GET_FK_IGS_PS_COURSE;
3866 
3867   PROCEDURE GET_FK_IGS_PS_VER (
3868     x_course_cd IN VARCHAR2,
3869     x_version_number IN NUMBER
3870     ) IS
3871     CURSOR cur_rowid IS
3872       SELECT   rowid
3873       FROM     IGS_AD_PS_APPL_INST_ALL
3874       WHERE    course_cd = x_course_cd
3875       AND      crv_version_number = x_version_number ;
3876     lv_rowid cur_rowid%RowType;
3877   BEGIN
3878     Open cur_rowid;
3879     Fetch cur_rowid INTO lv_rowid;
3880     IF (cur_rowid%FOUND) THEN
3881       Close cur_rowid;
3882       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_CRV_FK');
3883           IGS_GE_MSG_STACK.ADD;
3884       App_Exception.Raise_Exception;
3885       Return;
3886     END IF;
3887     Close cur_rowid;
3888   END GET_FK_IGS_PS_VER;
3889 
3890   PROCEDURE GET_FK_IGS_EN_ENROLMENT_CAT (
3891     x_enrolment_cat IN VARCHAR2
3892     ) IS
3893     CURSOR cur_rowid IS
3894       SELECT   rowid
3895       FROM     IGS_AD_PS_APPL_INST_ALL
3896       WHERE    enrolment_cat = x_enrolment_cat ;
3897     lv_rowid cur_rowid%RowType;
3898   BEGIN
3899     Open cur_rowid;
3900     Fetch cur_rowid INTO lv_rowid;
3901     IF (cur_rowid%FOUND) THEN
3902       Close cur_rowid;
3903       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_EC_FK');
3904           IGS_GE_MSG_STACK.ADD;
3905       App_Exception.Raise_Exception;
3906       Return;
3907     END IF;
3908     Close cur_rowid;
3909   END GET_FK_IGS_EN_ENROLMENT_CAT;
3910 
3911   PROCEDURE GET_FK_IGS_FI_FEE_CAT (
3912     x_fee_cat IN VARCHAR2
3913     ) IS
3914     CURSOR cur_rowid IS
3915       SELECT   rowid
3916       FROM     IGS_AD_PS_APPL_INST_ALL
3917       WHERE    fee_cat = x_fee_cat ;
3918     lv_rowid cur_rowid%RowType;
3919   BEGIN
3920     Open cur_rowid;
3921     Fetch cur_rowid INTO lv_rowid;
3922     IF (cur_rowid%FOUND) THEN
3923       Close cur_rowid;
3924       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_FC_FK');
3925           IGS_GE_MSG_STACK.ADD;
3926       App_Exception.Raise_Exception;
3927       Return;
3928     END IF;
3929     Close cur_rowid;
3930   END GET_FK_IGS_FI_FEE_CAT;
3931 
3932   PROCEDURE GET_FK_IGS_FI_FUND_SRC (
3933     x_funding_source IN VARCHAR2
3934     ) IS
3935     CURSOR cur_rowid IS
3936       SELECT   rowid
3937       FROM     IGS_AD_PS_APPL_INST_ALL
3938       WHERE    funding_source = x_funding_source ;
3939     lv_rowid cur_rowid%RowType;
3940   BEGIN
3941     Open cur_rowid;
3942     Fetch cur_rowid INTO lv_rowid;
3943     IF (cur_rowid%FOUND) THEN
3944       Close cur_rowid;
3945       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_FS_FK');
3946           IGS_GE_MSG_STACK.ADD;
3947       App_Exception.Raise_Exception;
3948       Return;
3949     END IF;
3950     Close cur_rowid;
3951   END GET_FK_IGS_FI_FUND_SRC;
3952 
3953   PROCEDURE GET_FK_IGS_FI_HECS_PAY_OPTN (
3954     x_hecs_payment_option IN VARCHAR2
3955     ) IS
3956     CURSOR cur_rowid IS
3957       SELECT   rowid
3958       FROM     IGS_AD_PS_APPL_INST_ALL
3959       WHERE    hecs_payment_option = x_hecs_payment_option ;
3960     lv_rowid cur_rowid%RowType;
3961   BEGIN
3962     Open cur_rowid;
3963     Fetch cur_rowid INTO lv_rowid;
3964     IF (cur_rowid%FOUND) THEN
3965       Close cur_rowid;
3966       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_HPO_FK');
3967           IGS_GE_MSG_STACK.ADD;
3968       App_Exception.Raise_Exception;
3969       Return;
3970     END IF;
3971     Close cur_rowid;
3972   END GET_FK_IGS_FI_HECS_PAY_OPTN;
3973 
3974   PROCEDURE GET_FK_IGS_AD_LOCATION (
3975     x_location_cd IN VARCHAR2
3976     ) IS
3977     CURSOR cur_rowid IS
3978       SELECT   rowid
3979       FROM     IGS_AD_PS_APPL_INST_ALL
3980       WHERE    location_cd = x_location_cd ;
3981     lv_rowid cur_rowid%RowType;
3982   BEGIN
3983     Open cur_rowid;
3984     Fetch cur_rowid INTO lv_rowid;
3985     IF (cur_rowid%FOUND) THEN
3986       Close cur_rowid;
3987       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_LOC_FK');
3988           IGS_GE_MSG_STACK.ADD;
3989       App_Exception.Raise_Exception;
3990       Return;
3991     END IF;
3992     Close cur_rowid;
3993   END GET_FK_IGS_AD_LOCATION;
3994 
3995   PROCEDURE GET_FK_IGS_TR_ITEM (
3996     x_tracking_id IN NUMBER
3997     ) IS
3998     CURSOR cur_rowid IS
3999       SELECT   rowid
4000       FROM     IGS_AD_PS_APPL_INST_ALL
4001       WHERE    ass_tracking_id = x_tracking_id
4002          OR    deferred_tracking_id = x_tracking_id ;
4003     lv_rowid cur_rowid%RowType;
4004   BEGIN
4005     Open cur_rowid;
4006     Fetch cur_rowid INTO lv_rowid;
4007     IF (cur_rowid%FOUND) THEN
4008       Close cur_rowid;
4009       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_TRI_ASS_FK');
4010           IGS_GE_MSG_STACK.ADD;
4011       App_Exception.Raise_Exception;
4012       Return;
4013     END IF;
4014     Close cur_rowid;
4015   END GET_FK_IGS_TR_ITEM;
4016 
4017   PROCEDURE GET_FK_IGS_EN_UNIT_SET (
4018     x_unit_set_cd IN VARCHAR2,
4019     x_version_number IN NUMBER
4020     ) IS
4021     CURSOR cur_rowid IS
4022       SELECT   rowid
4023       FROM     IGS_AD_PS_APPL_INST_ALL
4024       WHERE    unit_set_cd = x_unit_set_cd
4025       AND      us_version_number = x_version_number ;
4026     lv_rowid cur_rowid%RowType;
4027   BEGIN
4028     Open cur_rowid;
4029     Fetch cur_rowid INTO lv_rowid;
4030     IF (cur_rowid%FOUND) THEN
4031       Close cur_rowid;
4032       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_US_FK');
4033           IGS_GE_MSG_STACK.ADD;
4034       App_Exception.Raise_Exception;
4035       Return;
4036     END IF;
4037     Close cur_rowid;
4038   END GET_FK_IGS_EN_UNIT_SET;
4039 
4040   -- begin oxford unit set code bug 5194658
4041     PROCEDURE GET_FK_IGS_PS_OFR_UNIT_SET (
4042       x_unit_set_cd IN VARCHAR2,
4043       x_version_number IN NUMBER,
4044       x_course_cd VARCHAR2,
4045       x_crv_version_number NUMBER,
4046       x_acad_cal_type VARCHAR2
4047       ) IS
4048       CURSOR cur_rowid IS
4049         SELECT   ainst.rowid
4050         FROM     IGS_AD_PS_APPL_INST_ALL ainst, IGS_AD_APPL_ALL apl
4051         WHERE    ainst.person_id              = apl.person_id
4052         AND      ainst.admission_appl_number  = apl.admission_appl_number
4053         AND      ainst.unit_set_cd            = x_unit_set_cd
4054         AND      ainst.us_version_number      = x_version_number
4055         AND      ainst.course_cd              = x_course_cd
4056         AND      ainst.crv_version_number     = x_crv_version_number
4057         AND      apl.acad_cal_type            = x_acad_cal_type ;
4058 
4059       lv_rowid cur_rowid%RowType;
4060     BEGIN
4061       Open cur_rowid;
4062       Fetch cur_rowid INTO lv_rowid;
4063       IF (cur_rowid%FOUND) THEN
4064         Close cur_rowid;
4065         Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_US_FK');
4066             IGS_GE_MSG_STACK.ADD;
4067         App_Exception.Raise_Exception;
4068         Return;
4069       END IF;
4070       Close cur_rowid;
4071     END GET_FK_IGS_PS_OFR_UNIT_SET;
4072    -- end oxford unit set code bug 5194658
4073 
4074 
4075 
4076   PROCEDURE GET_FK_IGS_AD_APPL (
4077     x_person_id IN NUMBER,
4078     x_admission_appl_number IN NUMBER
4079     ) IS
4080     CURSOR cur_rowid IS
4081       SELECT   rowid
4082       FROM     IGS_AD_PS_APPL_INST_ALL
4083       WHERE    person_id = x_person_id
4084       AND      admission_appl_number = x_admission_appl_number ;
4085     lv_rowid cur_rowid%RowType;
4086   BEGIN
4087     Open cur_rowid;
4088     Fetch cur_rowid INTO lv_rowid;
4089     IF (cur_rowid%FOUND) THEN
4090       Close cur_rowid;
4091       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_AA_FK');
4092           IGS_GE_MSG_STACK.ADD;
4093       App_Exception.Raise_Exception;
4094       Return;
4095     END IF;
4096     Close cur_rowid;
4097   END GET_FK_IGS_AD_APPL;
4098 
4099   PROCEDURE GET_FK_IGS_AD_PS_APPL (
4100     x_person_id IN NUMBER,
4101     x_admission_appl_number IN NUMBER,
4102     x_nominated_course_cd IN VARCHAR2
4103     ) IS
4104     CURSOR cur_rowid IS
4105       SELECT   rowid
4106       FROM     IGS_AD_PS_APPL_INST_ALL
4107       WHERE    person_id = x_person_id
4108       AND      admission_appl_number = x_admission_appl_number
4109       AND      nominated_course_cd = x_nominated_course_cd ;
4110     lv_rowid cur_rowid%RowType;
4111   BEGIN
4112     Open cur_rowid;
4113     Fetch cur_rowid INTO lv_rowid;
4114     IF (cur_rowid%FOUND) THEN
4115       Close cur_rowid;
4116       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ACA_FK');
4117           IGS_GE_MSG_STACK.ADD;
4118       App_Exception.Raise_Exception;
4119       Return;
4120     END IF;
4121     Close cur_rowid;
4122   END GET_FK_IGS_AD_PS_APPL;
4123 
4124   PROCEDURE GET_FK_IGS_AD_CNDNL_OFRSTAT (
4125     x_adm_cndtnl_offer_status IN VARCHAR2
4126     ) IS
4127     CURSOR cur_rowid IS
4128       SELECT   rowid
4129       FROM     IGS_AD_PS_APPL_INST_ALL
4130       WHERE    adm_cndtnl_offer_status = x_adm_cndtnl_offer_status ;
4131     lv_rowid cur_rowid%RowType;
4132   BEGIN
4133     Open cur_rowid;
4134     Fetch cur_rowid INTO lv_rowid;
4135     IF (cur_rowid%FOUND) THEN
4136       Close cur_rowid;
4137       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ACOS_FK');
4138           IGS_GE_MSG_STACK.ADD;
4139       App_Exception.Raise_Exception;
4140       Return;
4141     END IF;
4142     Close cur_rowid;
4143   END GET_FK_IGS_AD_CNDNL_OFRSTAT;
4144 
4145   PROCEDURE GET_FK_IGS_AD_DOC_STAT (
4146     x_adm_doc_status IN VARCHAR2
4147     ) IS
4148     CURSOR cur_rowid IS
4149       SELECT   rowid
4150       FROM     IGS_AD_PS_APPL_INST_ALL
4151       WHERE    adm_doc_status = x_adm_doc_status ;
4152     lv_rowid cur_rowid%RowType;
4153   BEGIN
4154     Open cur_rowid;
4155     Fetch cur_rowid INTO lv_rowid;
4156     IF (cur_rowid%FOUND) THEN
4157       Close cur_rowid;
4158       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ADS_FK');
4159           IGS_GE_MSG_STACK.ADD;
4160       App_Exception.Raise_Exception;
4161       Return;
4162     END IF;
4163     Close cur_rowid;
4164   END GET_FK_IGS_AD_DOC_STAT;
4165 
4166   PROCEDURE GET_FK_IGS_AD_ENT_QF_STAT (
4167     x_adm_entry_qual_status IN VARCHAR2
4168     ) IS
4169     CURSOR cur_rowid IS
4170       SELECT   rowid
4171       FROM     IGS_AD_PS_APPL_INST_ALL
4172       WHERE    adm_entry_qual_status = x_adm_entry_qual_status ;
4173     lv_rowid cur_rowid%RowType;
4174   BEGIN
4175     Open cur_rowid;
4176     Fetch cur_rowid INTO lv_rowid;
4177     IF (cur_rowid%FOUND) THEN
4178       Close cur_rowid;
4179       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_AEQS_FK');
4180           IGS_GE_MSG_STACK.ADD;
4181       App_Exception.Raise_Exception;
4182       Return;
4183     END IF;
4184     Close cur_rowid;
4185   END GET_FK_IGS_AD_ENT_QF_STAT;
4186 
4187   PROCEDURE GET_FK_IGS_AD_FEE_STAT (
4188     x_adm_fee_status IN VARCHAR2
4189     ) IS
4190     CURSOR cur_rowid IS
4191       SELECT   rowid
4192       FROM     IGS_AD_PS_APPL_INST_ALL
4193       WHERE    late_adm_fee_status = x_adm_fee_status ;
4194     lv_rowid cur_rowid%RowType;
4195   BEGIN
4196     Open cur_rowid;
4197     Fetch cur_rowid INTO lv_rowid;
4198     IF (cur_rowid%FOUND) THEN
4199       Close cur_rowid;
4200       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_AFS_FK');
4201           IGS_GE_MSG_STACK.ADD;
4202       App_Exception.Raise_Exception;
4203       Return;
4204     END IF;
4205     Close cur_rowid;
4206   END GET_FK_IGS_AD_FEE_STAT;
4207 
4208   PROCEDURE GET_FK_IGS_AD_SCHL_APLY_TO (
4209     x_sch_apl_to_id IN NUMBER
4210     ) IS
4211   /*************************************************************
4212   Created By : nsinha
4213   Date Created By : 30-Jul-2001
4214   Purpose :
4215   Know limitations, enhancements or remarks
4216   Change History
4217   Who             When            What
4218   (reverse chronological order - newest change first)
4219   ***************************************************************/
4220     CURSOR cur_rowid IS
4221       SELECT   rowid
4222       FROM     igs_ad_ps_appl_inst_all
4223       WHERE    sch_apl_to_id = x_sch_apl_to_id;
4224     lv_rowid cur_rowid%RowType;
4225   BEGIN
4226     Open cur_rowid;
4227     Fetch cur_rowid INTO lv_rowid;
4228     IF (cur_rowid%FOUND) THEN
4229       Close cur_rowid;
4230       Fnd_Message.Set_Name ('IGS', 'IGS_AD_ACAI_ASAT_FK');
4231       IGS_GE_MSG_STACK.ADD;
4232       App_Exception.Raise_Exception;
4233       Return;
4234     END IF;
4235     Close cur_rowid;
4236   END GET_FK_IGS_AD_SCHL_APLY_TO;
4237 
4238   PROCEDURE Before_DML (
4239     p_action IN VARCHAR2,
4240     x_rowid IN VARCHAR2,
4241     x_org_id IN NUMBER,
4242     x_person_id IN NUMBER,
4243     x_admission_appl_number IN NUMBER,
4244     x_nominated_course_cd IN VARCHAR2,
4245     x_sequence_number IN NUMBER,
4246     x_predicted_gpa IN NUMBER,
4247     x_academic_index IN VARCHAR2,
4248     x_adm_cal_type IN VARCHAR2,
4249     x_app_file_location IN VARCHAR2,
4250     x_adm_ci_sequence_number IN NUMBER,
4251     x_course_cd IN VARCHAR2,
4252     x_app_source_id IN NUMBER,
4253     x_crv_version_number IN NUMBER,
4254     x_waitlist_rank IN VARCHAR2,
4255     x_location_cd IN VARCHAR2,
4256     x_attent_other_inst_cd IN VARCHAR2,
4257     x_attendance_mode IN VARCHAR2,
4258     x_edu_goal_prior_enroll_id IN NUMBER,
4259     x_attendance_type IN VARCHAR2,
4260     x_decision_make_id IN NUMBER,
4261     x_unit_set_cd IN VARCHAR2,
4262     x_decision_date IN DATE,
4263     x_attribute_category IN VARCHAR2,
4264     x_attribute1 IN VARCHAR2,
4265     x_attribute2 IN VARCHAR2,
4266     x_attribute3 IN VARCHAR2,
4267     x_attribute4 IN VARCHAR2,
4268     x_attribute5 IN VARCHAR2,
4269     x_attribute6 IN VARCHAR2,
4270     x_attribute7 IN VARCHAR2,
4271     x_attribute8 IN VARCHAR2,
4272     x_attribute9 IN VARCHAR2,
4273     x_attribute10 IN VARCHAR2,
4274     x_attribute11 IN VARCHAR2,
4275     x_attribute12 IN VARCHAR2,
4276     x_attribute13 IN VARCHAR2,
4277     x_attribute14 IN VARCHAR2,
4278     x_attribute15 IN VARCHAR2,
4279     x_attribute16 IN VARCHAR2,
4280     x_attribute17 IN VARCHAR2,
4281     x_attribute18 IN VARCHAR2,
4282     x_attribute19 IN VARCHAR2,
4283     x_attribute20 IN VARCHAR2,
4284     x_decision_reason_id IN NUMBER,
4285     x_us_version_number IN NUMBER,
4286     x_decision_notes IN VARCHAR2,
4287     x_pending_reason_id IN NUMBER,
4288     x_preference_number IN NUMBER,
4289     x_adm_doc_status IN VARCHAR2,
4290     x_adm_entry_qual_status IN VARCHAR2,
4291     x_deficiency_in_prep IN VARCHAR2,
4292     x_late_adm_fee_status IN VARCHAR2,
4293     x_spl_consider_comments IN VARCHAR2,
4294     x_apply_for_finaid IN VARCHAR2,
4295     x_finaid_apply_date IN DATE,
4296     x_adm_outcome_status IN VARCHAR2,
4297     x_adm_otcm_stat_auth_per_id IN NUMBER,
4298     x_adm_outcome_status_auth_dt IN DATE,
4299     x_adm_outcome_status_reason IN VARCHAR2,
4300     x_offer_dt IN DATE,
4301     x_offer_response_dt IN DATE,
4302     x_prpsd_commencement_dt IN DATE,
4303     x_adm_cndtnl_offer_status IN VARCHAR2,
4304     x_cndtnl_offer_satisfied_dt IN DATE,
4305     x_cndnl_ofr_must_be_stsfd_ind IN VARCHAR2,
4306     x_adm_offer_resp_status IN VARCHAR2,
4307     x_actual_response_dt IN DATE,
4308     x_adm_offer_dfrmnt_status IN VARCHAR2,
4309     x_deferred_adm_cal_type IN VARCHAR2,
4310     x_deferred_adm_ci_sequence_num IN NUMBER,
4311     x_deferred_tracking_id IN NUMBER,
4312     x_ass_rank IN NUMBER,
4313     x_secondary_ass_rank IN NUMBER,
4314     x_intr_accept_advice_num IN NUMBER,
4315     x_ass_tracking_id IN NUMBER,
4316     x_fee_cat IN VARCHAR2,
4317     x_hecs_payment_option IN VARCHAR2,
4318     x_expected_completion_yr IN NUMBER,
4319     x_expected_completion_perd IN VARCHAR2,
4320     x_correspondence_cat IN VARCHAR2,
4321     x_enrolment_cat IN VARCHAR2,
4322     x_funding_source IN VARCHAR2,
4323     x_applicant_acptnce_cndtn IN VARCHAR2,
4324     x_cndtnl_offer_cndtn IN VARCHAR2,
4325     x_creation_date IN DATE,
4326     x_created_by IN NUMBER,
4327     x_last_update_date IN DATE,
4328     x_last_updated_by IN NUMBER,
4329     x_last_update_login IN NUMBER,
4330     x_ss_application_id IN VARCHAR2,
4331     x_ss_pwd IN VARCHAR2,
4332     X_AUTHORIZED_DT IN DATE,
4333     X_AUTHORIZING_PERS_ID IN NUMBER,
4334     x_entry_status IN NUMBER,
4335     x_entry_level IN NUMBER,
4336     x_sch_apl_to_id IN NUMBER,
4337     x_idx_calc_date IN DATE,
4338     x_waitlist_status IN VARCHAR2,
4339         x_attribute21 IN VARCHAR2,
4340     x_attribute22 IN VARCHAR2,
4341     x_attribute23 IN VARCHAR2,
4342     x_attribute24 IN VARCHAR2,
4343     x_attribute25 IN VARCHAR2,
4344     x_attribute26 IN VARCHAR2,
4345     x_attribute27 IN VARCHAR2,
4346     x_attribute28 IN VARCHAR2,
4347     x_attribute29 IN VARCHAR2,
4348     x_attribute30 IN VARCHAR2,
4349     x_attribute31 IN VARCHAR2,
4350     x_attribute32 IN VARCHAR2,
4351     x_attribute33 IN VARCHAR2,
4352     x_attribute34 IN VARCHAR2,
4353     x_attribute35 IN VARCHAR2,
4354     x_attribute36 IN VARCHAR2,
4355     x_attribute37 IN VARCHAR2,
4356     x_attribute38 IN VARCHAR2,
4357     x_attribute39 IN VARCHAR2,
4358     x_attribute40 IN VARCHAR2,
4359     x_fut_acad_cal_type           IN VARCHAR2,
4360     x_fut_acad_ci_sequence_number IN NUMBER  ,
4361     x_fut_adm_cal_type            IN VARCHAR2,
4362     x_fut_adm_ci_sequence_number  IN NUMBER  ,
4363     x_prev_term_adm_appl_number  IN NUMBER  ,
4364     x_prev_term_sequence_number  IN NUMBER  ,
4365     x_fut_term_adm_appl_number    IN NUMBER  ,
4366     x_fut_term_sequence_number    IN NUMBER  ,
4367       x_def_acad_cal_type IN VARCHAR2,
4368       x_def_acad_ci_sequence_num  IN NUMBER  ,
4369       x_def_prev_term_adm_appl_num  IN NUMBER  ,
4370       x_def_prev_appl_sequence_num  IN NUMBER  ,
4371       x_def_term_adm_appl_num  IN NUMBER  ,
4372       x_def_appl_sequence_num  IN NUMBER  ,
4373       x_appl_inst_status	IN VARCHAR2,						--arvsrini igsm
4374       x_ais_reason		IN VARCHAR2,
4375       x_decline_ofr_reason	IN VARCHAR2
4376   ) IS
4377   /*************************************************************
4378   Created By : nsinha
4379   Date Created By :
4380   Purpose :
4381   Know limitations, enhancements or remarks
4382   Change History
4383   Who               When            What
4384   (reverse chronological order - newest change first)
4385   nsinha         Jul 30, 2001     Bug enh no : 1905651 changes.
4386                                   Added entry_status, entry_level and sch_apl_to_id
4387                                   to the procedures
4388   pbondugu     02-Apr-2003	Validation is added for checking whether application date
4389 				        is less than adm_outcome_status_auth_dt,offer_dt,idx_calc_date
4390   rghosh       03-apr-2003     Added the code for getting the new offer response status for an UCAS application
4391                                                        bug# 2860860 (UCAS Conditional Offer build)
4392   pbondugu     23-Apr-2003	Validation  for checking whether application date
4393 				        is less than adm_outcome_status_auth_dt,offer_dt,idx_calc_date
4394 					is moved to BeforeRowInsertUpdateDelete1
4395   akadam       06-OCT-2003      BUG: 3160184 Removed check on  adm_offer_resp_status for System status
4396                                      of Accepted
4397   ***************************************************************/
4398 
4399 
4400  --rghosh bug# 2860860 (UCAS Conditional Offer build)
4401  -- cursor to fetch the alt_appl_id and choice number for the current Admission Application
4402  CURSOR c_get_appl_details (cp_person_id   igs_ad_appl. person_id %TYPE,
4403                             cp_admission_appl_number    igs_ad_appl. admission_appl_number%TYPE) IS
4404  SELECT alt_appl_id, choice_number,s_admission_process_type
4405  FROM igs_ad_appl
4406  WHERE person_id = cp_person_id AND
4407        admission_appl_number = cp_admission_appl_number;
4408 
4409  c_get_appl_details_rec      c_get_appl_details%ROWTYPE;
4410  l_message_name VARCHAR2(30);
4411  l_adm_offer_resp_status igs_ad_ps_appl_inst_all.adm_offer_resp_status%TYPE;
4412 
4413  --- begin apadegal ADTD001 RE-OPEN Build  igs.m
4414 CURSOR cur_reconsider IS
4415 SELECT   req_for_reconsideration_ind
4416 FROM     IGS_AD_PS_APPL_ALL apl
4417 WHERE   apl.person_id = new_references.person_id
4418 AND     apl.admission_appl_number = new_references.admission_appl_number
4419 AND     apl.nominated_course_cd = new_references.nominated_course_cd ;
4420 
4421 l_is_inst_reconsidered VARCHAR2(1) DEFAULT NULL;
4422 --- end apadegal ADTD001 RE-OPEN Build  igs.m
4423 
4424   BEGIN
4425 
4426     Set_Column_Values (
4427       p_action,
4428       x_rowid,
4429       x_org_id,
4430       x_person_id,
4431       x_admission_appl_number,
4432       x_nominated_course_cd,
4433       x_sequence_number,
4434       x_predicted_gpa,
4435       x_academic_index,
4436       x_adm_cal_type,
4437       x_app_file_location,
4438       x_adm_ci_sequence_number,
4439       x_course_cd,
4440       x_app_source_id,
4441       x_crv_version_number,
4442       x_waitlist_rank,
4443       x_location_cd,
4444       x_attent_other_inst_cd,
4445       x_attendance_mode,
4446       x_edu_goal_prior_enroll_id,
4447       x_attendance_type,
4448       x_decision_make_id,
4449       x_unit_set_cd,
4450       x_decision_date,
4451       x_attribute_category,
4452       x_attribute1,
4453       x_attribute2,
4454       x_attribute3,
4455       x_attribute4,
4456       x_attribute5,
4457       x_attribute6,
4458       x_attribute7,
4459       x_attribute8,
4460       x_attribute9,
4461       x_attribute10,
4462       x_attribute11,
4463       x_attribute12,
4464       x_attribute13,
4465       x_attribute14,
4466       x_attribute15,
4467       x_attribute16,
4468       x_attribute17,
4469       x_attribute18,
4470       x_attribute19,
4471       x_attribute20,
4472       x_decision_reason_id,
4473       x_us_version_number,
4474       x_decision_notes,
4475       x_pending_reason_id,
4476       x_preference_number,
4477       x_adm_doc_status,
4478       x_adm_entry_qual_status,
4479       x_deficiency_in_prep,
4480       x_late_adm_fee_status,
4481       x_spl_consider_comments,
4482       x_apply_for_finaid,
4483       x_finaid_apply_date,
4484       x_adm_outcome_status,
4485       x_adm_otcm_stat_auth_per_id,
4486       x_adm_outcome_status_auth_dt,
4487       x_adm_outcome_status_reason,
4488       x_offer_dt,
4489       x_offer_response_dt,
4490       x_prpsd_commencement_dt,
4491       x_adm_cndtnl_offer_status,
4492       x_cndtnl_offer_satisfied_dt,
4493       x_cndnl_ofr_must_be_stsfd_ind,
4494       x_adm_offer_resp_status,
4495       x_actual_response_dt,
4496       x_adm_offer_dfrmnt_status,
4497       x_deferred_adm_cal_type,
4498       x_deferred_adm_ci_sequence_num,
4499       x_deferred_tracking_id,
4500       x_ass_rank,
4501       x_secondary_ass_rank,
4502       x_intr_accept_advice_num,
4503       x_ass_tracking_id,
4504       x_fee_cat,
4505       x_hecs_payment_option,
4506       x_expected_completion_yr,
4507       x_expected_completion_perd,
4508       x_correspondence_cat,
4509       x_enrolment_cat,
4510       x_funding_source,
4511       x_applicant_acptnce_cndtn,
4512       x_cndtnl_offer_cndtn,
4513       x_creation_date,
4514       x_created_by,
4515       x_last_update_date,
4516       x_last_updated_by,
4517       x_last_update_login,
4518       x_ss_application_id,
4519       x_ss_pwd ,
4520       X_AUTHORIZED_DT,
4521       X_AUTHORIZING_PERS_ID,
4522       x_entry_status,
4523       x_entry_level,
4524       x_sch_apl_to_id,
4525       x_idx_calc_date,
4526       x_waitlist_status,
4527       x_attribute21,
4528       x_attribute22,
4529       x_attribute23,
4530       x_attribute24,
4531       x_attribute25,
4532       x_attribute26,
4533       x_attribute27,
4534       x_attribute28,
4535       x_attribute29,
4536       x_attribute30,
4537       x_attribute31,
4538       x_attribute32,
4539       x_attribute33,
4540       x_attribute34,
4541       x_attribute35,
4542       x_attribute36,
4543       x_attribute37,
4544       x_attribute38,
4545       x_attribute39,
4546       x_attribute40,
4547       x_fut_acad_cal_type,
4548       x_fut_acad_ci_sequence_number,
4549       x_fut_adm_cal_type,
4550       x_fut_adm_ci_sequence_number,
4551       x_prev_term_adm_appl_number,
4552       x_prev_term_sequence_number,
4553       x_fut_term_adm_appl_number,
4554       x_fut_term_sequence_number,
4555       x_def_acad_cal_type,
4556       x_def_acad_ci_sequence_num,
4557       x_def_prev_term_adm_appl_num,
4558       x_def_prev_appl_sequence_num,
4559       x_def_term_adm_appl_num,
4560       x_def_appl_sequence_num,
4561       x_appl_inst_status,									--arvsrini igsm
4562       x_ais_reason,
4563       x_decline_ofr_reason
4564     );
4565     IF (p_action = 'INSERT') THEN
4566       -- Call all the procedures related to Before Insert.
4567       IF Get_Pk_For_Validation(
4568            new_references.person_id,
4569            new_references.admission_appl_number,
4570            new_references.nominated_course_cd,
4571            new_references.sequence_number)  THEN
4572         Fnd_Message.Set_name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
4573         IGS_GE_MSG_STACK.ADD;
4574         App_Exception.Raise_Exception;
4575       END IF;
4576       Check_Constraints;
4577       Check_Parent_Existance;
4578       BeforeRowInsertUpdateDelete1 ( p_inserting => TRUE , p_updating => FALSE, p_deleting=> FALSE);
4579     ELSIF (p_action = 'UPDATE') THEN
4580 
4581 	--- begin apadegal ADTD001 RE-OPEN Build  igs.m
4582 	OPEN cur_reconsider;
4583 	FETCH cur_reconsider INTO   l_is_inst_reconsidered;
4584 	CLOSE  cur_reconsider;
4585 	--- end apadegal ADTD001 RE-OPEN Build  igs.m
4586 
4587       IF NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(old_references.adm_outcome_status), 'NONE') = 'CANCELLED'
4588          AND (NVL(l_is_inst_reconsidered,'N') <> 'Y')       -- APADEGAL (IGS.M) - CANCELLED instance can be updated while reconsideration.
4589       THEN
4590         Fnd_Message.Set_name('IGS','IGS_AD_NOT_UPD_CANCEL_APPLINST');
4591         IGS_GE_MSG_STACK.ADD;
4592         App_Exception.Raise_Exception;
4593       END IF;
4594       IF NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), 'NONE') <> 'CANCELLED' THEN
4595 
4596       -- rghosh bug# 2860860 (UCAS Conditional Offer build)
4597       -- if the application is UK one and old admission outcome status is mapped to system outcome status of COND-OFFER
4598       -- and the new admission outcome status is mapped to system outcome status of OFFER
4599       -- and the old offer response status is mapped to that UCAS decision code which is in turn mapped to system outcome status of COND-OFFER
4600       -- and UCAS reply code of Firm Acceptance then it returns a new offer response status that is mapped to that UCAS decision code which is in turn
4601       -- mapped to system outcome status of OFFER and UCAS reply code of Firm Acceptance.
4602         IF fnd_profile.value('OSS_COUNTRY_CODE')  = 'GB' AND
4603               (NVL(igs_ad_gen_008.admp_get_saos(old_references.adm_outcome_status), 'NONE') = 'COND-OFFER') AND
4604               (NVL(igs_ad_gen_008.admp_get_saos(new_references.adm_outcome_status), 'NONE') = 'OFFER')  THEN
4605 
4606                  OPEN c_get_appl_details (new_references.person_id,new_references.admission_appl_number);
4607                  FETCH c_get_appl_details INTO c_get_appl_details_rec;
4608                  CLOSE c_get_appl_details;
4609                  IF c_get_appl_details_rec.alt_appl_id IS NOT NULL AND
4610                     c_get_appl_details_rec.choice_number IS NOT NULL AND
4611 		    c_get_appl_details_rec.s_admission_process_type <> 'RE-ADMIT' THEN
4612                     l_adm_offer_resp_status := igs_uc_tran_processor_pkg.get_adm_offer_resp_stat(
4613                                                    c_get_appl_details_rec.alt_appl_id,
4614                                                    c_get_appl_details_rec.choice_number,
4615                                                    old_references.adm_outcome_status,
4616 		                                   new_references.adm_outcome_status,
4617                                                    old_references.adm_offer_resp_status,
4618 						   l_message_name);
4619                     IF l_message_name IS NOT NULL THEN
4620                        fnd_message.set_name('IGS',l_message_name);
4621                        igs_ge_msg_stack.add;
4622                     END IF;
4623 
4624             	    IF l_message_name IS NULL AND
4625                        IGS_AD_GEN_008.ADMP_GET_SAORS(l_adm_offer_resp_status) IS NOT NULL THEN -- Bug : 3160184 Removed the check on l_adm_offer_resp_status for ACCEPTED
4626                         new_references.adm_offer_resp_status := l_adm_offer_resp_status;
4627                         IF IGS_AD_GEN_008.ADMP_GET_SAORS(new_references.adm_offer_resp_status) NOT IN ('PENDING', 'LAPSED', 'NOT-APPLIC') THEN -- added this code for Bug : 3160184
4628                         new_references.actual_response_dt := TRUNC(SYSDATE);
4629                         END IF;
4630                     END IF;
4631 
4632                  END IF;
4633         END IF;
4634 
4635         -- Call all the procedures related to Before Update.
4636         Check_Constraints;
4637         Check_Parent_Existance;
4638         BeforeRowInsertUpdateDelete1 (p_inserting => FALSE, p_updating => TRUE , p_deleting => FALSE);
4639       END IF;
4640     ELSIF (p_action = 'DELETE') THEN
4641       -- Call all the procedures related to Before Delete.
4642       BeforeRowInsertUpdateDelete1 (p_inserting=> FALSE, p_updating => FALSE , p_deleting => TRUE );
4643       Check_Child_Existance;
4644     ELSIF (p_action = 'VALIDATE_INSERT') THEN
4645          -- Call all the procedures related to Before Insert.
4646       IF Get_Pk_For_Validation(
4647            new_references.person_id,
4648            new_references.admission_appl_number,
4649            new_references.nominated_course_cd,
4650            new_references.sequence_number)  THEN
4651         Fnd_Message.Set_name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
4652         IGS_GE_MSG_STACK.ADD;
4653         App_Exception.Raise_Exception;
4654       END IF;
4655       Check_Constraints;
4656     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
4657       IF NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), 'NONE') <> 'CANCELLED' THEN
4658         Check_Constraints;
4659       END IF;
4660     ELSIF (p_action = 'VALIDATE_DELETE') THEN
4661       Check_Child_Existance;
4662     END IF;
4663   END Before_DML;
4664 
4665   PROCEDURE After_DML (
4666     p_action                  IN VARCHAR2,
4667     x_rowid                   IN VARCHAR2
4668   ) IS
4669   /*************************************************************
4670   Created By :
4671   Date Created By :
4672   Purpose :
4673   Know limitations, enhancements or remarks
4674   Change History
4675   Who             When            What
4676   rasahoo       01-Sep-2003     Removed the private procedure IGF_UPDATE_DATA And
4677                                 Removed the call of IGF_UPDATE_DATA as part of the Build
4678                                 FA 114(Obsoletion of base record history)
4679   smadathi      19-Feb-2002     Bug 2217104. Added code as per ADM012,ADM016,ADM038.
4680   sjalasut      09-oct-01       added code here to calculate the initial and
4681                                 most recent term of admit
4682   sjadhav          jun 15,2001     this procedure is modified to trigger
4683                                    a Concurrent Request (IGFAPJ10) which
4684                                    will create a new record in IGF To do table
4685   Veereshwar.Dixit  07-AUG-2000     Added AfterRowUpdate call
4686   kamohan 8/2/02 Bug 2407628 Modified the logic comments whereever neccessary
4687   knag    23-JAN-2003 Modified population of admittance logic and code indents
4688   (reverse chronological order - newest change first)
4689   ***************************************************************/
4690     CURSOR c_get_init_recent(p_person_id IGS_PE_PERSON.PERSON_ID%TYPE) IS
4691       SELECT psv.init_cal_type, psv.init_sequence_number,
4692              psv.recent_cal_type, psv.recent_sequence_number,
4693              psv.catalog_cal_type, psv.catalog_sequence_number
4694       FROM   igs_pe_stat_details psv
4695       WHERE  psv.person_id = p_person_id;
4696 
4697     cv_get_init_recent c_get_init_recent%ROWTYPE;
4698 
4699     -- kamohan bug 2407628
4700     -- Added this cursor to check if there is an application instance already existing
4701     CURSOR appl_inst_exist_cur IS
4702       SELECT DISTINCT 1
4703       FROM   igs_ad_ps_appl_inst
4704       WHERE  row_id <> x_rowid
4705       AND person_id = new_references.person_id
4706       AND    igs_ad_gen_008.admp_get_saors (adm_offer_resp_status) IN ('ACCEPTED', 'DEFERRAL');
4707 
4708     l_appl_inst_exist_rec NUMBER;
4709 
4710     CURSOR c_adm_ca_seq_acad IS
4711       SELECT acad_cal_type, acad_ci_sequence_number
4712       FROM igs_ad_appl
4713       WHERE admission_appl_number =  new_references.admission_appl_number
4714       AND   person_id = new_references.person_id;
4715 
4716     cv_adm_ca_seq_acad c_adm_ca_seq_acad%ROWTYPE;
4717 
4718     CURSOR c_get_teach_period (p_acad_cal_type igs_ad_appl.acad_cal_type%TYPE,
4719                                p_acad_ci_sequence_number igs_ad_appl.acad_ci_sequence_number%TYPE) IS
4720       SELECT cr.sub_cal_type, cr.sub_ci_sequence_number
4721       FROM   igs_ca_inst_rel cr, igs_ca_type ct
4722       WHERE  ct.s_cal_cat ='TEACHING'
4723       AND    cr.sub_cal_type = ct.cal_type
4724       AND    cr.sup_cal_type = p_acad_cal_type
4725       AND    cr.sup_ci_sequence_number = p_acad_ci_sequence_number;
4726 
4727     cv_get_teach_period c_get_teach_period%ROWTYPE;
4728 
4729     CURSOR c_get_load_start_date (p_sub_cal_type igs_ca_inst.cal_type%TYPE,
4730 	                          p_sub_ci_sequence_number igs_ca_inst.sequence_number%TYPE) IS
4731       SELECT TRUNC(load_start_dt) load_start_dt, load_cal_type, load_ci_sequence_number
4732       FROM   igs_ca_teach_to_load_v ctl
4733       WHERE  ctl.teach_cal_type = p_sub_cal_type
4734       AND    ctl.teach_ci_sequence_number = p_sub_ci_sequence_number;
4735 
4736     cv_get_load_start_date c_get_load_start_date%ROWTYPE;
4737 
4738     --begin  ravi shar changes
4739 
4740      CURSOR c_recon_flag (cp_person_id IN NUMBER, cp_adm_application_num  IN NUMBER,
4741        cp_nomintaed_course_code IN VARCHAR2) IS
4742        SELECT REQ_FOR_RECONSIDERATION_IND
4743        FROM IGS_AD_PS_APPL_ALL
4744        WHERE PERSON_ID = cp_person_id
4745        AND ADMISSION_APPL_NUMBER = cp_adm_application_num
4746        AND NOMINATED_COURSE_CD = cp_nomintaed_course_code;
4747 
4748      l_req_for_reconsideration_ind IGS_AD_PS_APPL_ALL.REQ_FOR_RECONSIDERATION_IND%TYPE;
4749     -- end ravi shar changes
4750 
4751     -- kamohan Bug 2407628
4752     -- Added in order to avoid the hit to the database every time the records are looped through
4753     l_most_recent_profile VARCHAR2(200) ;
4754     l_catalog_profile VARCHAR2(200) ;
4755 
4756     l_load_init_start_date IGS_CA_TEACH_TO_LOAD_V.LOAD_START_DT%TYPE;
4757     l_load_init_cal_type IGS_CA_TEACH_TO_LOAD_V.LOAD_CAL_TYPE%TYPE;
4758     l_load_init_ci_sequence_number IGS_CA_TEACH_TO_LOAD_V.LOAD_CI_SEQUENCE_NUMBER%TYPE;
4759     l_recent_start_date IGS_CA_TEACH_TO_LOAD_V.LOAD_START_DT%TYPE;
4760     l_recent_cal_type IGS_CA_TEACH_TO_LOAD_V.LOAD_CAL_TYPE%TYPE;
4761     l_recent_ci_sequence_number IGS_CA_TEACH_TO_LOAD_V.LOAD_CI_SEQUENCE_NUMBER%TYPE;
4762 
4763     v_party_last_update_date hz_person_profiles.last_update_date%TYPE;
4764     lv_perosn_profile_id hz_person_profiles.person_profile_id%TYPE;
4765     v_return_status VARCHAR2(5);
4766     v_msg_count NUMBER;
4767     v_msg_data VARCHAR2(2000);
4768 
4769   BEGIN
4770 
4771     l_rowid := x_rowid;
4772     l_most_recent_profile := FND_PROFILE.VALUE('IGS_PE_RECENT_TERM');
4773     l_catalog_profile := FND_PROFILE.VALUE('IGS_PE_CATALOG');
4774     IF (p_action = 'INSERT') THEN
4775       -- Call all the procedures related to After Insert.
4776       AfterRowInsertUpdate2 ( p_inserting => TRUE,p_updating => FALSE,p_deleting=> FALSE );
4777       AfterRowInsert1 ( p_inserting => TRUE,p_updating => FALSE,p_deleting=> FALSE );
4778     ELSIF (p_action = 'UPDATE') THEN
4779       -- Call all the procedures related to After Update.
4780       IF NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), 'NONE') <> 'CANCELLED' THEN
4781         AfterRowInsertUpdate2 ( p_inserting=> FALSE,p_updating => TRUE,p_deleting=> FALSE );
4782       END IF;
4783       AfterRowUpdateDelete3 ( p_inserting=> FALSE,p_updating => TRUE,p_deleting=> FALSE );
4784       AfterRowUpdate1 ( p_inserting => FALSE,p_updating => TRUE,p_deleting=> FALSE );
4785       --Raise the buisness event if Application competion status has changed
4786       IF new_references.adm_doc_status <> old_references.adm_doc_status THEN
4787 
4788 	      igs_ad_wf_001.APPCOMP_STATUS_UPD_EVENT
4789 	      (
4790 --		P_ORG_ID                 =>     new_references.org_id,
4791 		P_PERSON_ID              =>     new_references.person_id,
4792 		P_ADMISSION_APPL_NUMBER  =>     new_references.admission_appl_number,
4793 		P_NOMINATED_COURSE_CD    =>     new_references.nominated_course_cd,
4794 		P_SEQUENCE_NUMBER        =>     new_references.sequence_number,
4795 		P_ADM_DOC_STATUS_NEW     =>     new_references.adm_doc_status,
4796 		P_ADM_DOC_STATUS_OLD     =>     old_references.adm_doc_status
4797 	      );
4798      END IF;
4799 
4800       IF new_references.adm_entry_qual_status <> old_references.adm_entry_qual_status THEN
4801 
4802 	      igs_ad_wf_001.ENTRY_QUAL_STATUS_UPD_EVENT
4803 	      (
4804 		   P_PERSON_ID			=>  new_references.person_id,
4805 		   P_ADMISSION_APPL_NUMBER	=>  new_references.admission_appl_number,
4806 		   P_NOMINATED_COURSE_CD	=>  new_references.nominated_course_cd,
4807 		   P_SEQUENCE_NUMBER		=>  new_references.sequence_number,
4808 		   P_ADM_ENTRY_QUAL_STATUS_NEW	=>  new_references.adm_entry_qual_status,
4809 		   P_ADM_ENTRY_QUAL_STATUS_OLD	=>  old_references.adm_entry_qual_status
4810 	      );
4811      END IF;
4812 
4813       IF new_references.late_adm_fee_status <> old_references.late_adm_fee_status THEN
4814 
4815 	      igs_ad_wf_001.LATE_ADM_FEE_STATUS_UPD_EVENT
4816 	      (
4817 		   P_PERSON_ID			=>  new_references.person_id,
4818 		   P_ADMISSION_APPL_NUMBER	=>  new_references.admission_appl_number,
4819 		   P_NOMINATED_COURSE_CD	=>  new_references.nominated_course_cd,
4820 		   P_SEQUENCE_NUMBER		=>  new_references.sequence_number,
4821 		   P_LATE_ADM_FEE_STATUS_NEW    =>  new_references.late_adm_fee_status,
4822 		   P_LATE_ADM_FEE_STATUS_OLD    =>  old_references.late_adm_fee_status
4823 	      );
4824      END IF;
4825       IF new_references.adm_cndtnl_offer_status <> old_references.adm_cndtnl_offer_status THEN
4826 
4827 	      igs_ad_wf_001.COND_OFFER_STATUS_UPD_EVENT
4828 	      (
4829 		   P_PERSON_ID			=>  new_references.person_id,
4830 		   P_ADMISSION_APPL_NUMBER	=>  new_references.admission_appl_number,
4831 		   P_NOMINATED_COURSE_CD	=>  new_references.nominated_course_cd,
4832 		   P_SEQUENCE_NUMBER		=>  new_references.sequence_number,
4833 		   P_ADM_CNDTNL_OFFER_STATUS_NEW=>  new_references.adm_cndtnl_offer_status,
4834 		   P_ADM_CNDTNL_OFFER_STATUS_OLD=>  old_references.adm_cndtnl_offer_status
4835 	      );
4836      END IF;
4837 
4838       IF new_references.adm_offer_dfrmnt_status <> old_references.adm_offer_dfrmnt_status THEN
4839 
4840 	      igs_ad_wf_001.OFFER_DEFER_STATUS_UPD_EVENT
4841 	      (
4842 		   P_PERSON_ID			=>  new_references.person_id,
4843 		   P_ADMISSION_APPL_NUMBER	=>  new_references.admission_appl_number,
4844 		   P_NOMINATED_COURSE_CD	=>  new_references.nominated_course_cd,
4845 		   P_SEQUENCE_NUMBER		=>  new_references.sequence_number,
4846 		   P_ADM_CAL_TYPE               => new_references.adm_cal_type,    	   -- ravi shar changes
4847                    P_ADM_CI_SEQUENCE_NUMBER     => new_references.adm_ci_sequence_number,  -- ravi shar changes
4848 		   P_ADM_OFFER_DFRMNT_STATUS_NEW=>  new_references.adm_offer_dfrmnt_status,
4849 		   P_ADM_OFFER_DFRMNT_STATUS_OLD=>  old_references.adm_offer_dfrmnt_status
4850 	      );
4851      END IF;
4852 
4853       IF new_references.waitlist_status <> old_references.waitlist_status THEN
4854 
4855 	      igs_ad_wf_001.WAITLIST_STATUS_UPD_EVENT
4856 	      (
4857 		   P_PERSON_ID			=>  new_references.person_id,
4858 		   P_ADMISSION_APPL_NUMBER	=>  new_references.admission_appl_number,
4859 		   P_NOMINATED_COURSE_CD	=>  new_references.nominated_course_cd,
4860 		   P_SEQUENCE_NUMBER		=>  new_references.sequence_number,
4861 		   P_WAITLIST_STATUS_NEW	=>  new_references.waitlist_status,
4862 		   P_WAITLIST_STATUS_OLD	=>  old_references.waitlist_status
4863 	      );
4864      END IF;
4865 
4866      IF new_references.adm_offer_resp_status <> old_references.adm_offer_resp_status  THEN
4867 	      igs_ad_offresp_status_wf.adm_offer_response_changed				--arvsrini igsm
4868 	      (
4869 		   P_PERSON_ID			=>  new_references.person_id,
4870 		   P_ADMISSION_APPL_NUMBER	=>  new_references.admission_appl_number,
4871 		   P_NOMINATED_COURSE_CD	=>  new_references.nominated_course_cd,
4872 		   P_SEQUENCE_NUMBER		=>  new_references.sequence_number,
4873 		   p_old_offresp_status 	=>  old_references.adm_offer_resp_status ,
4874 		   p_new_offresp_status		=>  new_references.adm_offer_resp_status
4875 	      );
4876      END IF;
4877 
4878 
4879 
4880       IF NVL(new_references.appl_inst_status,'X!@#$Y%') <> NVL(old_references.appl_inst_status,'X!@#$Y%') THEN
4881                igs_ad_wf_001.APP_INSTANCE_STATUS_UPD_EVENT
4882                (
4883                P_PERSON_ID                => new_references.person_id,
4884                P_ADMISSION_APPL_NUMBER        => new_references.admission_appl_number,
4885                P_NOMINATED_COURSE_CD        => new_references.nominated_course_cd,
4886                P_SEQUENCE_NUMBER                => new_references.sequence_number,
4887                P_APPL_INST_STATUS_NEW        => new_references.appl_inst_status,
4888                P_APPL_INST_STATUS_OLD        => old_references.appl_inst_status
4889                );
4890       END IF;
4891 
4892       -- begin ravi shar changes
4893 
4894       IF new_references.future_acad_cal_type <> old_references.future_acad_cal_type
4895           OR  new_references.future_adm_cal_type <> old_references.future_adm_cal_type THEN
4896       OPEN c_recon_flag(new_references.person_id,new_references.admission_appl_number,new_references.nominated_course_cd);
4897       FETCH c_recon_flag INTO l_req_for_reconsideration_ind;
4898       CLOSE c_recon_flag;
4899                igs_ad_wf_001.APP_RECON_FUT_REQ_UPD_EVENT
4900                (
4901                P_PERSON_ID                        => new_references.person_id,
4902                P_ADMISSION_APPL_NUMBER                => new_references.admission_appl_number,
4903                P_NOMINATED_COURSE_CD                => new_references.nominated_course_cd,
4904                P_SEQUENCE_NUMBER                        => new_references.sequence_number,
4905                P_ADM_OUTCOME_STATUS              => new_references.adm_outcome_status,
4906                P_ADM_OFFER_RESP_STATUS           => new_references.adm_offer_resp_status,
4907                P_FUTURE_ADM_CAL_TYPE_NEW         => new_references.future_adm_cal_type,
4908                P_FUTURE_ADM_CAL_TYPE_OLD         =>  old_references.future_adm_cal_type,
4909                P_FUTURE_ADM_CI_SEQU_NUM_NEW      => new_references.future_adm_ci_sequence_number,
4910                P_FUTURE_ADM_CI_SEQU_NUM_OLD      => old_references.future_adm_ci_sequence_number,
4911                P_FUTURE_ACAD_CAL_TYPE_NEW        =>  new_references.future_acad_cal_type,
4912                P_FUTURE_ACAD_CAL_TYPE_OLD        =>  old_references.future_acad_cal_type,
4913                P_FUTURE_ACAD_CI_SEQU_NUM_NEW     => new_references.future_acad_ci_sequence_number,
4914                P_FUTURE_ACAD_CI_SEQ_NUM_OLD      => old_references.future_acad_ci_sequence_number,
4915                P_REQ_FOR_RECONSIDERATION_IND     => l_req_for_reconsideration_ind
4916                );
4917 
4918       END IF;
4919 
4920       -- end ravi shar changes.
4921 
4922 
4923 
4924     ELSIF (p_action = 'DELETE') THEN
4925       -- Call all the procedures related to After Delete.
4926       AfterRowUpdateDelete3 (  p_inserting=> FALSE,p_updating => FALSE, p_deleting => TRUE );
4927     END IF;
4928 
4929     IF NVL(IGS_AD_GEN_008.ADMP_GET_SAOS(new_references.adm_outcome_status), 'NONE') <> 'CANCELLED' AND
4930        p_action IN ('INSERT','UPDATE') THEN
4931       -- This Funtion Gets the System Value of the Offer Response Status
4932        -- changed for person stats bug 5054301/3958556
4933       IF (igs_ad_gen_008.admp_get_saors (new_references.adm_offer_resp_status) = 'ACCEPTED' AND
4934           igs_ad_gen_008.admp_get_saors (old_references.adm_offer_resp_status) <> 'ACCEPTED')
4935       THEN
4936 
4937 	       -- Offer is Accepted
4938 	       igs_ad_upd_initialise.update_per_stats( new_references.person_id,
4939                                                        new_references.admission_appl_number,
4940                                                        'A'
4941 						     );
4942 
4943       ELSIF (igs_ad_gen_008.admp_get_saors (new_references.adm_offer_resp_status) <> 'ACCEPTED' AND
4944              igs_ad_gen_008.admp_get_saors (old_references.adm_offer_resp_status) = 'ACCEPTED')
4945       THEN
4946 	      -- Accepted offer is reopened/ or Accepted application is reconsidered
4947               igs_ad_upd_initialise.update_per_stats( new_references.person_id,
4948 						      new_references.admission_appl_number,
4949 						      'R'
4950 						    );
4951 
4952       END IF;
4953 
4954     END IF;
4955   END After_DML;
4956 
4957  procedure INSERT_ROW (
4958       X_ROWID in out NOCOPY VARCHAR2,
4959         X_ORG_ID in NUMBER,
4960        x_PERSON_ID IN NUMBER,
4961        x_ADMISSION_APPL_NUMBER IN NUMBER,
4962        x_NOMINATED_COURSE_CD IN VARCHAR2,
4963        x_SEQUENCE_NUMBER IN NUMBER,
4964        x_PREDICTED_GPA IN NUMBER,
4965        x_ACADEMIC_INDEX IN VARCHAR2,
4966        x_ADM_CAL_TYPE IN VARCHAR2,
4967        x_APP_FILE_LOCATION IN VARCHAR2,
4968        x_ADM_CI_SEQUENCE_NUMBER IN NUMBER,
4969        x_COURSE_CD IN VARCHAR2,
4970        x_APP_SOURCE_ID IN NUMBER,
4971        x_CRV_VERSION_NUMBER IN NUMBER,
4972        x_WAITLIST_RANK IN VARCHAR2,
4973        x_LOCATION_CD IN VARCHAR2,
4974        x_ATTENT_OTHER_INST_CD IN VARCHAR2,
4975        x_ATTENDANCE_MODE IN VARCHAR2,
4976        x_EDU_GOAL_PRIOR_ENROLL_ID IN NUMBER,
4977        x_ATTENDANCE_TYPE IN VARCHAR2,
4978        x_DECISION_MAKE_ID IN NUMBER,
4979        x_UNIT_SET_CD IN VARCHAR2,
4980        x_DECISION_DATE IN DATE,
4981        x_ATTRIBUTE_CATEGORY IN VARCHAR2,
4982        x_ATTRIBUTE1 IN VARCHAR2,
4983        x_ATTRIBUTE2 IN VARCHAR2,
4984        x_ATTRIBUTE3 IN VARCHAR2,
4985        x_ATTRIBUTE4 IN VARCHAR2,
4986        x_ATTRIBUTE5 IN VARCHAR2,
4987        x_ATTRIBUTE6 IN VARCHAR2,
4988        x_ATTRIBUTE7 IN VARCHAR2,
4989        x_ATTRIBUTE8 IN VARCHAR2,
4990        x_ATTRIBUTE9 IN VARCHAR2,
4991        x_ATTRIBUTE10 IN VARCHAR2,
4992        x_ATTRIBUTE11 IN VARCHAR2,
4993        x_ATTRIBUTE12 IN VARCHAR2,
4994        x_ATTRIBUTE13 IN VARCHAR2,
4995        x_ATTRIBUTE14 IN VARCHAR2,
4996        x_ATTRIBUTE15 IN VARCHAR2,
4997        x_ATTRIBUTE16 IN VARCHAR2,
4998        x_ATTRIBUTE17 IN VARCHAR2,
4999        x_ATTRIBUTE18 IN VARCHAR2,
5000        x_ATTRIBUTE19 IN VARCHAR2,
5001        x_ATTRIBUTE20 IN VARCHAR2,
5002        x_DECISION_REASON_ID IN NUMBER,
5003        x_US_VERSION_NUMBER IN NUMBER,
5004        x_DECISION_NOTES IN VARCHAR2,
5005        x_PENDING_REASON_ID IN NUMBER,
5006        x_PREFERENCE_NUMBER IN NUMBER,
5007        x_ADM_DOC_STATUS IN VARCHAR2,
5008        x_ADM_ENTRY_QUAL_STATUS IN VARCHAR2,
5009        x_DEFICIENCY_IN_PREP IN VARCHAR2,
5010        x_LATE_ADM_FEE_STATUS IN VARCHAR2,
5011        x_SPL_CONSIDER_COMMENTS IN VARCHAR2,
5012        x_APPLY_FOR_FINAID IN VARCHAR2,
5013        x_FINAID_APPLY_DATE IN DATE,
5014        x_ADM_OUTCOME_STATUS IN VARCHAR2,
5015        x_adm_otcm_stat_auth_per_id IN NUMBER,
5016        x_ADM_OUTCOME_STATUS_AUTH_DT IN DATE,
5017        x_ADM_OUTCOME_STATUS_REASON IN VARCHAR2,
5018        x_OFFER_DT IN DATE,
5019        x_OFFER_RESPONSE_DT IN DATE,
5020        x_PRPSD_COMMENCEMENT_DT IN DATE,
5021        x_ADM_CNDTNL_OFFER_STATUS IN VARCHAR2,
5022        x_CNDTNL_OFFER_SATISFIED_DT IN DATE,
5023        x_cndnl_ofr_must_be_stsfd_ind IN VARCHAR2,
5024        x_ADM_OFFER_RESP_STATUS IN VARCHAR2,
5025        x_ACTUAL_RESPONSE_DT IN DATE,
5026        x_ADM_OFFER_DFRMNT_STATUS IN VARCHAR2,
5027        x_DEFERRED_ADM_CAL_TYPE IN VARCHAR2,
5028        x_DEFERRED_ADM_CI_SEQUENCE_NUM IN NUMBER,
5029        x_DEFERRED_TRACKING_ID IN NUMBER,
5030        x_ASS_RANK IN NUMBER,
5031        x_SECONDARY_ASS_RANK IN NUMBER,
5032        x_intr_accept_advice_num IN NUMBER,
5033        x_ASS_TRACKING_ID IN NUMBER,
5034        x_FEE_CAT IN VARCHAR2,
5035        x_HECS_PAYMENT_OPTION IN VARCHAR2,
5036        x_EXPECTED_COMPLETION_YR IN NUMBER,
5037        x_EXPECTED_COMPLETION_PERD IN VARCHAR2,
5038        x_CORRESPONDENCE_CAT IN VARCHAR2,
5039        x_ENROLMENT_CAT IN VARCHAR2,
5040        x_FUNDING_SOURCE IN VARCHAR2,
5041        x_APPLICANT_ACPTNCE_CNDTN IN VARCHAR2,
5042        x_CNDTNL_OFFER_CNDTN IN VARCHAR2,
5043       X_MODE in VARCHAR2,
5044       X_SS_APPLICATION_ID IN VARCHAR2,
5045       X_SS_PWD IN VARCHAR2,
5046       X_AUTHORIZED_DT IN DATE,
5047       X_AUTHORIZING_PERS_ID IN NUMBER,
5048       x_entry_status IN NUMBER,
5049       x_entry_level IN NUMBER,
5050       x_sch_apl_to_id IN NUMBER,
5051       x_idx_calc_date IN DATE,
5052       x_waitlist_status IN VARCHAR2,
5053       x_ATTRIBUTE21 IN VARCHAR2 ,
5054        x_ATTRIBUTE22 IN VARCHAR2,
5055        x_ATTRIBUTE23 IN VARCHAR2,
5056        x_ATTRIBUTE24 IN VARCHAR2,
5057        x_ATTRIBUTE25 IN VARCHAR2,
5058        x_ATTRIBUTE26 IN VARCHAR2,
5059        x_ATTRIBUTE27 IN VARCHAR2,
5060        x_ATTRIBUTE28 IN VARCHAR2,
5061        x_ATTRIBUTE29 IN VARCHAR2,
5062        x_ATTRIBUTE30 IN VARCHAR2,
5063        x_ATTRIBUTE31 IN VARCHAR2,
5064        x_ATTRIBUTE32 IN VARCHAR2,
5065        x_ATTRIBUTE33 IN VARCHAR2,
5066        x_ATTRIBUTE34 IN VARCHAR2,
5067        x_ATTRIBUTE35 IN VARCHAR2,
5068        x_ATTRIBUTE36 IN VARCHAR2,
5069        x_ATTRIBUTE37 IN VARCHAR2,
5070        x_ATTRIBUTE38 IN VARCHAR2,
5071        x_ATTRIBUTE39 IN VARCHAR2,
5072        x_ATTRIBUTE40 IN VARCHAR2,
5073        x_fut_acad_cal_type           IN VARCHAR2,
5074        x_fut_acad_ci_sequence_number IN NUMBER  ,
5075        x_fut_adm_cal_type            IN VARCHAR2,
5076        x_fut_adm_ci_sequence_number  IN NUMBER  ,
5077        x_prev_term_adm_appl_number  IN NUMBER  ,
5078        x_prev_term_sequence_number  IN NUMBER  ,
5079        x_fut_term_adm_appl_number    IN NUMBER  ,
5080        x_fut_term_sequence_number    IN NUMBER  ,
5081       x_def_acad_cal_type IN VARCHAR2,
5082       x_def_acad_ci_sequence_num  IN NUMBER  ,
5083       x_def_prev_term_adm_appl_num  IN NUMBER  ,
5084       x_def_prev_appl_sequence_num  IN NUMBER  ,
5085       x_def_term_adm_appl_num  IN NUMBER  ,
5086       x_def_appl_sequence_num  IN NUMBER  ,
5087       x_appl_inst_status	IN VARCHAR2,						--arvsrini igsm
5088       x_ais_reason		IN VARCHAR2,
5089       x_decline_ofr_reason	IN VARCHAR2
5090   ) IS
5091   /*************************************************************
5092   Created By :
5093   Date Created By :
5094   Purpose :
5095   Know limitations, enhancements or remarks
5096   Change History
5097   Who             When            What
5098   (reverse chronological order - newest change first)
5099   ***************************************************************/
5100     cursor C is select ROWID from IGS_AD_PS_APPL_INST_ALL
5101      where  PERSON_ID= X_PERSON_ID
5102             and ADMISSION_APPL_NUMBER = X_ADMISSION_APPL_NUMBER
5103             and NOMINATED_COURSE_CD = X_NOMINATED_COURSE_CD
5104             and SEQUENCE_NUMBER = X_SEQUENCE_NUMBER;
5105      X_LAST_UPDATE_DATE DATE ;
5106      X_LAST_UPDATED_BY NUMBER ;
5107      X_LAST_UPDATE_LOGIN NUMBER ;
5108      X_REQUEST_ID NUMBER;
5109      X_PROGRAM_ID NUMBER;
5110      X_PROGRAM_APPLICATION_ID NUMBER;
5111      X_PROGRAM_UPDATE_DATE DATE;
5112  begin
5113     X_LAST_UPDATE_DATE := SYSDATE;
5114     if(X_MODE = 'I') then
5115       X_LAST_UPDATED_BY := 1;
5116       X_LAST_UPDATE_LOGIN := 0;
5117     elsif (X_MODE IN ('R', 'S')) then
5118       X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
5119       if X_LAST_UPDATED_BY is NULL then
5120         X_LAST_UPDATED_BY := -1;
5121       end if;
5122       X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
5123       if X_LAST_UPDATE_LOGIN is NULL then
5124         X_LAST_UPDATE_LOGIN := -1;
5125       end if;
5126       X_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
5127       X_PROGRAM_ID := FND_GLOBAL.CONC_PROGRAM_ID;
5128       X_PROGRAM_APPLICATION_ID := FND_GLOBAL.PROG_APPL_ID;
5129       if (X_REQUEST_ID =  -1) then
5130         X_REQUEST_ID := NULL;
5131         X_PROGRAM_ID := NULL;
5132         X_PROGRAM_APPLICATION_ID := NULL;
5133         X_PROGRAM_UPDATE_DATE := NULL;
5134       else
5135         X_PROGRAM_UPDATE_DATE := SYSDATE;
5136       end if;
5137     else
5138       FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
5139       IGS_GE_MSG_STACK.ADD;
5140       app_exception.raise_exception;
5141     end if;
5142    Before_DML(
5143                 p_action=>'INSERT',
5144                 x_rowid=>X_ROWID,
5145                 x_org_id => igs_ge_gen_003.get_org_id,
5146                x_person_id=>X_PERSON_ID,
5147                x_admission_appl_number=>X_ADMISSION_APPL_NUMBER,
5148                x_nominated_course_cd=>X_NOMINATED_COURSE_CD,
5149                x_sequence_number=>X_SEQUENCE_NUMBER,
5150                x_predicted_gpa=>X_PREDICTED_GPA,
5151                x_academic_index=>X_ACADEMIC_INDEX,
5152                x_adm_cal_type=>X_ADM_CAL_TYPE,
5153                x_app_file_location=>X_APP_FILE_LOCATION,
5154                x_adm_ci_sequence_number=>X_ADM_CI_SEQUENCE_NUMBER,
5155                x_course_cd=>X_COURSE_CD,
5156                x_app_source_id=>X_APP_SOURCE_ID,
5157                x_crv_version_number=>X_CRV_VERSION_NUMBER,
5158                x_waitlist_rank=>X_WAITLIST_RANK,
5159                x_location_cd=>X_LOCATION_CD,
5160                x_attent_other_inst_cd=>X_ATTENT_OTHER_INST_CD,
5161                x_attendance_mode=>X_ATTENDANCE_MODE,
5162                x_edu_goal_prior_enroll_id=>X_EDU_GOAL_PRIOR_ENROLL_ID,
5163                x_attendance_type=>X_ATTENDANCE_TYPE,
5164                x_decision_make_id=>X_DECISION_MAKE_ID,
5165                x_unit_set_cd=>X_UNIT_SET_CD,
5166                x_decision_date=>X_DECISION_DATE,
5167                x_attribute_category=>X_ATTRIBUTE_CATEGORY,
5168                x_attribute1=>X_ATTRIBUTE1,
5169                x_attribute2=>X_ATTRIBUTE2,
5170                x_attribute3=>X_ATTRIBUTE3,
5171                x_attribute4=>X_ATTRIBUTE4,
5172                x_attribute5=>X_ATTRIBUTE5,
5173                x_attribute6=>X_ATTRIBUTE6,
5174                x_attribute7=>X_ATTRIBUTE7,
5175                x_attribute8=>X_ATTRIBUTE8,
5176                x_attribute9=>X_ATTRIBUTE9,
5177                x_attribute10=>X_ATTRIBUTE10,
5178                x_attribute11=>X_ATTRIBUTE11,
5179                x_attribute12=>X_ATTRIBUTE12,
5180                x_attribute13=>X_ATTRIBUTE13,
5181                x_attribute14=>X_ATTRIBUTE14,
5182                x_attribute15=>X_ATTRIBUTE15,
5183                x_attribute16=>X_ATTRIBUTE16,
5184                x_attribute17=>X_ATTRIBUTE17,
5185                x_attribute18=>X_ATTRIBUTE18,
5186                x_attribute19=>X_ATTRIBUTE19,
5187                x_attribute20=>X_ATTRIBUTE20,
5188                x_decision_reason_id=>X_DECISION_REASON_ID,
5189                x_us_version_number=>X_US_VERSION_NUMBER,
5190                x_decision_notes=>X_DECISION_NOTES,
5191                x_pending_reason_id=>X_PENDING_REASON_ID,
5192                x_preference_number=>X_PREFERENCE_NUMBER,
5193                x_adm_doc_status=>X_ADM_DOC_STATUS,
5194                x_adm_entry_qual_status=>X_ADM_ENTRY_QUAL_STATUS,
5195                x_deficiency_in_prep=>X_DEFICIENCY_IN_PREP,
5196                x_late_adm_fee_status=>X_LATE_ADM_FEE_STATUS,
5197                x_spl_consider_comments=>X_SPL_CONSIDER_COMMENTS,
5198                x_apply_for_finaid=>X_APPLY_FOR_FINAID,
5199                x_finaid_apply_date=>X_FINAID_APPLY_DATE,
5200                x_adm_outcome_status=>X_ADM_OUTCOME_STATUS,
5201                x_adm_otcm_stat_auth_per_id=>x_adm_otcm_stat_auth_per_id,
5202                x_adm_outcome_status_auth_dt=>X_ADM_OUTCOME_STATUS_AUTH_DT,
5203                x_adm_outcome_status_reason=>X_ADM_OUTCOME_STATUS_REASON,
5204                x_offer_dt=>X_OFFER_DT,
5205                x_offer_response_dt=>X_OFFER_RESPONSE_DT,
5206                x_prpsd_commencement_dt=>X_PRPSD_COMMENCEMENT_DT,
5207                x_adm_cndtnl_offer_status=>X_ADM_CNDTNL_OFFER_STATUS,
5208                x_cndtnl_offer_satisfied_dt=>X_CNDTNL_OFFER_SATISFIED_DT,
5209                x_cndnl_ofr_must_be_stsfd_ind=>NVL(x_cndnl_ofr_must_be_stsfd_ind,'N' ),
5210                x_adm_offer_resp_status=>X_ADM_OFFER_RESP_STATUS,
5211                x_actual_response_dt=>X_ACTUAL_RESPONSE_DT,
5212                x_adm_offer_dfrmnt_status=>X_ADM_OFFER_DFRMNT_STATUS,
5213                x_deferred_adm_cal_type=>X_DEFERRED_ADM_CAL_TYPE,
5214                x_deferred_adm_ci_sequence_num=>X_DEFERRED_ADM_CI_SEQUENCE_NUM,
5215                x_deferred_tracking_id=>X_DEFERRED_TRACKING_ID,
5216                x_ass_rank=>X_ASS_RANK,
5217                x_secondary_ass_rank=>X_SECONDARY_ASS_RANK,
5218                x_intr_accept_advice_num=>x_intr_accept_advice_num,
5219                x_ass_tracking_id=>X_ASS_TRACKING_ID,
5220                x_fee_cat=>X_FEE_CAT,
5221                x_hecs_payment_option=>X_HECS_PAYMENT_OPTION,
5222                x_expected_completion_yr=>X_EXPECTED_COMPLETION_YR,
5223                x_expected_completion_perd=>X_EXPECTED_COMPLETION_PERD,
5224                x_correspondence_cat=>X_CORRESPONDENCE_CAT,
5225                x_enrolment_cat=>X_ENROLMENT_CAT,
5226                x_funding_source=>X_FUNDING_SOURCE,
5227                x_applicant_acptnce_cndtn=>X_APPLICANT_ACPTNCE_CNDTN,
5228                x_cndtnl_offer_cndtn=>X_CNDTNL_OFFER_CNDTN,
5229                x_creation_date=>X_LAST_UPDATE_DATE,
5230                x_created_by=>X_LAST_UPDATED_BY,
5231                x_last_update_date=>X_LAST_UPDATE_DATE,
5232                x_last_updated_by=>X_LAST_UPDATED_BY,
5233                x_last_update_login=>X_LAST_UPDATE_LOGIN,
5234                X_SS_APPLICATION_ID => X_SS_APPLICATION_ID,
5235                X_SS_PWD => X_SS_PWD,
5236                X_AUTHORIZED_DT => X_AUTHORIZED_DT,
5237                X_AUTHORIZING_PERS_ID  => X_AUTHORIZING_PERS_ID,
5238                x_entry_status => x_entry_status,
5239                x_entry_level => x_entry_level,
5240                x_sch_apl_to_id => x_sch_apl_to_id,
5241                x_idx_calc_date => x_idx_calc_date,
5242                x_waitlist_status =>x_waitlist_status,
5243                x_attribute21=>X_ATTRIBUTE21,
5244                x_attribute22=>X_ATTRIBUTE22,
5245                x_attribute23=>X_ATTRIBUTE23,
5246                x_attribute24=>X_ATTRIBUTE24,
5247                x_attribute25=>X_ATTRIBUTE25,
5248                x_attribute26=>X_ATTRIBUTE26,
5249                x_attribute27=>X_ATTRIBUTE27,
5250                x_attribute28=>X_ATTRIBUTE28,
5251                x_attribute29=>X_ATTRIBUTE29,
5252                x_attribute30=>X_ATTRIBUTE30,
5253                x_attribute31=>X_ATTRIBUTE31,
5254                x_attribute32=>X_ATTRIBUTE32,
5255                x_attribute33=>X_ATTRIBUTE33,
5256                x_attribute34=>X_ATTRIBUTE34,
5257                x_attribute35=>X_ATTRIBUTE35,
5258                x_attribute36=>X_ATTRIBUTE36,
5259                x_attribute37=>X_ATTRIBUTE37,
5260                x_attribute38=>X_ATTRIBUTE38,
5261                x_attribute39=>X_ATTRIBUTE39,
5262                x_attribute40=>X_ATTRIBUTE40,
5263                x_fut_acad_cal_type           => x_fut_acad_cal_type,
5264                x_fut_acad_ci_sequence_number => x_fut_acad_ci_sequence_number ,
5265                x_fut_adm_cal_type            => x_fut_adm_cal_type,
5266                x_fut_adm_ci_sequence_number  => x_fut_adm_ci_sequence_number,
5267                x_prev_term_adm_appl_number  => x_prev_term_adm_appl_number,
5268                x_prev_term_sequence_number  => x_prev_term_sequence_number,
5269                x_fut_term_adm_appl_number    => x_fut_term_adm_appl_number ,
5270                x_fut_term_sequence_number    => x_fut_term_sequence_number,
5271                x_def_acad_cal_type     =>       x_def_acad_cal_type,
5272                x_def_acad_ci_sequence_num      =>x_def_acad_ci_sequence_num,
5273                x_def_prev_term_adm_appl_num      =>x_def_prev_term_adm_appl_num,
5274                x_def_prev_appl_sequence_num      =>x_def_prev_appl_sequence_num,
5275                x_def_term_adm_appl_num      =>       x_def_term_adm_appl_num,
5276                x_def_appl_sequence_num      =>       x_def_appl_sequence_num,
5277 	       x_appl_inst_status	    =>  x_appl_inst_status,				--arvsrini igsm
5278 	       x_ais_reason		    =>  x_ais_reason,
5279 	       x_decline_ofr_reason	    =>  x_decline_ofr_reason
5280                );
5281       IF (x_mode = 'S') THEN
5282     igs_sc_gen_001.set_ctx('R');
5283   END IF;
5284  insert into IGS_AD_PS_APPL_INST_ALL (
5285                 ORG_ID,
5286                 PERSON_ID
5287                 ,ADMISSION_APPL_NUMBER
5288                 ,NOMINATED_COURSE_CD
5289                 ,SEQUENCE_NUMBER
5290                 ,PREDICTED_GPA
5291                 ,ACADEMIC_INDEX
5292                 ,ADM_CAL_TYPE
5293                 ,APP_FILE_LOCATION
5294                 ,ADM_CI_SEQUENCE_NUMBER
5295                 ,COURSE_CD
5296                 ,APP_SOURCE_ID
5297                 ,CRV_VERSION_NUMBER
5298                 ,WAITLIST_RANK
5299                 ,LOCATION_CD
5300                 ,ATTENT_OTHER_INST_CD
5301                 ,ATTENDANCE_MODE
5302                 ,EDU_GOAL_PRIOR_ENROLL_ID
5303                 ,ATTENDANCE_TYPE
5304                 ,DECISION_MAKE_ID
5305                 ,UNIT_SET_CD
5306                 ,DECISION_DATE
5307                 ,ATTRIBUTE_CATEGORY
5308                 ,ATTRIBUTE1
5309                 ,ATTRIBUTE2
5310                 ,ATTRIBUTE3
5311                 ,ATTRIBUTE4
5312                 ,ATTRIBUTE5
5313                 ,ATTRIBUTE6
5314                 ,ATTRIBUTE7
5315                 ,ATTRIBUTE8
5316                 ,ATTRIBUTE9
5317                 ,ATTRIBUTE10
5318                 ,ATTRIBUTE11
5319                 ,ATTRIBUTE12
5320                 ,ATTRIBUTE13
5321                 ,ATTRIBUTE14
5322                 ,ATTRIBUTE15
5323                 ,ATTRIBUTE16
5324                 ,ATTRIBUTE17
5325                 ,ATTRIBUTE18
5326                 ,ATTRIBUTE19
5327                 ,ATTRIBUTE20
5328                 ,DECISION_REASON_ID
5329                 ,US_VERSION_NUMBER
5330                 ,DECISION_NOTES
5331                 ,PENDING_REASON_ID
5332                 ,PREFERENCE_NUMBER
5333                 ,ADM_DOC_STATUS
5334                 ,ADM_ENTRY_QUAL_STATUS
5335                 ,DEFICIENCY_IN_PREP
5336                 ,LATE_ADM_FEE_STATUS
5337                 ,SPL_CONSIDER_COMMENTS
5338                 ,APPLY_FOR_FINAID
5339                 ,FINAID_APPLY_DATE
5340                 ,ADM_OUTCOME_STATUS
5341                 ,ADM_OTCM_STATUS_AUTH_PERSON_ID
5342                 ,ADM_OUTCOME_STATUS_AUTH_DT
5343                 ,ADM_OUTCOME_STATUS_REASON
5344                 ,OFFER_DT
5345                 ,OFFER_RESPONSE_DT
5346                 ,PRPSD_COMMENCEMENT_DT
5347                 ,ADM_CNDTNL_OFFER_STATUS
5348                 ,CNDTNL_OFFER_SATISFIED_DT
5349                 ,CNDTNL_OFFER_MUST_BE_STSFD_IND
5350                 ,ADM_OFFER_RESP_STATUS
5351                 ,ACTUAL_RESPONSE_DT
5352                 ,ADM_OFFER_DFRMNT_STATUS
5353                 ,DEFERRED_ADM_CAL_TYPE
5354                 ,DEFERRED_ADM_CI_SEQUENCE_NUM
5355                 ,DEFERRED_TRACKING_ID
5356                 ,ASS_RANK
5357                 ,SECONDARY_ASS_RANK
5358                 ,INTRNTNL_ACCEPTANCE_ADVICE_NUM
5359                 ,ASS_TRACKING_ID
5360                 ,FEE_CAT
5361                 ,HECS_PAYMENT_OPTION
5362                 ,EXPECTED_COMPLETION_YR
5363                 ,EXPECTED_COMPLETION_PERD
5364                 ,CORRESPONDENCE_CAT
5365                 ,ENROLMENT_CAT
5366                 ,FUNDING_SOURCE
5367                 ,APPLICANT_ACPTNCE_CNDTN
5368                 ,CNDTNL_OFFER_CNDTN
5369                 ,CREATION_DATE
5370                 ,CREATED_BY
5371                 ,LAST_UPDATE_DATE
5372                 ,LAST_UPDATED_BY
5373                 ,LAST_UPDATE_LOGIN
5374                 ,REQUEST_ID
5375                 ,PROGRAM_ID
5376                 ,PROGRAM_APPLICATION_ID
5377                 ,PROGRAM_UPDATE_DATE
5378                 ,SS_APPLICATION_ID
5379                 ,SS_PWD
5380                 ,AUTHORIZED_DT
5381                 ,AUTHORIZING_PERS_ID
5382                 ,ENTRY_STATUS
5383                 ,ENTRY_LEVEL
5384                 ,SCH_APL_TO_ID
5385                 ,IDX_CALC_DATE
5386                 ,WAITLIST_STATUS
5387                 ,ATTRIBUTE21
5388                 ,ATTRIBUTE22
5389                 ,ATTRIBUTE23
5390                 ,ATTRIBUTE24
5391                 ,ATTRIBUTE25
5392                 ,ATTRIBUTE26
5393                 ,ATTRIBUTE27
5394                 ,ATTRIBUTE28
5395                 ,ATTRIBUTE29
5396                 ,ATTRIBUTE30
5397                 ,ATTRIBUTE31
5398                 ,ATTRIBUTE32
5399                 ,ATTRIBUTE33
5400                 ,ATTRIBUTE34
5401                 ,ATTRIBUTE35
5402                 ,ATTRIBUTE36
5403                 ,ATTRIBUTE37
5404                 ,ATTRIBUTE38
5405                 ,ATTRIBUTE39
5406                 ,ATTRIBUTE40
5407                 ,future_acad_cal_type
5408                 ,future_acad_ci_sequence_number
5409                 ,future_adm_cal_type
5410                 ,future_adm_ci_sequence_number
5411                 ,previous_term_adm_appl_number
5412                 ,previous_term_sequence_number
5413                 ,future_term_adm_appl_number
5414                 ,future_term_sequence_number
5415                 ,def_acad_cal_type
5416                 ,def_acad_ci_sequence_num
5417                 ,def_prev_term_adm_appl_num
5418                 ,def_prev_appl_sequence_num
5419                 ,def_term_adm_appl_num
5420                 ,def_appl_sequence_num
5421 		,appl_inst_status							--arvsrini igsm
5422 		,ais_reason
5423 		,decline_ofr_reason
5424         ) values  (
5425                 NEW_REFERENCES.ORG_ID
5426                 ,NEW_REFERENCES.PERSON_ID
5427                 ,NEW_REFERENCES.ADMISSION_APPL_NUMBER
5428                 ,NEW_REFERENCES.NOMINATED_COURSE_CD
5429                 ,NEW_REFERENCES.SEQUENCE_NUMBER
5430                 ,NEW_REFERENCES.PREDICTED_GPA
5431                 ,NEW_REFERENCES.ACADEMIC_INDEX
5432                 ,NEW_REFERENCES.ADM_CAL_TYPE
5433                 ,NEW_REFERENCES.APP_FILE_LOCATION
5434                 ,NEW_REFERENCES.ADM_CI_SEQUENCE_NUMBER
5435                 ,NEW_REFERENCES.COURSE_CD
5436                 ,NEW_REFERENCES.APP_SOURCE_ID
5437                 ,NEW_REFERENCES.CRV_VERSION_NUMBER
5438                 ,NEW_REFERENCES.WAITLIST_RANK
5439                 ,NEW_REFERENCES.LOCATION_CD
5440                 ,NEW_REFERENCES.ATTENT_OTHER_INST_CD
5441                 ,NEW_REFERENCES.ATTENDANCE_MODE
5442                 ,NEW_REFERENCES.EDU_GOAL_PRIOR_ENROLL_ID
5443                 ,NEW_REFERENCES.ATTENDANCE_TYPE
5444                 ,NEW_REFERENCES.DECISION_MAKE_ID
5445                 ,NEW_REFERENCES.UNIT_SET_CD
5446                 ,NEW_REFERENCES.DECISION_DATE
5447                 ,NEW_REFERENCES.ATTRIBUTE_CATEGORY
5448                 ,NEW_REFERENCES.ATTRIBUTE1
5449                 ,NEW_REFERENCES.ATTRIBUTE2
5450                 ,NEW_REFERENCES.ATTRIBUTE3
5451                 ,NEW_REFERENCES.ATTRIBUTE4
5452                 ,NEW_REFERENCES.ATTRIBUTE5
5453                 ,NEW_REFERENCES.ATTRIBUTE6
5454                 ,NEW_REFERENCES.ATTRIBUTE7
5455                 ,NEW_REFERENCES.ATTRIBUTE8
5456                 ,NEW_REFERENCES.ATTRIBUTE9
5457                 ,NEW_REFERENCES.ATTRIBUTE10
5458                 ,NEW_REFERENCES.ATTRIBUTE11
5459                 ,NEW_REFERENCES.ATTRIBUTE12
5460                 ,NEW_REFERENCES.ATTRIBUTE13
5461                 ,NEW_REFERENCES.ATTRIBUTE14
5462                 ,NEW_REFERENCES.ATTRIBUTE15
5463                 ,NEW_REFERENCES.ATTRIBUTE16
5464                 ,NEW_REFERENCES.ATTRIBUTE17
5465                 ,NEW_REFERENCES.ATTRIBUTE18
5466                 ,NEW_REFERENCES.ATTRIBUTE19
5467                 ,NEW_REFERENCES.ATTRIBUTE20
5468                 ,NEW_REFERENCES.DECISION_REASON_ID
5469                 ,NEW_REFERENCES.US_VERSION_NUMBER
5470                 ,NEW_REFERENCES.DECISION_NOTES
5471                 ,NEW_REFERENCES.PENDING_REASON_ID
5472                 ,NEW_REFERENCES.PREFERENCE_NUMBER
5473                 ,NEW_REFERENCES.ADM_DOC_STATUS
5474                 ,NEW_REFERENCES.ADM_ENTRY_QUAL_STATUS
5475                 ,NEW_REFERENCES.DEFICIENCY_IN_PREP
5476                 ,NEW_REFERENCES.LATE_ADM_FEE_STATUS
5477                 ,NEW_REFERENCES.SPL_CONSIDER_COMMENTS
5478                 ,NEW_REFERENCES.APPLY_FOR_FINAID
5479                 ,NEW_REFERENCES.FINAID_APPLY_DATE
5480                 ,NEW_REFERENCES.ADM_OUTCOME_STATUS
5481                 ,NEW_REFERENCES.ADM_OTCM_STATUS_AUTH_PERSON_ID
5482                 ,NEW_REFERENCES.ADM_OUTCOME_STATUS_AUTH_DT
5483                 ,NEW_REFERENCES.ADM_OUTCOME_STATUS_REASON
5484                 ,NEW_REFERENCES.OFFER_DT
5485                 ,NEW_REFERENCES.OFFER_RESPONSE_DT
5486                 ,NEW_REFERENCES.PRPSD_COMMENCEMENT_DT
5487                 ,NEW_REFERENCES.ADM_CNDTNL_OFFER_STATUS
5488                 ,NEW_REFERENCES.CNDTNL_OFFER_SATISFIED_DT
5489                 ,NEW_REFERENCES.CNDTNL_OFFER_MUST_BE_STSFD_IND
5490                 ,NEW_REFERENCES.ADM_OFFER_RESP_STATUS
5491                 ,NEW_REFERENCES.ACTUAL_RESPONSE_DT
5492                 ,NEW_REFERENCES.ADM_OFFER_DFRMNT_STATUS
5493                 ,NEW_REFERENCES.DEFERRED_ADM_CAL_TYPE
5494                 ,NEW_REFERENCES.DEFERRED_ADM_CI_SEQUENCE_NUM
5495                 ,NEW_REFERENCES.DEFERRED_TRACKING_ID
5496                 ,NEW_REFERENCES.ASS_RANK
5497                 ,NEW_REFERENCES.SECONDARY_ASS_RANK
5498                 ,NEW_REFERENCES.INTRNTNL_ACCEPTANCE_ADVICE_NUM
5499                 ,NEW_REFERENCES.ASS_TRACKING_ID
5500                 ,NEW_REFERENCES.FEE_CAT
5501                 ,NEW_REFERENCES.HECS_PAYMENT_OPTION
5502                 ,NEW_REFERENCES.EXPECTED_COMPLETION_YR
5503                 ,NEW_REFERENCES.EXPECTED_COMPLETION_PERD
5504                 ,NEW_REFERENCES.CORRESPONDENCE_CAT
5505                 ,NEW_REFERENCES.ENROLMENT_CAT
5506                 ,NEW_REFERENCES.FUNDING_SOURCE
5507                 ,NEW_REFERENCES.APPLICANT_ACPTNCE_CNDTN
5508                 ,NEW_REFERENCES.CNDTNL_OFFER_CNDTN
5509                 ,X_LAST_UPDATE_DATE
5510                 ,X_LAST_UPDATED_BY
5511                 ,X_LAST_UPDATE_DATE
5512                 ,X_LAST_UPDATED_BY
5513                 ,X_LAST_UPDATE_LOGIN
5514                 ,X_REQUEST_ID
5515                 ,X_PROGRAM_ID
5516                 ,X_PROGRAM_APPLICATION_ID
5517                 ,X_PROGRAM_UPDATE_DATE
5518                 ,NEW_REFERENCES.SS_APPLICATION_ID
5519                 ,NEW_REFERENCES.SS_PWD
5520                 ,NEW_REFERENCES.AUTHORIZED_DT
5521                 ,NEW_REFERENCES.AUTHORIZING_PERS_ID
5522                 ,NEW_REFERENCES.ENTRY_STATUS
5523                 ,NEW_REFERENCES.ENTRY_LEVEL
5524                 ,NEW_REFERENCES.SCH_APL_TO_ID
5525                 ,NEW_REFERENCES.IDX_CALC_DATE
5526                 ,NEW_REFERENCES.WAITLIST_STATUS
5527                 ,NEW_REFERENCES.ATTRIBUTE21
5528                 ,NEW_REFERENCES.ATTRIBUTE22
5529                 ,NEW_REFERENCES.ATTRIBUTE23
5530                 ,NEW_REFERENCES.ATTRIBUTE24
5531                 ,NEW_REFERENCES.ATTRIBUTE25
5532                 ,NEW_REFERENCES.ATTRIBUTE26
5533                 ,NEW_REFERENCES.ATTRIBUTE27
5534                 ,NEW_REFERENCES.ATTRIBUTE28
5535                 ,NEW_REFERENCES.ATTRIBUTE29
5536                 ,NEW_REFERENCES.ATTRIBUTE30
5537                 ,NEW_REFERENCES.ATTRIBUTE31
5538                 ,NEW_REFERENCES.ATTRIBUTE32
5539                 ,NEW_REFERENCES.ATTRIBUTE33
5540                 ,NEW_REFERENCES.ATTRIBUTE34
5541                 ,NEW_REFERENCES.ATTRIBUTE35
5542                 ,NEW_REFERENCES.ATTRIBUTE36
5543                 ,NEW_REFERENCES.ATTRIBUTE37
5544                 ,NEW_REFERENCES.ATTRIBUTE38
5545                 ,NEW_REFERENCES.ATTRIBUTE39
5546                 ,NEW_REFERENCES.ATTRIBUTE40
5547                 ,new_references.future_acad_cal_type
5548                 ,new_references.future_acad_ci_sequence_number
5549                 ,new_references.future_adm_cal_type
5550                 ,new_references.future_adm_ci_sequence_number
5551                 ,new_references.previous_term_adm_appl_number
5552                 ,new_references.previous_term_sequence_number
5553                 ,new_references.future_term_adm_appl_number
5554                 ,new_references.future_term_sequence_number
5555                 ,new_references.DEF_ACAD_CAL_TYPE
5556                 ,new_references.DEF_ACAD_CI_SEQUENCE_NUM
5557                 ,new_references.DEF_PREV_TERM_ADM_APPL_NUM
5558                 ,new_references.DEF_PREV_APPL_SEQUENCE_NUM
5559 		,new_references.DEF_TERM_ADM_APPL_NUM
5560                 ,new_references.def_appl_sequence_num
5561 		,new_references.appl_inst_status						--arvsrini igsm
5562 		,new_references.ais_reason
5563 		,new_references.decline_ofr_reason
5564               );
5565  IF (x_mode = 'S') THEN
5566     igs_sc_gen_001.unset_ctx('R');
5567  END IF;
5568 
5569   open c;
5570   fetch c into X_ROWID;
5571   if (c%notfound) then
5572     close c;
5573     raise no_data_found;
5574   end if;
5575   close c;
5576   After_DML(
5577         p_action                  => 'INSERT',
5578         x_rowid                   => X_ROWID );
5579  EXCEPTION
5580   WHEN OTHERS THEN
5581    IF (x_mode = 'S') THEN
5582       igs_sc_gen_001.unset_ctx('R');
5583    END IF;
5584     IF SQLCODE = '-28115' OR SQLCODE = '-28113' OR SQLCODE = '-28111' THEN
5585       -- Code to handle Security Policy error raised
5586       -- 1) ORA-28115 (policy with check option violation) which is raised when Policy predicate was evaluated to FALSE with the updated values.
5587       -- 2) ORA-28113 (policy predicate has error) which is raised when Policy function generates invalid predicate.
5588       -- 3) ORA-28111 (insufficient privilege to evaluate policy predicate) which is raised when Predicate has a subquery which contains objects
5589       --    that the ownerof policy function does not have privilege to access.
5590       FND_MESSAGE.SET_NAME ('IGS', 'IGS_SC_POLICY_EXCEPTION');
5591       FND_MESSAGE.SET_TOKEN('ERR_CD',SQLCODE);
5592       IGS_GE_MSG_STACK.ADD;
5593       app_exception.raise_exception;
5594     ELSE
5595       RAISE;
5596     END IF;
5597 END INSERT_ROW;
5598  procedure LOCK_ROW (
5599       X_ROWID in  VARCHAR2,
5600        x_PERSON_ID IN NUMBER,
5601        x_ADMISSION_APPL_NUMBER IN NUMBER,
5602        x_NOMINATED_COURSE_CD IN VARCHAR2,
5603        x_SEQUENCE_NUMBER IN NUMBER,
5604        x_PREDICTED_GPA IN NUMBER,
5605        x_ACADEMIC_INDEX IN VARCHAR2,
5606        x_ADM_CAL_TYPE IN VARCHAR2,
5607        x_APP_FILE_LOCATION IN VARCHAR2,
5608        x_ADM_CI_SEQUENCE_NUMBER IN NUMBER,
5609        x_COURSE_CD IN VARCHAR2,
5610        x_APP_SOURCE_ID IN NUMBER,
5611        x_CRV_VERSION_NUMBER IN NUMBER,
5612        x_WAITLIST_RANK IN VARCHAR2,
5613        x_LOCATION_CD IN VARCHAR2,
5614        x_ATTENT_OTHER_INST_CD IN VARCHAR2,
5615        x_ATTENDANCE_MODE IN VARCHAR2,
5616        x_EDU_GOAL_PRIOR_ENROLL_ID IN NUMBER,
5617        x_ATTENDANCE_TYPE IN VARCHAR2,
5618        x_DECISION_MAKE_ID IN NUMBER,
5619        x_UNIT_SET_CD IN VARCHAR2,
5620        x_DECISION_DATE IN DATE,
5621        x_ATTRIBUTE_CATEGORY IN VARCHAR2,
5622        x_ATTRIBUTE1 IN VARCHAR2,
5623        x_ATTRIBUTE2 IN VARCHAR2,
5624        x_ATTRIBUTE3 IN VARCHAR2,
5625        x_ATTRIBUTE4 IN VARCHAR2,
5626        x_ATTRIBUTE5 IN VARCHAR2,
5627        x_ATTRIBUTE6 IN VARCHAR2,
5628        x_ATTRIBUTE7 IN VARCHAR2,
5629        x_ATTRIBUTE8 IN VARCHAR2,
5630        x_ATTRIBUTE9 IN VARCHAR2,
5631        x_ATTRIBUTE10 IN VARCHAR2,
5632        x_ATTRIBUTE11 IN VARCHAR2,
5633        x_ATTRIBUTE12 IN VARCHAR2,
5634        x_ATTRIBUTE13 IN VARCHAR2,
5635        x_ATTRIBUTE14 IN VARCHAR2,
5636        x_ATTRIBUTE15 IN VARCHAR2,
5637        x_ATTRIBUTE16 IN VARCHAR2,
5638        x_ATTRIBUTE17 IN VARCHAR2,
5639        x_ATTRIBUTE18 IN VARCHAR2,
5640        x_ATTRIBUTE19 IN VARCHAR2,
5641        x_ATTRIBUTE20 IN VARCHAR2,
5642        x_DECISION_REASON_ID IN NUMBER,
5643        x_US_VERSION_NUMBER IN NUMBER,
5644        x_DECISION_NOTES IN VARCHAR2,
5645        x_PENDING_REASON_ID IN NUMBER,
5646        x_PREFERENCE_NUMBER IN NUMBER,
5647        x_ADM_DOC_STATUS IN VARCHAR2,
5648        x_ADM_ENTRY_QUAL_STATUS IN VARCHAR2,
5649        x_DEFICIENCY_IN_PREP IN VARCHAR2,
5650        x_LATE_ADM_FEE_STATUS IN VARCHAR2,
5651        x_SPL_CONSIDER_COMMENTS IN VARCHAR2,
5652        x_APPLY_FOR_FINAID IN VARCHAR2,
5653        x_FINAID_APPLY_DATE IN DATE,
5654        x_ADM_OUTCOME_STATUS IN VARCHAR2,
5655        x_adm_otcm_stat_auth_per_id IN NUMBER,
5656        x_ADM_OUTCOME_STATUS_AUTH_DT IN DATE,
5657        x_ADM_OUTCOME_STATUS_REASON IN VARCHAR2,
5658        x_OFFER_DT IN DATE,
5659        x_OFFER_RESPONSE_DT IN DATE,
5660        x_PRPSD_COMMENCEMENT_DT IN DATE,
5661        x_ADM_CNDTNL_OFFER_STATUS IN VARCHAR2,
5662        x_CNDTNL_OFFER_SATISFIED_DT IN DATE,
5663        x_cndnl_ofr_must_be_stsfd_ind IN VARCHAR2,
5664        x_ADM_OFFER_RESP_STATUS IN VARCHAR2,
5665        x_ACTUAL_RESPONSE_DT IN DATE,
5666        x_ADM_OFFER_DFRMNT_STATUS IN VARCHAR2,
5667        x_DEFERRED_ADM_CAL_TYPE IN VARCHAR2,
5668        x_DEFERRED_ADM_CI_SEQUENCE_NUM IN NUMBER,
5669        x_DEFERRED_TRACKING_ID IN NUMBER,
5670        x_ASS_RANK IN NUMBER,
5671        x_SECONDARY_ASS_RANK IN NUMBER,
5672        x_intr_accept_advice_num IN NUMBER,
5673        x_ASS_TRACKING_ID IN NUMBER,
5674        x_FEE_CAT IN VARCHAR2,
5675        x_HECS_PAYMENT_OPTION IN VARCHAR2,
5676        x_EXPECTED_COMPLETION_YR IN NUMBER,
5677        x_EXPECTED_COMPLETION_PERD IN VARCHAR2,
5678        x_CORRESPONDENCE_CAT IN VARCHAR2,
5679        x_ENROLMENT_CAT IN VARCHAR2,
5680        x_FUNDING_SOURCE IN VARCHAR2,
5681        x_APPLICANT_ACPTNCE_CNDTN IN VARCHAR2,
5682        x_CNDTNL_OFFER_CNDTN IN VARCHAR2,
5683        X_SS_APPLICATION_ID IN VARCHAR2,
5684        X_SS_PWD IN VARCHAR2 ,
5685        X_AUTHORIZED_DT DATE,
5686        X_AUTHORIZING_PERS_ID NUMBER,
5687        x_entry_status IN NUMBER,
5688        x_entry_level IN NUMBER,
5689        x_sch_apl_to_id IN NUMBER,
5690        x_idx_calc_date IN DATE,
5691        x_waitlist_status IN VARCHAR2,
5692        x_ATTRIBUTE21 IN VARCHAR2,
5693        x_ATTRIBUTE22 IN VARCHAR2,
5694        x_ATTRIBUTE23 IN VARCHAR2,
5695        x_ATTRIBUTE24 IN VARCHAR2,
5696        x_ATTRIBUTE25 IN VARCHAR2,
5697        x_ATTRIBUTE26 IN VARCHAR2,
5698        x_ATTRIBUTE27 IN VARCHAR2,
5699        x_ATTRIBUTE28 IN VARCHAR2,
5700        x_ATTRIBUTE29 IN VARCHAR2,
5701        x_ATTRIBUTE30 IN VARCHAR2,
5702        x_ATTRIBUTE31 IN VARCHAR2,
5703        x_ATTRIBUTE32 IN VARCHAR2,
5704        x_ATTRIBUTE33 IN VARCHAR2,
5705        x_ATTRIBUTE34 IN VARCHAR2,
5706        x_ATTRIBUTE35 IN VARCHAR2,
5707        x_ATTRIBUTE36 IN VARCHAR2,
5708        x_ATTRIBUTE37 IN VARCHAR2,
5709        x_ATTRIBUTE38 IN VARCHAR2,
5710        x_ATTRIBUTE39 IN VARCHAR2,
5711        x_ATTRIBUTE40 IN VARCHAR2,
5712        x_fut_acad_cal_type           IN VARCHAR2,
5713        x_fut_acad_ci_sequence_number IN NUMBER  ,
5714        x_fut_adm_cal_type            IN VARCHAR2,
5715        x_fut_adm_ci_sequence_number  IN NUMBER  ,
5716        x_prev_term_adm_appl_number  IN NUMBER  ,
5717        x_prev_term_sequence_number  IN NUMBER  ,
5718        x_fut_term_adm_appl_number    IN NUMBER  ,
5719        x_fut_term_sequence_number    IN NUMBER  ,
5720        x_def_acad_cal_type IN VARCHAR2,
5721        x_def_acad_ci_sequence_num  IN NUMBER  ,
5722        x_def_prev_term_adm_appl_num  IN NUMBER  ,
5723        x_def_prev_appl_sequence_num  IN NUMBER  ,
5724        x_def_term_adm_appl_num  IN NUMBER  ,
5725        x_def_appl_sequence_num  IN NUMBER  ,
5726        x_appl_inst_status	IN VARCHAR2,						--arvsrini igsm
5727        x_ais_reason		IN VARCHAR2,
5728        x_decline_ofr_reason	IN VARCHAR2
5729  ) IS
5730   /*************************************************************
5731   Created By :
5732   Date Created By :
5733   Purpose :
5734   Know limitations, enhancements or remarks
5735   Change History
5736   Who             When            What
5737   (reverse chronological order - newest change first)
5738   ***************************************************************/
5739    cursor c1 is select
5740       PERSON_ID
5741 ,     PREDICTED_GPA
5742 ,      ACADEMIC_INDEX
5743 ,      ADM_CAL_TYPE
5744 ,      APP_FILE_LOCATION
5745 ,      ADM_CI_SEQUENCE_NUMBER
5746 ,      COURSE_CD
5747 ,      APP_SOURCE_ID
5748 ,      CRV_VERSION_NUMBER
5749 ,      WAITLIST_RANK
5750 ,      LOCATION_CD
5751 ,      ATTENT_OTHER_INST_CD
5752 ,      ATTENDANCE_MODE
5753 ,      EDU_GOAL_PRIOR_ENROLL_ID
5754 ,      ATTENDANCE_TYPE
5755 ,      DECISION_MAKE_ID
5756 ,      UNIT_SET_CD
5757 ,      DECISION_DATE
5758 ,      ATTRIBUTE_CATEGORY
5759 ,      ATTRIBUTE1
5760 ,      ATTRIBUTE2
5761 ,      ATTRIBUTE3
5762 ,      ATTRIBUTE4
5763 ,      ATTRIBUTE5
5764 ,      ATTRIBUTE6
5765 ,      ATTRIBUTE7
5766 ,      ATTRIBUTE8
5767 ,      ATTRIBUTE9
5768 ,      ATTRIBUTE10
5769 ,      ATTRIBUTE11
5770 ,      ATTRIBUTE12
5771 ,      ATTRIBUTE13
5772 ,      ATTRIBUTE14
5773 ,      ATTRIBUTE15
5774 ,      ATTRIBUTE16
5775 ,      ATTRIBUTE17
5776 ,      ATTRIBUTE18
5777 ,      ATTRIBUTE19
5778 ,      ATTRIBUTE20
5779 ,      DECISION_REASON_ID
5780 ,      US_VERSION_NUMBER
5781 ,      DECISION_NOTES
5782 ,      PENDING_REASON_ID
5783 ,      PREFERENCE_NUMBER
5784 ,      ADM_DOC_STATUS
5785 ,      ADM_ENTRY_QUAL_STATUS
5786 ,      DEFICIENCY_IN_PREP
5787 ,      LATE_ADM_FEE_STATUS
5788 ,      SPL_CONSIDER_COMMENTS
5789 ,      APPLY_FOR_FINAID
5790 ,      FINAID_APPLY_DATE
5791 ,      ADM_OUTCOME_STATUS
5792 ,      ADM_OTCM_STATUS_AUTH_PERSON_ID
5793 ,      ADM_OUTCOME_STATUS_AUTH_DT
5794 ,      ADM_OUTCOME_STATUS_REASON
5795 ,      OFFER_DT
5796 ,      OFFER_RESPONSE_DT
5797 ,      PRPSD_COMMENCEMENT_DT
5798 ,      ADM_CNDTNL_OFFER_STATUS
5799 ,      CNDTNL_OFFER_SATISFIED_DT
5800 ,      CNDTNL_OFFER_MUST_BE_STSFD_IND
5801 ,      ADM_OFFER_RESP_STATUS
5802 ,      ACTUAL_RESPONSE_DT
5803 ,      ADM_OFFER_DFRMNT_STATUS
5804 ,      DEFERRED_ADM_CAL_TYPE
5805 ,      DEFERRED_ADM_CI_SEQUENCE_NUM
5806 ,      DEFERRED_TRACKING_ID
5807 ,      ASS_RANK
5808 ,      SECONDARY_ASS_RANK
5809 ,      INTRNTNL_ACCEPTANCE_ADVICE_NUM
5810 ,      ASS_TRACKING_ID
5811 ,      FEE_CAT
5812 ,      HECS_PAYMENT_OPTION
5813 ,      EXPECTED_COMPLETION_YR
5814 ,      EXPECTED_COMPLETION_PERD
5815 ,      CORRESPONDENCE_CAT
5816 ,      ENROLMENT_CAT
5817 ,      FUNDING_SOURCE
5818 ,      APPLICANT_ACPTNCE_CNDTN
5819 ,      CNDTNL_OFFER_CNDTN
5820 ,      SS_APPLICATION_ID
5821 ,      SS_PWD
5822 ,      AUTHORIZED_DT
5823 ,      AUTHORIZING_PERS_ID
5824      ,ENTRY_STATUS
5825       ,ENTRY_LEVEL
5826       ,SCH_APL_TO_ID
5827 ,      IDX_CALC_DATE
5828 ,      WAITLIST_STATUS
5829 ,      ATTRIBUTE21
5830 ,      ATTRIBUTE22
5831 ,      ATTRIBUTE23
5832 ,      ATTRIBUTE24
5833 ,      ATTRIBUTE25
5834 ,      ATTRIBUTE26
5835 ,      ATTRIBUTE27
5836 ,      ATTRIBUTE28
5837 ,      ATTRIBUTE29
5838 ,      ATTRIBUTE30
5839 ,      ATTRIBUTE31
5840 ,      ATTRIBUTE32
5841 ,      ATTRIBUTE33
5842 ,      ATTRIBUTE34
5843 ,      ATTRIBUTE35
5844 ,      ATTRIBUTE36
5845 ,      ATTRIBUTE37
5846 ,      ATTRIBUTE38
5847 ,      ATTRIBUTE39
5848 ,      ATTRIBUTE40
5849 ,      future_acad_cal_type
5850 ,      future_acad_ci_sequence_number
5851 ,      future_adm_cal_type
5852 ,      future_adm_ci_sequence_number
5853 ,      previous_term_adm_appl_number
5854 ,      previous_term_sequence_number
5855 ,      future_term_adm_appl_number
5856 ,      future_term_sequence_number
5857 ,      DEF_ACAD_CAL_TYPE
5858 ,      DEF_ACAD_CI_SEQUENCE_NUM
5859 ,      DEF_PREV_TERM_ADM_APPL_NUM
5860 ,      DEF_PREV_APPL_SEQUENCE_NUM
5861 ,      DEF_TERM_ADM_APPL_NUM
5862 ,      def_appl_sequence_num
5863 ,      appl_inst_status										--arvsrini igsm
5864 ,      ais_reason
5865 ,      decline_ofr_reason
5866 
5867     from IGS_AD_PS_APPL_INST_ALL
5868     where ROWID = X_ROWID
5869     for update nowait;
5870      tlinfo c1%rowtype;
5871 begin
5872   open c1;
5873   fetch c1 into tlinfo;
5874   if (c1%notfound) then
5875     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
5876         IGS_AD_GEN_001.SET_TOKEN('From IGS_AD_PS_APPL_INST ->Parameter : Lock_row ');
5877       IGS_GE_MSG_STACK.ADD;
5878     close c1;
5879     app_exception.raise_exception;
5880     return;
5881   end if;
5882   close c1;
5883 
5884     IF (
5885          ((tlinfo.predicted_gpa = x_predicted_gpa) OR ((tlinfo.predicted_gpa IS NULL) AND (X_predicted_gpa IS NULL)))
5886         AND ((tlinfo.academic_index = x_academic_index) OR ((tlinfo.academic_index IS NULL) AND (X_academic_index IS NULL)))
5887         AND ((tlinfo.adm_cal_type = x_adm_cal_type) OR ((tlinfo.adm_cal_type IS NULL) AND (X_adm_cal_type IS NULL)))
5888         AND ((tlinfo.app_file_location = x_app_file_location) OR ((tlinfo.app_file_location IS NULL) AND (X_app_file_location IS NULL)))
5889         AND ((tlinfo.adm_ci_sequence_number = x_adm_ci_sequence_number) OR ((tlinfo.adm_ci_sequence_number IS NULL) AND (X_adm_ci_sequence_number IS NULL)))
5890         AND ((tlinfo.app_source_id = x_app_source_id) OR ((tlinfo.app_source_id IS NULL) AND (X_app_source_id IS NULL)))
5891         AND (tlinfo.course_cd = x_course_cd)
5892         AND (tlinfo.crv_version_number = x_crv_version_number)
5893         AND ((tlinfo.waitlist_rank = x_waitlist_rank) OR ((tlinfo.waitlist_rank IS NULL) AND (X_waitlist_rank IS NULL)))
5894         AND ((tlinfo.location_cd = x_location_cd) OR ((tlinfo.location_cd IS NULL) AND (X_location_cd IS NULL)))
5895         AND ((tlinfo.attent_other_inst_cd = x_attent_other_inst_cd) OR ((tlinfo.attent_other_inst_cd IS NULL) AND (X_attent_other_inst_cd IS NULL)))
5896         AND ((tlinfo.attendance_mode = x_attendance_mode) OR ((tlinfo.attendance_mode IS NULL) AND (X_attendance_mode IS NULL)))
5897         AND ((tlinfo.edu_goal_prior_enroll_id = x_edu_goal_prior_enroll_id) OR ((tlinfo.edu_goal_prior_enroll_id IS NULL) AND (X_edu_goal_prior_enroll_id IS NULL)))
5898         AND ((tlinfo.attendance_type = x_attendance_type) OR ((tlinfo.attendance_type IS NULL) AND (X_attendance_type IS NULL)))
5899         AND ((tlinfo.decision_make_id = x_decision_make_id) OR ((tlinfo.decision_make_id IS NULL) AND (X_decision_make_id IS NULL)))
5900         AND ((tlinfo.unit_set_cd = x_unit_set_cd) OR ((tlinfo.unit_set_cd IS NULL) AND (X_unit_set_cd IS NULL)))
5901         AND ((TRUNC(tlinfo.decision_date) = TRUNC(x_decision_date)) OR ((tlinfo.decision_date IS NULL) AND (X_decision_date IS NULL)))
5902         AND ((tlinfo.attribute_category = x_attribute_category) OR ((tlinfo.attribute_category IS NULL) AND (X_attribute_category IS NULL)))
5903         AND ((tlinfo.attribute1 = x_attribute1) OR ((tlinfo.attribute1 IS NULL) AND (X_attribute1 IS NULL)))
5904         AND ((tlinfo.attribute2 = x_attribute2) OR ((tlinfo.attribute2 IS NULL) AND (X_attribute2 IS NULL)))
5905         AND ((tlinfo.attribute3 = x_attribute3) OR ((tlinfo.attribute3 IS NULL) AND (X_attribute3 IS NULL)))
5906         AND ((tlinfo.attribute4 = x_attribute4) OR ((tlinfo.attribute4 IS NULL) AND (X_attribute4 IS NULL)))
5907         AND ((tlinfo.attribute5 = x_attribute5) OR ((tlinfo.attribute5 IS NULL) AND (X_attribute5 IS NULL)))
5908         AND ((tlinfo.attribute6 = x_attribute6) OR ((tlinfo.attribute6 IS NULL) AND (X_attribute6 IS NULL)))
5909         AND ((tlinfo.attribute7 = x_attribute7) OR ((tlinfo.attribute7 IS NULL) AND (X_attribute7 IS NULL)))
5910         AND ((tlinfo.attribute8 = x_attribute8) OR ((tlinfo.attribute8 IS NULL) AND (X_attribute8 IS NULL)))
5911         AND ((tlinfo.attribute9 = x_attribute9) OR ((tlinfo.attribute9 IS NULL) AND (X_attribute9 IS NULL)))
5912         AND ((tlinfo.attribute10 = x_attribute10) OR ((tlinfo.attribute10 IS NULL) AND (X_attribute10 IS NULL)))
5913         AND ((tlinfo.attribute11 = x_attribute11) OR ((tlinfo.attribute11 IS NULL) AND (X_attribute11 IS NULL)))
5914         AND ((tlinfo.attribute12 = x_attribute12) OR ((tlinfo.attribute12 IS NULL) AND (X_attribute12 IS NULL)))
5915         AND ((tlinfo.attribute13 = x_attribute13) OR ((tlinfo.attribute13 IS NULL) AND (X_attribute13 IS NULL)))
5916         AND ((tlinfo.attribute14 = x_attribute14) OR ((tlinfo.attribute14 IS NULL) AND (X_attribute14 IS NULL)))
5917         AND ((tlinfo.attribute15 = x_attribute15) OR ((tlinfo.attribute15 IS NULL) AND (X_attribute15 IS NULL)))
5918         AND ((tlinfo.attribute16 = x_attribute16) OR ((tlinfo.attribute16 IS NULL) AND (X_attribute16 IS NULL)))
5919         AND ((tlinfo.attribute17 = x_attribute17) OR ((tlinfo.attribute17 IS NULL) AND (X_attribute17 IS NULL)))
5920         AND ((tlinfo.attribute18 = x_attribute18) OR ((tlinfo.attribute18 IS NULL) AND (X_attribute18 IS NULL)))
5921         AND ((tlinfo.attribute19 = x_attribute19) OR ((tlinfo.attribute19 IS NULL) AND (X_attribute19 IS NULL)))
5922         AND ((tlinfo.attribute20 = x_attribute20) OR ((tlinfo.attribute20 IS NULL) AND (X_attribute20 IS NULL)))
5923         AND ((tlinfo.decision_reason_id = x_decision_reason_id) OR ((tlinfo.decision_reason_id IS NULL) AND (X_decision_reason_id IS NULL)))
5924         AND ((tlinfo.us_version_number = x_us_version_number) OR ((tlinfo.us_version_number IS NULL) AND (X_us_version_number IS NULL)))
5925         AND ((tlinfo.decision_notes = x_decision_notes) OR ((tlinfo.decision_notes IS NULL) AND (X_decision_notes IS NULL)))
5926         AND ((tlinfo.pending_reason_id = x_pending_reason_id) OR ((tlinfo.pending_reason_id IS NULL) AND (X_pending_reason_id IS NULL)))
5927         AND ((tlinfo.preference_number = x_preference_number) OR ((tlinfo.preference_number IS NULL) AND (X_preference_number IS NULL)))
5928         AND (tlinfo.adm_doc_status = x_adm_doc_status)
5929         AND (tlinfo.adm_entry_qual_status = x_adm_entry_qual_status)
5930         AND ((tlinfo.deficiency_in_prep = x_deficiency_in_prep) OR ((tlinfo.deficiency_in_prep IS NULL) AND (X_deficiency_in_prep IS NULL)))
5931         AND (tlinfo.late_adm_fee_status = x_late_adm_fee_status)
5932         AND ((tlinfo.spl_consider_comments = x_spl_consider_comments) OR ((tlinfo.spl_consider_comments IS NULL) AND (X_spl_consider_comments IS NULL)))
5933         AND ((tlinfo.apply_for_finaid = x_apply_for_finaid) OR ((tlinfo.apply_for_finaid IS NULL) AND (X_apply_for_finaid IS NULL)))
5934         AND ((TRUNC(tlinfo.finaid_apply_date) = TRUNC(x_finaid_apply_date)) OR ((tlinfo.finaid_apply_date IS NULL) AND (X_finaid_apply_date IS NULL)))
5935         AND (tlinfo.adm_outcome_status = x_adm_outcome_status)
5936         AND ((tlinfo.adm_otcm_status_auth_person_id = x_adm_otcm_stat_auth_per_id) OR ((tlinfo.adm_otcm_status_auth_person_id IS NULL) AND (x_adm_otcm_stat_auth_per_id IS NULL)))
5937         AND ((TRUNC(tlinfo.adm_outcome_status_auth_dt) = TRUNC(x_adm_outcome_status_auth_dt)) OR ((tlinfo.adm_outcome_status_auth_dt IS NULL) AND (X_adm_outcome_status_auth_dt IS NULL)))
5938         AND ((tlinfo.adm_outcome_status_reason = x_adm_outcome_status_reason) OR ((tlinfo.adm_outcome_status_reason IS NULL) AND (X_adm_outcome_status_reason IS NULL)))
5939         AND ((TRUNC(tlinfo.offer_dt) = TRUNC(x_offer_dt)) OR ((tlinfo.offer_dt IS NULL) AND (X_offer_dt IS NULL)))
5940         AND ((TRUNC(tlinfo.offer_response_dt) = TRUNC(x_offer_response_dt)) OR ((tlinfo.offer_response_dt IS NULL) AND (X_offer_response_dt IS NULL)))
5941         AND ((TRUNC(tlinfo.prpsd_commencement_dt) = TRUNC(x_prpsd_commencement_dt)) OR ((tlinfo.prpsd_commencement_dt IS NULL) AND (X_prpsd_commencement_dt IS NULL)))
5942         AND (tlinfo.adm_cndtnl_offer_status = x_adm_cndtnl_offer_status)
5943         AND ((TRUNC(tlinfo.cndtnl_offer_satisfied_dt) = TRUNC(x_cndtnl_offer_satisfied_dt)) OR ((tlinfo.cndtnl_offer_satisfied_dt IS NULL) AND (X_cndtnl_offer_satisfied_dt IS NULL)))
5944         AND (tlinfo.cndtnl_offer_must_be_stsfd_ind = x_cndnl_ofr_must_be_stsfd_ind)
5945         AND (tlinfo.adm_offer_resp_status = x_adm_offer_resp_status)
5946         AND ((TRUNC(tlinfo.actual_response_dt) = TRUNC(x_actual_response_dt)) OR ((tlinfo.actual_response_dt IS NULL) AND (X_actual_response_dt IS NULL)))
5947         AND (tlinfo.adm_offer_dfrmnt_status = x_adm_offer_dfrmnt_status)
5948         AND ((tlinfo.deferred_adm_cal_type = x_deferred_adm_cal_type) OR ((tlinfo.deferred_adm_cal_type IS NULL) AND (X_deferred_adm_cal_type IS NULL)))
5949         AND ((tlinfo.deferred_adm_ci_sequence_num = x_deferred_adm_ci_sequence_num) OR ((tlinfo.deferred_adm_ci_sequence_num IS NULL) AND (X_deferred_adm_ci_sequence_num IS NULL)))
5950         AND ((tlinfo.deferred_tracking_id = x_deferred_tracking_id) OR ((tlinfo.deferred_tracking_id IS NULL) AND (X_deferred_tracking_id IS NULL)))
5951         AND ((tlinfo.ass_rank = x_ass_rank) OR ((tlinfo.ass_rank IS NULL) AND (X_ass_rank IS NULL)))
5952         AND ((tlinfo.secondary_ass_rank = x_secondary_ass_rank) OR ((tlinfo.secondary_ass_rank IS NULL) AND (X_secondary_ass_rank IS NULL)))
5953         AND ((tlinfo.intrntnl_acceptance_advice_num = x_intr_accept_advice_num) OR ((tlinfo.intrntnl_acceptance_advice_num IS NULL) AND (x_intr_accept_advice_num IS NULL)))
5954         AND ((tlinfo.ass_tracking_id = x_ass_tracking_id) OR ((tlinfo.ass_tracking_id IS NULL) AND (X_ass_tracking_id IS NULL)))
5955         AND ((tlinfo.fee_cat = x_fee_cat) OR ((tlinfo.fee_cat IS NULL) AND (X_fee_cat IS NULL)))
5956         AND ((tlinfo.hecs_payment_option = x_hecs_payment_option) OR ((tlinfo.hecs_payment_option IS NULL) AND (X_hecs_payment_option IS NULL)))
5957         AND ((tlinfo.expected_completion_yr = x_expected_completion_yr) OR ((tlinfo.expected_completion_yr IS NULL) AND (X_expected_completion_yr IS NULL)))
5958         AND ((tlinfo.expected_completion_perd = x_expected_completion_perd) OR ((tlinfo.expected_completion_perd IS NULL) AND (X_expected_completion_perd IS NULL)))
5959         AND ((tlinfo.correspondence_cat = x_correspondence_cat) OR ((tlinfo.correspondence_cat IS NULL) AND (X_correspondence_cat IS NULL)))
5960         AND ((tlinfo.enrolment_cat = x_enrolment_cat) OR ((tlinfo.enrolment_cat IS NULL) AND (X_enrolment_cat IS NULL)))
5961         AND ((tlinfo.funding_source = x_funding_source) OR ((tlinfo.funding_source IS NULL) AND (X_funding_source IS NULL)))
5962         AND ((tlinfo.applicant_acptnce_cndtn = x_applicant_acptnce_cndtn) OR ((tlinfo.applicant_acptnce_cndtn IS NULL) AND (X_applicant_acptnce_cndtn IS NULL)))
5963         AND ((tlinfo.cndtnl_offer_cndtn = x_cndtnl_offer_cndtn) OR ((tlinfo.cndtnl_offer_cndtn IS NULL) AND (X_cndtnl_offer_cndtn IS NULL)))
5964         AND ((tlinfo.ss_application_id = x_ss_application_id) OR ((tlinfo.ss_application_id IS NULL) AND (X_ss_application_id IS NULL)))
5965         AND ((tlinfo.ss_pwd = x_ss_pwd) OR ((tlinfo.ss_pwd IS NULL) AND (X_ss_pwd IS NULL)))
5966         AND ((tlinfo.entry_status = x_entry_status) OR ((tlinfo.entry_status IS NULL) AND (X_entry_status IS NULL)))
5967         AND ((tlinfo.entry_level = x_entry_level) OR ((tlinfo.entry_level IS NULL) AND (X_entry_level IS NULL)))
5968         AND ((tlinfo.sch_apl_to_id = x_sch_apl_to_id) OR ((tlinfo.sch_apl_to_id IS NULL) AND (X_sch_apl_to_id IS NULL)))
5969         AND ((TRUNC(tlinfo.authorized_dt) = TRUNC(x_authorized_dt)) OR ((tlinfo.authorized_dt IS NULL) AND (X_authorized_dt IS NULL)))
5970         AND ((tlinfo.authorizing_pers_id = x_authorizing_pers_id) OR ((tlinfo.authorizing_pers_id IS NULL) AND (X_authorizing_pers_id IS NULL)))
5971         AND ((TRUNC(tlinfo.idx_calc_date) = TRUNC(x_idx_calc_date)) OR ((tlinfo.idx_calc_date IS NULL) AND (X_idx_calc_date IS NULL)))
5972         AND ((tlinfo.waitlist_status = x_waitlist_status) OR ((tlinfo.waitlist_status IS NULL) AND (X_waitlist_status IS NULL)))
5973         AND ((tlinfo.attribute21 = x_attribute21) OR ((tlinfo.attribute21 IS NULL) AND (X_attribute21 IS NULL)))
5974         AND ((tlinfo.attribute22 = x_attribute22) OR ((tlinfo.attribute22 IS NULL) AND (X_attribute22 IS NULL)))
5975         AND ((tlinfo.attribute23 = x_attribute23) OR ((tlinfo.attribute23 IS NULL) AND (X_attribute23 IS NULL)))
5976         AND ((tlinfo.attribute24 = x_attribute24) OR ((tlinfo.attribute24 IS NULL) AND (X_attribute24 IS NULL)))
5977         AND ((tlinfo.attribute25 = x_attribute25) OR ((tlinfo.attribute25 IS NULL) AND (X_attribute25 IS NULL)))
5978         AND ((tlinfo.attribute26 = x_attribute26) OR ((tlinfo.attribute26 IS NULL) AND (X_attribute26 IS NULL)))
5979         AND ((tlinfo.attribute27 = x_attribute27) OR ((tlinfo.attribute27 IS NULL) AND (X_attribute27 IS NULL)))
5980         AND ((tlinfo.attribute28 = x_attribute28) OR ((tlinfo.attribute28 IS NULL) AND (X_attribute28 IS NULL)))
5981         AND ((tlinfo.attribute29 = x_attribute29) OR ((tlinfo.attribute29 IS NULL) AND (X_attribute29 IS NULL)))
5982         AND ((tlinfo.attribute30 = x_attribute30) OR ((tlinfo.attribute30 IS NULL) AND (X_attribute30 IS NULL)))
5983         AND ((tlinfo.attribute31 = x_attribute31) OR ((tlinfo.attribute31 IS NULL) AND (X_attribute31 IS NULL)))
5984         AND ((tlinfo.attribute32 = x_attribute32) OR ((tlinfo.attribute32 IS NULL) AND (X_attribute32 IS NULL)))
5985         AND ((tlinfo.attribute33 = x_attribute33) OR ((tlinfo.attribute33 IS NULL) AND (X_attribute33 IS NULL)))
5986         AND ((tlinfo.attribute34 = x_attribute34) OR ((tlinfo.attribute34 IS NULL) AND (X_attribute34 IS NULL)))
5987         AND ((tlinfo.attribute35 = x_attribute35) OR ((tlinfo.attribute35 IS NULL) AND (X_attribute35 IS NULL)))
5988         AND ((tlinfo.attribute36 = x_attribute36) OR ((tlinfo.attribute36 IS NULL) AND (X_attribute36 IS NULL)))
5989         AND ((tlinfo.attribute37 = x_attribute37) OR ((tlinfo.attribute37 IS NULL) AND (X_attribute37 IS NULL)))
5990         AND ((tlinfo.attribute38 = x_attribute38) OR ((tlinfo.attribute38 IS NULL) AND (X_attribute38 IS NULL)))
5991         AND ((tlinfo.attribute39 = x_attribute39) OR ((tlinfo.attribute39 IS NULL) AND (X_attribute39 IS NULL)))
5992         AND ((tlinfo.attribute40 = x_attribute40) OR ((tlinfo.attribute40 IS NULL) AND (X_attribute40 IS NULL)))
5993         AND ((tlinfo.future_acad_cal_type = x_fut_acad_cal_type) OR ((tlinfo.future_acad_cal_type IS NULL)
5994             AND (x_fut_acad_cal_type IS NULL)))
5995         AND ((tlinfo.future_acad_ci_sequence_number = x_fut_acad_ci_sequence_number) OR
5996             ((tlinfo.future_acad_ci_sequence_number IS NULL) AND (x_fut_acad_ci_sequence_number IS NULL)))
5997         AND ((tlinfo.future_adm_cal_type = x_fut_adm_cal_type) OR ((tlinfo.future_adm_cal_type IS NULL)
5998             AND (x_fut_adm_cal_type IS NULL)))
5999         AND ((tlinfo.future_adm_ci_sequence_number = x_fut_adm_ci_sequence_number) OR
6000             ((tlinfo.future_adm_ci_sequence_number IS NULL) AND (x_fut_adm_ci_sequence_number IS NULL)))
6001         AND ((tlinfo.previous_term_adm_appl_number = x_prev_term_adm_appl_number) OR
6002             ((tlinfo.previous_term_adm_appl_number IS NULL) AND (x_prev_term_adm_appl_number IS NULL)))
6003         AND ((tlinfo.previous_term_sequence_number = x_prev_term_sequence_number) OR
6004             ((tlinfo.previous_term_sequence_number IS NULL) AND (x_prev_term_sequence_number IS NULL)))
6005         AND ((tlinfo.future_term_adm_appl_number = x_fut_term_adm_appl_number) OR
6006             ((tlinfo.future_term_adm_appl_number IS NULL) AND (x_fut_term_adm_appl_number IS NULL)))
6007         AND ((tlinfo.future_term_sequence_number = x_fut_term_sequence_number) OR
6008             ((tlinfo.future_term_sequence_number IS NULL) AND (x_fut_term_sequence_number IS NULL)))
6009         AND ((tlinfo.def_acad_cal_type = x_def_acad_cal_type) OR
6010             ((tlinfo.def_acad_cal_type IS NULL) AND (x_def_acad_cal_type IS NULL)))
6011         AND ((tlinfo.def_acad_ci_sequence_num = x_def_acad_ci_sequence_num) OR
6012             ((tlinfo.def_acad_ci_sequence_num IS NULL) AND (x_def_acad_ci_sequence_num IS NULL)))
6013         AND ((tlinfo.def_prev_term_adm_appl_num = x_def_prev_term_adm_appl_num) OR
6014             ((tlinfo.def_prev_term_adm_appl_num IS NULL) AND (x_def_prev_term_adm_appl_num IS NULL)))
6015         AND ((tlinfo.def_prev_appl_sequence_num = x_def_prev_appl_sequence_num) OR
6016             ((tlinfo.def_prev_appl_sequence_num IS NULL) AND (x_def_prev_appl_sequence_num IS NULL)))
6017         AND ((tlinfo.def_term_adm_appl_num = x_def_term_adm_appl_num) OR
6018             ((tlinfo.def_term_adm_appl_num IS NULL) AND (x_def_term_adm_appl_num IS NULL)))
6019         AND ((tlinfo.def_appl_sequence_num = x_def_appl_sequence_num) OR
6020             ((tlinfo.def_appl_sequence_num IS NULL) AND (x_def_appl_sequence_num IS NULL)))
6021 
6022 	AND ((tlinfo.appl_inst_status = x_appl_inst_status) OR						--arvsrini igsm
6023             ((tlinfo.appl_inst_status IS NULL) AND (x_appl_inst_status IS NULL)))
6024 	AND ((tlinfo.ais_reason = x_ais_reason) OR
6025             ((tlinfo.ais_reason IS NULL) AND (x_ais_reason IS NULL)))
6026 	AND ((tlinfo.decline_ofr_reason = x_decline_ofr_reason) OR
6027             ((tlinfo.decline_ofr_reason IS NULL) AND (x_decline_ofr_reason IS NULL)))
6028 
6029        ) THEN
6030     null;
6031   else
6032     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
6033       IGS_GE_MSG_STACK.ADD;
6034     app_exception.raise_exception;
6035   end if;
6036   return;
6037 end LOCK_ROW;
6038  Procedure UPDATE_ROW (
6039       X_ROWID in  VARCHAR2,
6040        x_PERSON_ID IN NUMBER,
6041        x_ADMISSION_APPL_NUMBER IN NUMBER,
6042        x_NOMINATED_COURSE_CD IN VARCHAR2,
6043        x_SEQUENCE_NUMBER IN NUMBER,
6044        x_PREDICTED_GPA IN NUMBER,
6045        x_ACADEMIC_INDEX IN VARCHAR2,
6046        x_ADM_CAL_TYPE IN VARCHAR2,
6047        x_APP_FILE_LOCATION IN VARCHAR2,
6048        x_ADM_CI_SEQUENCE_NUMBER IN NUMBER,
6049        x_COURSE_CD IN VARCHAR2,
6050        x_APP_SOURCE_ID IN NUMBER,
6051        x_CRV_VERSION_NUMBER IN NUMBER,
6052        x_WAITLIST_RANK IN VARCHAR2,
6053        x_LOCATION_CD IN VARCHAR2,
6054        x_ATTENT_OTHER_INST_CD IN VARCHAR2,
6055        x_ATTENDANCE_MODE IN VARCHAR2,
6056        x_EDU_GOAL_PRIOR_ENROLL_ID IN NUMBER,
6057        x_ATTENDANCE_TYPE IN VARCHAR2,
6058        x_DECISION_MAKE_ID IN NUMBER,
6059        x_UNIT_SET_CD IN VARCHAR2,
6060        x_DECISION_DATE IN DATE,
6061        x_ATTRIBUTE_CATEGORY IN VARCHAR2,
6062        x_ATTRIBUTE1 IN VARCHAR2,
6063        x_ATTRIBUTE2 IN VARCHAR2,
6064        x_ATTRIBUTE3 IN VARCHAR2,
6065        x_ATTRIBUTE4 IN VARCHAR2,
6066        x_ATTRIBUTE5 IN VARCHAR2,
6067        x_ATTRIBUTE6 IN VARCHAR2,
6068        x_ATTRIBUTE7 IN VARCHAR2,
6069        x_ATTRIBUTE8 IN VARCHAR2,
6070        x_ATTRIBUTE9 IN VARCHAR2,
6071        x_ATTRIBUTE10 IN VARCHAR2,
6072        x_ATTRIBUTE11 IN VARCHAR2,
6073        x_ATTRIBUTE12 IN VARCHAR2,
6074        x_ATTRIBUTE13 IN VARCHAR2,
6075        x_ATTRIBUTE14 IN VARCHAR2,
6076        x_ATTRIBUTE15 IN VARCHAR2,
6077        x_ATTRIBUTE16 IN VARCHAR2,
6078        x_ATTRIBUTE17 IN VARCHAR2,
6079        x_ATTRIBUTE18 IN VARCHAR2,
6080        x_ATTRIBUTE19 IN VARCHAR2,
6081        x_ATTRIBUTE20 IN VARCHAR2,
6082        x_DECISION_REASON_ID IN NUMBER,
6083        x_US_VERSION_NUMBER IN NUMBER,
6084        x_DECISION_NOTES IN VARCHAR2,
6085        x_PENDING_REASON_ID IN NUMBER,
6086        x_PREFERENCE_NUMBER IN NUMBER,
6087        x_ADM_DOC_STATUS IN VARCHAR2,
6088        x_ADM_ENTRY_QUAL_STATUS IN VARCHAR2,
6089        x_DEFICIENCY_IN_PREP IN VARCHAR2,
6090        x_LATE_ADM_FEE_STATUS IN VARCHAR2,
6091        x_SPL_CONSIDER_COMMENTS IN VARCHAR2,
6092        x_APPLY_FOR_FINAID IN VARCHAR2,
6093        x_FINAID_APPLY_DATE IN DATE,
6094        x_ADM_OUTCOME_STATUS IN VARCHAR2,
6095        x_adm_otcm_stat_auth_per_id IN NUMBER,
6096        x_ADM_OUTCOME_STATUS_AUTH_DT IN DATE,
6097        x_ADM_OUTCOME_STATUS_REASON IN VARCHAR2,
6098        x_OFFER_DT IN DATE,
6099        x_OFFER_RESPONSE_DT IN DATE,
6100        x_PRPSD_COMMENCEMENT_DT IN DATE,
6101        x_ADM_CNDTNL_OFFER_STATUS IN VARCHAR2,
6102        x_CNDTNL_OFFER_SATISFIED_DT IN DATE,
6103        x_cndnl_ofr_must_be_stsfd_ind IN VARCHAR2,
6104        x_ADM_OFFER_RESP_STATUS IN VARCHAR2,
6105        x_ACTUAL_RESPONSE_DT IN DATE,
6106        x_ADM_OFFER_DFRMNT_STATUS IN VARCHAR2,
6107        x_DEFERRED_ADM_CAL_TYPE IN VARCHAR2,
6108        x_DEFERRED_ADM_CI_SEQUENCE_NUM IN NUMBER,
6109        x_DEFERRED_TRACKING_ID IN NUMBER,
6110        x_ASS_RANK IN NUMBER,
6111        x_SECONDARY_ASS_RANK IN NUMBER,
6112        x_intr_accept_advice_num IN NUMBER,
6113        x_ASS_TRACKING_ID IN NUMBER,
6114        x_FEE_CAT IN VARCHAR2,
6115        x_HECS_PAYMENT_OPTION IN VARCHAR2,
6116        x_EXPECTED_COMPLETION_YR IN NUMBER,
6117        x_EXPECTED_COMPLETION_PERD IN VARCHAR2,
6118        x_CORRESPONDENCE_CAT IN VARCHAR2,
6119        x_ENROLMENT_CAT IN VARCHAR2,
6120        x_FUNDING_SOURCE IN VARCHAR2,
6121        x_APPLICANT_ACPTNCE_CNDTN IN VARCHAR2,
6122        x_CNDTNL_OFFER_CNDTN IN VARCHAR2,
6123        X_MODE in VARCHAR2,
6124        X_SS_APPLICATION_ID IN VARCHAR2,
6125        X_SS_PWD IN VARCHAR2       ,
6126        X_AUTHORIZED_DT DATE,
6127        X_AUTHORIZING_PERS_ID NUMBER,
6128        x_entry_status IN NUMBER,
6129        x_entry_level IN NUMBER,
6130        x_sch_apl_to_id IN NUMBER,
6131        x_idx_calc_date IN DATE,
6132        x_waitlist_status IN VARCHAR2,
6133        x_ATTRIBUTE21 IN VARCHAR2,
6134        x_ATTRIBUTE22 IN VARCHAR2,
6135        x_ATTRIBUTE23 IN VARCHAR2,
6136        x_ATTRIBUTE24 IN VARCHAR2,
6137        x_ATTRIBUTE25 IN VARCHAR2,
6138        x_ATTRIBUTE26 IN VARCHAR2,
6139        x_ATTRIBUTE27 IN VARCHAR2,
6140        x_ATTRIBUTE28 IN VARCHAR2,
6141        x_ATTRIBUTE29 IN VARCHAR2,
6142        x_ATTRIBUTE30 IN VARCHAR2,
6143        x_ATTRIBUTE31 IN VARCHAR2,
6144        x_ATTRIBUTE32 IN VARCHAR2,
6145        x_ATTRIBUTE33 IN VARCHAR2,
6146        x_ATTRIBUTE34 IN VARCHAR2,
6147        x_ATTRIBUTE35 IN VARCHAR2,
6148        x_ATTRIBUTE36 IN VARCHAR2,
6149        x_ATTRIBUTE37 IN VARCHAR2,
6150        x_ATTRIBUTE38 IN VARCHAR2,
6151        x_ATTRIBUTE39 IN VARCHAR2,
6152        x_ATTRIBUTE40 IN VARCHAR2,
6153        x_fut_acad_cal_type           IN VARCHAR2,
6154        x_fut_acad_ci_sequence_number IN NUMBER  ,
6155        x_fut_adm_cal_type            IN VARCHAR2,
6156        x_fut_adm_ci_sequence_number  IN NUMBER  ,
6157        x_prev_term_adm_appl_number  IN NUMBER  ,
6158        x_prev_term_sequence_number  IN NUMBER  ,
6159        x_fut_term_adm_appl_number    IN NUMBER  ,
6160        x_fut_term_sequence_number    IN NUMBER  ,
6161        x_def_acad_cal_type IN VARCHAR2,
6162        x_def_acad_ci_sequence_num  IN NUMBER  ,
6163        x_def_prev_term_adm_appl_num  IN NUMBER  ,
6164        x_def_prev_appl_sequence_num  IN NUMBER  ,
6165        x_def_term_adm_appl_num  IN NUMBER  ,
6166        x_def_appl_sequence_num  IN NUMBER  ,
6167        x_appl_inst_status	IN VARCHAR2,							--arvsrini igsm
6168        x_ais_reason		IN VARCHAR2,
6169        x_decline_ofr_reason	IN VARCHAR2
6170   ) IS
6171   /*************************************************************
6172   Created By : nsinha
6173   Date Created By :
6174   Purpose :
6175   Know limitations, enhancements or remarks
6176   Change History
6177   Who             When            What
6178   nsinha         Jul 30, 2001     Bug enh no : 1905651 changes.
6179                                   Added entry_status, entry_level and sch_apl_to_id
6180                                   to the procedures
6181   (reverse chronological order - newest change first)
6182   ***************************************************************/
6183      X_LAST_UPDATE_DATE DATE ;
6184      X_LAST_UPDATED_BY NUMBER ;
6185      X_LAST_UPDATE_LOGIN NUMBER ;
6186      X_REQUEST_ID NUMBER;
6187      X_PROGRAM_ID NUMBER;
6188      X_PROGRAM_APPLICATION_ID NUMBER;
6189      X_PROGRAM_UPDATE_DATE DATE;
6190  begin
6191     X_LAST_UPDATE_DATE := SYSDATE;
6192     if(X_MODE = 'I') then
6193       X_LAST_UPDATED_BY := 1;
6194       X_LAST_UPDATE_LOGIN := 0;
6195     elsif (X_MODE IN ('R', 'S')) then
6196       X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
6197       if X_LAST_UPDATED_BY is NULL then
6198         X_LAST_UPDATED_BY := -1;
6199       end if;
6200       X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
6201       if X_LAST_UPDATE_LOGIN is NULL then
6202         X_LAST_UPDATE_LOGIN := -1;
6203       end if;
6204     else
6205       FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
6206       IGS_GE_MSG_STACK.ADD;
6207       app_exception.raise_exception;
6208     end if;
6209 
6210    Before_DML(
6211                 p_action=>'UPDATE',
6212                 x_rowid=>X_ROWID,
6213                x_person_id=>X_PERSON_ID,
6214                x_admission_appl_number=>X_ADMISSION_APPL_NUMBER,
6215                x_nominated_course_cd=>X_NOMINATED_COURSE_CD,
6216                x_sequence_number=>X_SEQUENCE_NUMBER,
6217                x_predicted_gpa=>X_PREDICTED_GPA,
6218                x_academic_index=>X_ACADEMIC_INDEX,
6219                x_adm_cal_type=>X_ADM_CAL_TYPE,
6220                x_app_file_location=>X_APP_FILE_LOCATION,
6221                x_adm_ci_sequence_number=>X_ADM_CI_SEQUENCE_NUMBER,
6222                x_course_cd=>X_COURSE_CD,
6223                x_app_source_id=>X_APP_SOURCE_ID,
6224                x_crv_version_number=>X_CRV_VERSION_NUMBER,
6225                x_waitlist_rank=>X_WAITLIST_RANK,
6226                x_location_cd=>X_LOCATION_CD,
6227                x_attent_other_inst_cd=>X_ATTENT_OTHER_INST_CD,
6228                x_attendance_mode=>X_ATTENDANCE_MODE,
6229                x_edu_goal_prior_enroll_id=>X_EDU_GOAL_PRIOR_ENROLL_ID,
6230                x_attendance_type=>X_ATTENDANCE_TYPE,
6231                x_decision_make_id=>X_DECISION_MAKE_ID,
6232                x_unit_set_cd=>X_UNIT_SET_CD,
6233                x_decision_date=>X_DECISION_DATE,
6234                x_attribute_category=>X_ATTRIBUTE_CATEGORY,
6235                x_attribute1=>X_ATTRIBUTE1,
6236                x_attribute2=>X_ATTRIBUTE2,
6237                x_attribute3=>X_ATTRIBUTE3,
6238                x_attribute4=>X_ATTRIBUTE4,
6239                x_attribute5=>X_ATTRIBUTE5,
6240                x_attribute6=>X_ATTRIBUTE6,
6241                x_attribute7=>X_ATTRIBUTE7,
6242                x_attribute8=>X_ATTRIBUTE8,
6243                x_attribute9=>X_ATTRIBUTE9,
6244                x_attribute10=>X_ATTRIBUTE10,
6245                x_attribute11=>X_ATTRIBUTE11,
6246                x_attribute12=>X_ATTRIBUTE12,
6247                x_attribute13=>X_ATTRIBUTE13,
6248                x_attribute14=>X_ATTRIBUTE14,
6249                x_attribute15=>X_ATTRIBUTE15,
6250                x_attribute16=>X_ATTRIBUTE16,
6251                x_attribute17=>X_ATTRIBUTE17,
6252                x_attribute18=>X_ATTRIBUTE18,
6253                x_attribute19=>X_ATTRIBUTE19,
6254                x_attribute20=>X_ATTRIBUTE20,
6255                x_decision_reason_id=>X_DECISION_REASON_ID,
6256                x_us_version_number=>X_US_VERSION_NUMBER,
6257                x_decision_notes=>X_DECISION_NOTES,
6258                x_pending_reason_id=>X_PENDING_REASON_ID,
6259                x_preference_number=>X_PREFERENCE_NUMBER,
6260                x_adm_doc_status=>X_ADM_DOC_STATUS,
6261                x_adm_entry_qual_status=>X_ADM_ENTRY_QUAL_STATUS,
6262                x_deficiency_in_prep=>X_DEFICIENCY_IN_PREP,
6263                x_late_adm_fee_status=>X_LATE_ADM_FEE_STATUS,
6264                x_spl_consider_comments=>X_SPL_CONSIDER_COMMENTS,
6265                x_apply_for_finaid=>X_APPLY_FOR_FINAID,
6266                x_finaid_apply_date=>X_FINAID_APPLY_DATE,
6267                x_adm_outcome_status=>X_ADM_OUTCOME_STATUS,
6268                x_adm_otcm_stat_auth_per_id=>x_adm_otcm_stat_auth_per_id,
6269                x_adm_outcome_status_auth_dt=>X_ADM_OUTCOME_STATUS_AUTH_DT,
6270                x_adm_outcome_status_reason=>X_ADM_OUTCOME_STATUS_REASON,
6271                x_offer_dt=>X_OFFER_DT,
6272                x_offer_response_dt=>X_OFFER_RESPONSE_DT,
6273                x_prpsd_commencement_dt=>X_PRPSD_COMMENCEMENT_DT,
6274                x_adm_cndtnl_offer_status=>X_ADM_CNDTNL_OFFER_STATUS,
6275                x_cndtnl_offer_satisfied_dt=>X_CNDTNL_OFFER_SATISFIED_DT,
6276                x_cndnl_ofr_must_be_stsfd_ind=>NVL(x_cndnl_ofr_must_be_stsfd_ind,'N' ),
6277                x_adm_offer_resp_status=>X_ADM_OFFER_RESP_STATUS,
6278                x_actual_response_dt=>X_ACTUAL_RESPONSE_DT,
6279                x_adm_offer_dfrmnt_status=>X_ADM_OFFER_DFRMNT_STATUS,
6280                x_deferred_adm_cal_type=>X_DEFERRED_ADM_CAL_TYPE,
6281                x_deferred_adm_ci_sequence_num=>X_DEFERRED_ADM_CI_SEQUENCE_NUM,
6282                x_deferred_tracking_id=>X_DEFERRED_TRACKING_ID,
6283                x_ass_rank=>X_ASS_RANK,
6284                x_secondary_ass_rank=>X_SECONDARY_ASS_RANK,
6285                x_intr_accept_advice_num=>x_intr_accept_advice_num,
6286                x_ass_tracking_id=>X_ASS_TRACKING_ID,
6287                x_fee_cat=>X_FEE_CAT,
6288                x_hecs_payment_option=>X_HECS_PAYMENT_OPTION,
6289                x_expected_completion_yr=>X_EXPECTED_COMPLETION_YR,
6290                x_expected_completion_perd=>X_EXPECTED_COMPLETION_PERD,
6291                x_correspondence_cat=>X_CORRESPONDENCE_CAT,
6292                x_enrolment_cat=>X_ENROLMENT_CAT,
6293                x_funding_source=>X_FUNDING_SOURCE,
6294                x_applicant_acptnce_cndtn=>X_APPLICANT_ACPTNCE_CNDTN,
6295                x_cndtnl_offer_cndtn=>X_CNDTNL_OFFER_CNDTN,
6296                x_creation_date=>X_LAST_UPDATE_DATE,
6297                x_created_by=>X_LAST_UPDATED_BY,
6298                x_last_update_date=>X_LAST_UPDATE_DATE,
6299                x_last_updated_by=>X_LAST_UPDATED_BY,
6300                x_last_update_login=>X_LAST_UPDATE_LOGIN,
6301                x_ss_application_id => x_ss_application_id,
6302                x_ss_pwd => x_ss_pwd,
6303                x_authorized_dt => x_authorized_dt,
6304                x_authorizing_pers_id => x_authorizing_pers_id,
6305                x_entry_status => x_entry_status,
6306                x_entry_level => x_entry_level,
6307                x_sch_apl_to_id => x_sch_apl_to_id,
6308                x_idx_calc_date => x_idx_calc_date,
6309                x_waitlist_status => x_waitlist_status,
6310                x_attribute21=>X_ATTRIBUTE21,
6311                x_attribute22=>X_ATTRIBUTE22,
6312                x_attribute23=>X_ATTRIBUTE23,
6313                x_attribute24=>X_ATTRIBUTE24,
6314                x_attribute25=>X_ATTRIBUTE25,
6315                x_attribute26=>X_ATTRIBUTE26,
6316                x_attribute27=>X_ATTRIBUTE27,
6317                x_attribute28=>X_ATTRIBUTE28,
6318                x_attribute29=>X_ATTRIBUTE29,
6319                x_attribute30=>X_ATTRIBUTE30,
6320                x_attribute31=>X_ATTRIBUTE31,
6321                x_attribute32=>X_ATTRIBUTE32,
6322                x_attribute33=>X_ATTRIBUTE33,
6323                x_attribute34=>X_ATTRIBUTE34,
6324                x_attribute35=>X_ATTRIBUTE35,
6325                x_attribute36=>X_ATTRIBUTE36,
6326                x_attribute37=>X_ATTRIBUTE37,
6327                x_attribute38=>X_ATTRIBUTE38,
6328                x_attribute39=>X_ATTRIBUTE39,
6329                x_attribute40=>X_ATTRIBUTE40,
6330                x_fut_acad_cal_type           => x_fut_acad_cal_type,
6331                x_fut_acad_ci_sequence_number => x_fut_acad_ci_sequence_number,
6332                x_fut_adm_cal_type            => x_fut_adm_cal_type,
6333                x_fut_adm_ci_sequence_number  => x_fut_adm_ci_sequence_number,
6334                x_prev_term_adm_appl_number  => x_prev_term_adm_appl_number,
6335                x_prev_term_sequence_number  => x_prev_term_sequence_number,
6336                x_fut_term_adm_appl_number    => x_fut_term_adm_appl_number,
6337                x_fut_term_sequence_number    => x_fut_term_sequence_number,
6338                x_def_acad_cal_type     =>       x_def_acad_cal_type,
6339                x_def_acad_ci_sequence_num      =>       x_def_acad_ci_sequence_num,
6340                x_def_prev_term_adm_appl_num      =>       x_def_prev_term_adm_appl_num,
6341                x_def_prev_appl_sequence_num      =>       x_def_prev_appl_sequence_num,
6342                x_def_term_adm_appl_num      =>       x_def_term_adm_appl_num,
6343                x_def_appl_sequence_num      =>       x_def_appl_sequence_num,
6344 	       x_appl_inst_status	    =>       x_appl_inst_status,				--arvsrini igsm
6345 	       x_ais_reason		    =>	     x_ais_reason,
6346 	       x_decline_ofr_reason         =>	     x_decline_ofr_reason
6347                );
6348 
6349     if (X_MODE IN ('R', 'S')) then
6350       X_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
6351       X_PROGRAM_ID := FND_GLOBAL.CONC_PROGRAM_ID;
6352       X_PROGRAM_APPLICATION_ID := FND_GLOBAL.PROG_APPL_ID;
6353       if (X_REQUEST_ID = -1) then
6354         X_REQUEST_ID := OLD_REFERENCES.REQUEST_ID;
6355         X_PROGRAM_ID := OLD_REFERENCES. PROGRAM_ID;
6356         X_PROGRAM_APPLICATION_ID := OLD_REFERENCES.PROGRAM_APPLICATION_ID;
6357         X_PROGRAM_UPDATE_DATE := OLD_REFERENCES.PROGRAM_UPDATE_DATE;
6358       else
6359         X_PROGRAM_UPDATE_DATE := SYSDATE;
6360       end if;
6361     end if;
6362      IF (x_mode = 'S') THEN
6363     igs_sc_gen_001.set_ctx('R');
6364   END IF;
6365 
6366  update IGS_AD_PS_APPL_INST_ALL set
6367       PREDICTED_GPA =  NEW_REFERENCES.PREDICTED_GPA,
6368       ACADEMIC_INDEX =  NEW_REFERENCES.ACADEMIC_INDEX,
6369       ADM_CAL_TYPE =  NEW_REFERENCES.ADM_CAL_TYPE,
6370       APP_FILE_LOCATION =  NEW_REFERENCES.APP_FILE_LOCATION,
6371       ADM_CI_SEQUENCE_NUMBER =  NEW_REFERENCES.ADM_CI_SEQUENCE_NUMBER,
6372       COURSE_CD =  NEW_REFERENCES.COURSE_CD,
6373       APP_SOURCE_ID =  NEW_REFERENCES.APP_SOURCE_ID,
6374       CRV_VERSION_NUMBER =  NEW_REFERENCES.CRV_VERSION_NUMBER,
6375       WAITLIST_RANK =  NEW_REFERENCES.WAITLIST_RANK,
6376       LOCATION_CD =  NEW_REFERENCES.LOCATION_CD,
6377       ATTENT_OTHER_INST_CD =  NEW_REFERENCES.ATTENT_OTHER_INST_CD,
6378       ATTENDANCE_MODE =  NEW_REFERENCES.ATTENDANCE_MODE,
6379       EDU_GOAL_PRIOR_ENROLL_ID =  NEW_REFERENCES.EDU_GOAL_PRIOR_ENROLL_ID,
6380       ATTENDANCE_TYPE =  NEW_REFERENCES.ATTENDANCE_TYPE,
6381       DECISION_MAKE_ID =  NEW_REFERENCES.DECISION_MAKE_ID,
6382       UNIT_SET_CD =  NEW_REFERENCES.UNIT_SET_CD,
6383       DECISION_DATE =  NEW_REFERENCES.DECISION_DATE,
6384       ATTRIBUTE_CATEGORY =  NEW_REFERENCES.ATTRIBUTE_CATEGORY,
6385       ATTRIBUTE1 =  NEW_REFERENCES.ATTRIBUTE1,
6386       ATTRIBUTE2 =  NEW_REFERENCES.ATTRIBUTE2,
6387       ATTRIBUTE3 =  NEW_REFERENCES.ATTRIBUTE3,
6388       ATTRIBUTE4 =  NEW_REFERENCES.ATTRIBUTE4,
6389       ATTRIBUTE5 =  NEW_REFERENCES.ATTRIBUTE5,
6390       ATTRIBUTE6 =  NEW_REFERENCES.ATTRIBUTE6,
6391       ATTRIBUTE7 =  NEW_REFERENCES.ATTRIBUTE7,
6392       ATTRIBUTE8 =  NEW_REFERENCES.ATTRIBUTE8,
6393       ATTRIBUTE9 =  NEW_REFERENCES.ATTRIBUTE9,
6394       ATTRIBUTE10 =  NEW_REFERENCES.ATTRIBUTE10,
6395       ATTRIBUTE11 =  NEW_REFERENCES.ATTRIBUTE11,
6396       ATTRIBUTE12 =  NEW_REFERENCES.ATTRIBUTE12,
6397       ATTRIBUTE13 =  NEW_REFERENCES.ATTRIBUTE13,
6398       ATTRIBUTE14 =  NEW_REFERENCES.ATTRIBUTE14,
6399       ATTRIBUTE15 =  NEW_REFERENCES.ATTRIBUTE15,
6400       ATTRIBUTE16 =  NEW_REFERENCES.ATTRIBUTE16,
6401       ATTRIBUTE17 =  NEW_REFERENCES.ATTRIBUTE17,
6402       ATTRIBUTE18 =  NEW_REFERENCES.ATTRIBUTE18,
6403       ATTRIBUTE19 =  NEW_REFERENCES.ATTRIBUTE19,
6404       ATTRIBUTE20 =  NEW_REFERENCES.ATTRIBUTE20,
6405       DECISION_REASON_ID =  NEW_REFERENCES.DECISION_REASON_ID,
6406       US_VERSION_NUMBER =  NEW_REFERENCES.US_VERSION_NUMBER,
6407       DECISION_NOTES =  NEW_REFERENCES.DECISION_NOTES,
6408       PENDING_REASON_ID =  NEW_REFERENCES.PENDING_REASON_ID,
6409       PREFERENCE_NUMBER =  NEW_REFERENCES.PREFERENCE_NUMBER,
6410       ADM_DOC_STATUS =  NEW_REFERENCES.ADM_DOC_STATUS,
6411       ADM_ENTRY_QUAL_STATUS =  NEW_REFERENCES.ADM_ENTRY_QUAL_STATUS,
6412       DEFICIENCY_IN_PREP =  NEW_REFERENCES.DEFICIENCY_IN_PREP,
6413       LATE_ADM_FEE_STATUS =  NEW_REFERENCES.LATE_ADM_FEE_STATUS,
6414       SPL_CONSIDER_COMMENTS =  NEW_REFERENCES.SPL_CONSIDER_COMMENTS,
6415       APPLY_FOR_FINAID =  NEW_REFERENCES.APPLY_FOR_FINAID,
6416       FINAID_APPLY_DATE =  NEW_REFERENCES.FINAID_APPLY_DATE,
6417       ADM_OUTCOME_STATUS =  NEW_REFERENCES.ADM_OUTCOME_STATUS,
6418       ADM_OTCM_STATUS_AUTH_PERSON_ID =  NEW_REFERENCES.ADM_OTCM_STATUS_AUTH_PERSON_ID,
6419       ADM_OUTCOME_STATUS_AUTH_DT =  NEW_REFERENCES.ADM_OUTCOME_STATUS_AUTH_DT,
6420       ADM_OUTCOME_STATUS_REASON =  NEW_REFERENCES.ADM_OUTCOME_STATUS_REASON,
6421       OFFER_DT =  NEW_REFERENCES.OFFER_DT,
6422       OFFER_RESPONSE_DT =  NEW_REFERENCES.OFFER_RESPONSE_DT,
6423       PRPSD_COMMENCEMENT_DT =  NEW_REFERENCES.PRPSD_COMMENCEMENT_DT,
6424       ADM_CNDTNL_OFFER_STATUS =  NEW_REFERENCES.ADM_CNDTNL_OFFER_STATUS,
6425       CNDTNL_OFFER_SATISFIED_DT =  NEW_REFERENCES.CNDTNL_OFFER_SATISFIED_DT,
6426       CNDTNL_OFFER_MUST_BE_STSFD_IND =  NEW_REFERENCES.CNDTNL_OFFER_MUST_BE_STSFD_IND,
6427       ADM_OFFER_RESP_STATUS =  NEW_REFERENCES.ADM_OFFER_RESP_STATUS,
6428       ACTUAL_RESPONSE_DT =  NEW_REFERENCES.ACTUAL_RESPONSE_DT,
6429       ADM_OFFER_DFRMNT_STATUS =  NEW_REFERENCES.ADM_OFFER_DFRMNT_STATUS,
6430       DEFERRED_ADM_CAL_TYPE =  NEW_REFERENCES.DEFERRED_ADM_CAL_TYPE,
6431       DEFERRED_ADM_CI_SEQUENCE_NUM =  NEW_REFERENCES.DEFERRED_ADM_CI_SEQUENCE_NUM,
6432       DEFERRED_TRACKING_ID =  NEW_REFERENCES.DEFERRED_TRACKING_ID,
6433       ASS_RANK =  NEW_REFERENCES.ASS_RANK,
6434       SECONDARY_ASS_RANK =  NEW_REFERENCES.SECONDARY_ASS_RANK,
6435       INTRNTNL_ACCEPTANCE_ADVICE_NUM =  NEW_REFERENCES.INTRNTNL_ACCEPTANCE_ADVICE_NUM,
6436       ASS_TRACKING_ID =  NEW_REFERENCES.ASS_TRACKING_ID,
6437       FEE_CAT =  NEW_REFERENCES.FEE_CAT,
6438       HECS_PAYMENT_OPTION =  NEW_REFERENCES.HECS_PAYMENT_OPTION,
6439       EXPECTED_COMPLETION_YR =  NEW_REFERENCES.EXPECTED_COMPLETION_YR,
6440       EXPECTED_COMPLETION_PERD =  NEW_REFERENCES.EXPECTED_COMPLETION_PERD,
6441       CORRESPONDENCE_CAT =  NEW_REFERENCES.CORRESPONDENCE_CAT,
6442       ENROLMENT_CAT =  NEW_REFERENCES.ENROLMENT_CAT,
6443       FUNDING_SOURCE =  NEW_REFERENCES.FUNDING_SOURCE,
6444       APPLICANT_ACPTNCE_CNDTN =  NEW_REFERENCES.APPLICANT_ACPTNCE_CNDTN,
6445       CNDTNL_OFFER_CNDTN =  NEW_REFERENCES.CNDTNL_OFFER_CNDTN,
6446         LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
6447         LAST_UPDATED_BY = X_LAST_UPDATED_BY,
6448         LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
6449         REQUEST_ID = X_REQUEST_ID,
6450         PROGRAM_ID = X_PROGRAM_ID,
6451         PROGRAM_APPLICATION_ID = PROGRAM_APPLICATION_ID,
6452         PROGRAM_UPDATE_DATE = X_PROGRAM_UPDATE_DATE,
6453         SS_APPLICATION_ID = NEW_REFERENCES.SS_APPLICATION_ID,
6454         SS_PWD = NEW_REFERENCES.SS_PWD,
6455         AUTHORIZED_DT = NEW_REFERENCES.AUTHORIZED_DT,
6456         AUTHORIZING_PERS_ID = NEW_REFERENCES.AUTHORIZING_PERS_ID,
6457       ENTRY_STATUS  =  NEW_REFERENCES.ENTRY_STATUS,
6458       ENTRY_LEVEL   =  NEW_REFERENCES.ENTRY_LEVEL,
6459       SCH_APL_TO_ID =  NEW_REFERENCES.SCH_APL_TO_ID,
6460       IDX_CALC_DATE = NEW_REFERENCES.IDX_CALC_DATE,
6461       WAITLIST_STATUS = NEW_REFERENCES.WAITLIST_STATUS,
6462             ATTRIBUTE21 =  NEW_REFERENCES.ATTRIBUTE21,
6463       ATTRIBUTE22 =  NEW_REFERENCES.ATTRIBUTE22,
6464       ATTRIBUTE23 =  NEW_REFERENCES.ATTRIBUTE23,
6465       ATTRIBUTE24 =  NEW_REFERENCES.ATTRIBUTE24,
6466       ATTRIBUTE25 =  NEW_REFERENCES.ATTRIBUTE25,
6467       ATTRIBUTE26 =  NEW_REFERENCES.ATTRIBUTE26,
6468       ATTRIBUTE27 =  NEW_REFERENCES.ATTRIBUTE27,
6469       ATTRIBUTE28 =  NEW_REFERENCES.ATTRIBUTE28,
6470       ATTRIBUTE29 =  NEW_REFERENCES.ATTRIBUTE29,
6471       ATTRIBUTE30 =  NEW_REFERENCES.ATTRIBUTE30,
6472       ATTRIBUTE31 =  NEW_REFERENCES.ATTRIBUTE31,
6473       ATTRIBUTE32 =  NEW_REFERENCES.ATTRIBUTE32,
6474       ATTRIBUTE33 =  NEW_REFERENCES.ATTRIBUTE33,
6475       ATTRIBUTE34 =  NEW_REFERENCES.ATTRIBUTE34,
6476       ATTRIBUTE35 =  NEW_REFERENCES.ATTRIBUTE35,
6477       ATTRIBUTE36 =  NEW_REFERENCES.ATTRIBUTE36,
6478       ATTRIBUTE37 =  NEW_REFERENCES.ATTRIBUTE37,
6479       ATTRIBUTE38 =  NEW_REFERENCES.ATTRIBUTE38,
6480       ATTRIBUTE39 =  NEW_REFERENCES.ATTRIBUTE39,
6481       ATTRIBUTE40 =  NEW_REFERENCES.ATTRIBUTE40,
6482       future_acad_cal_type           = new_references.future_acad_cal_type,
6483       future_acad_ci_sequence_number = new_references.future_acad_ci_sequence_number,
6484       future_adm_cal_type            = new_references.future_adm_cal_type,
6485       future_adm_ci_sequence_number  = new_references.future_adm_ci_sequence_number,
6486       previous_term_adm_appl_number  = new_references.previous_term_adm_appl_number,
6487       previous_term_sequence_number  = new_references.previous_term_sequence_number,
6488       future_term_adm_appl_number    = new_references.future_term_adm_appl_number,
6489       future_term_sequence_number    = new_references.future_term_sequence_number,
6490       def_acad_cal_type              = new_references.def_acad_cal_type,
6491       def_acad_ci_sequence_num       = new_references.def_acad_ci_sequence_num,
6492       def_prev_term_adm_appl_num     = new_references.def_prev_term_adm_appl_num,
6493       def_prev_appl_sequence_num     = new_references.def_prev_appl_sequence_num,
6494       def_term_adm_appl_num          = new_references.def_term_adm_appl_num,
6495       def_appl_sequence_num          = new_references.def_appl_sequence_num,
6496       appl_inst_status	     = new_references.appl_inst_status,						--arvsrini igsm
6497       ais_reason		     = new_references.ais_reason,
6498       decline_ofr_reason	     = new_references.decline_ofr_reason
6499 
6500       where ROWID = X_ROWID;
6501 
6502 
6503       IF (sql%notfound) THEN
6504              fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
6505              igs_ge_msg_stack.add;
6506              igs_sc_gen_001.unset_ctx('R');
6507              app_exception.raise_exception;
6508       END IF;
6509       IF (x_mode = 'S') THEN
6510          igs_sc_gen_001.unset_ctx('R');
6511       END IF;
6512 
6513  After_DML (
6514         p_action                  => 'UPDATE' ,
6515         x_rowid                   => X_ROWID);
6516 
6517 
6518 EXCEPTION
6519   WHEN OTHERS THEN
6520     IF (x_mode = 'S') THEN
6521        igs_sc_gen_001.unset_ctx('R');
6522     END IF;
6523     IF SQLCODE = '-28115' OR SQLCODE = '-28113' OR SQLCODE = '-28111' THEN
6524       -- Code to handle Security Policy error raised
6525       -- 1) ORA-28115 (policy with check option violation) which is raised when Policy predicate was evaluated to FALSE with the updated values.
6526       -- 2) ORA-28113 (policy predicate has error) which is raised when Policy function generates invalid predicate.
6527       -- 3) ORA-28111 (insufficient privilege to evaluate policy predicate) which is raised when Predicate has a subquery which contains objects
6528       --    that the ownerof policy function does not have privilege to access.
6529       FND_MESSAGE.SET_NAME ('IGS', 'IGS_SC_UPD_POLICY_EXCP');
6530       FND_MESSAGE.SET_TOKEN('ERR_CD',SQLCODE);
6531       IGS_GE_MSG_STACK.ADD;
6532       app_exception.raise_exception;
6533     ELSE
6534 
6535 
6536       RAISE;
6537     END IF;
6538 end UPDATE_ROW;
6539  procedure ADD_ROW (
6540       X_ROWID in out NOCOPY VARCHAR2,
6541        X_ORG_ID in NUMBER,
6542        x_PERSON_ID IN NUMBER,
6543        x_ADMISSION_APPL_NUMBER IN NUMBER,
6544        x_NOMINATED_COURSE_CD IN VARCHAR2,
6545        x_SEQUENCE_NUMBER IN NUMBER,
6546        x_PREDICTED_GPA IN NUMBER,
6547        x_ACADEMIC_INDEX IN VARCHAR2,
6548        x_ADM_CAL_TYPE IN VARCHAR2,
6549        x_APP_FILE_LOCATION IN VARCHAR2,
6550        x_ADM_CI_SEQUENCE_NUMBER IN NUMBER,
6551        x_COURSE_CD IN VARCHAR2,
6552        x_APP_SOURCE_ID IN NUMBER,
6553        x_CRV_VERSION_NUMBER IN NUMBER,
6554        x_WAITLIST_RANK IN VARCHAR2,
6555        x_LOCATION_CD IN VARCHAR2,
6556        x_ATTENT_OTHER_INST_CD IN VARCHAR2,
6557        x_ATTENDANCE_MODE IN VARCHAR2,
6558        x_EDU_GOAL_PRIOR_ENROLL_ID IN NUMBER,
6559        x_ATTENDANCE_TYPE IN VARCHAR2,
6560        x_DECISION_MAKE_ID IN NUMBER,
6561        x_UNIT_SET_CD IN VARCHAR2,
6562        x_DECISION_DATE IN DATE,
6563        x_ATTRIBUTE_CATEGORY IN VARCHAR2,
6564        x_ATTRIBUTE1 IN VARCHAR2,
6565        x_ATTRIBUTE2 IN VARCHAR2,
6566        x_ATTRIBUTE3 IN VARCHAR2,
6567        x_ATTRIBUTE4 IN VARCHAR2,
6568        x_ATTRIBUTE5 IN VARCHAR2,
6569        x_ATTRIBUTE6 IN VARCHAR2,
6570        x_ATTRIBUTE7 IN VARCHAR2,
6571        x_ATTRIBUTE8 IN VARCHAR2,
6572        x_ATTRIBUTE9 IN VARCHAR2,
6573        x_ATTRIBUTE10 IN VARCHAR2,
6574        x_ATTRIBUTE11 IN VARCHAR2,
6575        x_ATTRIBUTE12 IN VARCHAR2,
6576        x_ATTRIBUTE13 IN VARCHAR2,
6577        x_ATTRIBUTE14 IN VARCHAR2,
6578        x_ATTRIBUTE15 IN VARCHAR2,
6579        x_ATTRIBUTE16 IN VARCHAR2,
6580        x_ATTRIBUTE17 IN VARCHAR2,
6581        x_ATTRIBUTE18 IN VARCHAR2,
6582        x_ATTRIBUTE19 IN VARCHAR2,
6583        x_ATTRIBUTE20 IN VARCHAR2,
6584        x_DECISION_REASON_ID IN NUMBER,
6585        x_US_VERSION_NUMBER IN NUMBER,
6586        x_DECISION_NOTES IN VARCHAR2,
6587        x_PENDING_REASON_ID IN NUMBER,
6588        x_PREFERENCE_NUMBER IN NUMBER,
6589        x_ADM_DOC_STATUS IN VARCHAR2,
6590        x_ADM_ENTRY_QUAL_STATUS IN VARCHAR2,
6591        x_DEFICIENCY_IN_PREP IN VARCHAR2,
6592        X_LATE_ADM_FEE_STATUS IN VARCHAR2,
6593        x_SPL_CONSIDER_COMMENTS IN VARCHAR2,
6594        x_APPLY_FOR_FINAID IN VARCHAR2,
6595        x_FINAID_APPLY_DATE IN DATE,
6596        x_ADM_OUTCOME_STATUS IN VARCHAR2,
6597        x_adm_otcm_stat_auth_per_id IN NUMBER,
6598        x_ADM_OUTCOME_STATUS_AUTH_DT IN DATE,
6599        x_ADM_OUTCOME_STATUS_REASON IN VARCHAR2,
6600        x_OFFER_DT IN DATE,
6601        x_OFFER_RESPONSE_DT IN DATE,
6602        x_PRPSD_COMMENCEMENT_DT IN DATE,
6603        x_ADM_CNDTNL_OFFER_STATUS IN VARCHAR2,
6604        x_CNDTNL_OFFER_SATISFIED_DT IN DATE,
6605        x_cndnl_ofr_must_be_stsfd_ind IN VARCHAR2,
6606        x_ADM_OFFER_RESP_STATUS IN VARCHAR2,
6607        x_ACTUAL_RESPONSE_DT IN DATE,
6608        x_ADM_OFFER_DFRMNT_STATUS IN VARCHAR2,
6609        x_DEFERRED_ADM_CAL_TYPE IN VARCHAR2,
6610        x_DEFERRED_ADM_CI_SEQUENCE_NUM IN NUMBER,
6611        x_DEFERRED_TRACKING_ID IN NUMBER,
6612        x_ASS_RANK IN NUMBER,
6613        x_SECONDARY_ASS_RANK IN NUMBER,
6614        x_intr_accept_advice_num IN NUMBER,
6615        x_ASS_TRACKING_ID IN NUMBER,
6616        x_FEE_CAT IN VARCHAR2,
6617        x_HECS_PAYMENT_OPTION IN VARCHAR2,
6618        x_EXPECTED_COMPLETION_YR IN NUMBER,
6619        x_EXPECTED_COMPLETION_PERD IN VARCHAR2,
6620        x_CORRESPONDENCE_CAT IN VARCHAR2,
6621        x_ENROLMENT_CAT IN VARCHAR2,
6622        x_FUNDING_SOURCE IN VARCHAR2,
6623        x_APPLICANT_ACPTNCE_CNDTN IN VARCHAR2,
6624        x_CNDTNL_OFFER_CNDTN IN VARCHAR2,
6625        X_MODE in VARCHAR2,
6626        X_SS_APPLICATION_ID IN VARCHAR2,
6627        X_SS_PWD IN VARCHAR2  ,
6628        X_AUTHORIZED_DT DATE,
6629        X_AUTHORIZING_PERS_ID NUMBER,
6630        x_entry_status IN NUMBER,
6631        x_entry_level IN NUMBER,
6632        x_sch_apl_to_id IN NUMBER,
6633        x_idx_calc_date IN DATE,
6634        x_waitlist_status IN VARCHAR2,
6635        x_ATTRIBUTE21 IN VARCHAR2 ,
6636        x_ATTRIBUTE22 IN VARCHAR2,
6637        x_ATTRIBUTE23 IN VARCHAR2,
6638        x_ATTRIBUTE24 IN VARCHAR2,
6639        x_ATTRIBUTE25 IN VARCHAR2,
6640        x_ATTRIBUTE26 IN VARCHAR2,
6641        x_ATTRIBUTE27 IN VARCHAR2,
6642        x_ATTRIBUTE28 IN VARCHAR2,
6643        x_ATTRIBUTE29 IN VARCHAR2,
6644        x_ATTRIBUTE30 IN VARCHAR2,
6645        x_ATTRIBUTE31 IN VARCHAR2,
6646        x_ATTRIBUTE32 IN VARCHAR2,
6647        x_ATTRIBUTE33 IN VARCHAR2,
6648        x_ATTRIBUTE34 IN VARCHAR2,
6649        x_ATTRIBUTE35 IN VARCHAR2,
6650        x_ATTRIBUTE36 IN VARCHAR2,
6651        x_ATTRIBUTE37 IN VARCHAR2,
6652        x_ATTRIBUTE38 IN VARCHAR2,
6653        x_ATTRIBUTE39 IN VARCHAR2,
6654        x_ATTRIBUTE40 IN VARCHAR2,
6655        x_fut_acad_cal_type           IN VARCHAR2,
6656        x_fut_acad_ci_sequence_number IN NUMBER  ,
6657        x_fut_adm_cal_type            IN VARCHAR2,
6658        x_fut_adm_ci_sequence_number  IN NUMBER  ,
6659        x_prev_term_adm_appl_number  IN NUMBER  ,
6660        x_prev_term_sequence_number  IN NUMBER  ,
6661        x_fut_term_adm_appl_number    IN NUMBER  ,
6662        x_fut_term_sequence_number    IN NUMBER  ,
6663        x_def_acad_cal_type IN VARCHAR2,
6664        x_def_acad_ci_sequence_num  IN NUMBER  ,
6665        x_def_prev_term_adm_appl_num  IN NUMBER  ,
6666        x_def_prev_appl_sequence_num  IN NUMBER  ,
6667        x_def_term_adm_appl_num  IN NUMBER  ,
6668        x_def_appl_sequence_num  IN NUMBER  ,
6669        x_appl_inst_status	IN VARCHAR2,							--arvsrini igsm
6670        x_ais_reason		IN VARCHAR2,
6671        x_decline_ofr_reason	IN VARCHAR2
6672   ) IS
6673   /*************************************************************
6674   Created By :
6675   Date Created By :
6676   Purpose :
6677   Know limitations, enhancements or remarks
6678   Change History
6679   Who             When            What
6680   (reverse chronological order - newest change first)
6681   ***************************************************************/
6682     cursor c1 is select ROWID from IGS_AD_PS_APPL_INST_ALL
6683              where     PERSON_ID= X_PERSON_ID
6684             and ADMISSION_APPL_NUMBER = X_ADMISSION_APPL_NUMBER
6685             and NOMINATED_COURSE_CD = X_NOMINATED_COURSE_CD
6686             and SEQUENCE_NUMBER = X_SEQUENCE_NUMBER;
6687 begin
6688         open c1;
6689                 fetch c1 into X_ROWID;
6690         if (c1%notfound) then
6691         close c1;
6692     INSERT_ROW (
6693       X_ROWID,
6694                         X_ORG_ID,
6695        X_PERSON_ID,
6696        X_ADMISSION_APPL_NUMBER,
6697        X_NOMINATED_COURSE_CD,
6698        X_SEQUENCE_NUMBER,
6699        X_PREDICTED_GPA,
6700        X_ACADEMIC_INDEX,
6701        X_ADM_CAL_TYPE,
6702        X_APP_FILE_LOCATION,
6703        X_ADM_CI_SEQUENCE_NUMBER,
6704        X_COURSE_CD,
6705        X_APP_SOURCE_ID,
6706        X_CRV_VERSION_NUMBER,
6707        X_WAITLIST_RANK,
6708        X_LOCATION_CD,
6709        X_ATTENT_OTHER_INST_CD,
6710        X_ATTENDANCE_MODE,
6711        X_EDU_GOAL_PRIOR_ENROLL_ID,
6712        X_ATTENDANCE_TYPE,
6713        X_DECISION_MAKE_ID,
6714        X_UNIT_SET_CD,
6715        X_DECISION_DATE,
6716        X_ATTRIBUTE_CATEGORY,
6717        X_ATTRIBUTE1,
6718        X_ATTRIBUTE2,
6719        X_ATTRIBUTE3,
6720        X_ATTRIBUTE4,
6721        X_ATTRIBUTE5,
6722        X_ATTRIBUTE6,
6723        X_ATTRIBUTE7,
6724        X_ATTRIBUTE8,
6725        X_ATTRIBUTE9,
6726        X_ATTRIBUTE10,
6727        X_ATTRIBUTE11,
6728        X_ATTRIBUTE12,
6729        X_ATTRIBUTE13,
6730        X_ATTRIBUTE14,
6731        X_ATTRIBUTE15,
6732        X_ATTRIBUTE16,
6733        X_ATTRIBUTE17,
6734        X_ATTRIBUTE18,
6735        X_ATTRIBUTE19,
6736        X_ATTRIBUTE20,
6737        X_DECISION_REASON_ID,
6738        X_US_VERSION_NUMBER,
6739        X_DECISION_NOTES,
6740        X_PENDING_REASON_ID,
6741        X_PREFERENCE_NUMBER,
6742        X_ADM_DOC_STATUS,
6743        X_ADM_ENTRY_QUAL_STATUS,
6744        X_DEFICIENCY_IN_PREP,
6745        X_LATE_ADM_FEE_STATUS,
6746        X_SPL_CONSIDER_COMMENTS,
6747        X_APPLY_FOR_FINAID,
6748        X_FINAID_APPLY_DATE,
6749        X_ADM_OUTCOME_STATUS,
6750        x_adm_otcm_stat_auth_per_id,
6751        X_ADM_OUTCOME_STATUS_AUTH_DT,
6752        X_ADM_OUTCOME_STATUS_REASON,
6753        X_OFFER_DT,
6754        X_OFFER_RESPONSE_DT,
6755        X_PRPSD_COMMENCEMENT_DT,
6756        X_ADM_CNDTNL_OFFER_STATUS,
6757        X_CNDTNL_OFFER_SATISFIED_DT,
6758        x_cndnl_ofr_must_be_stsfd_ind,
6759        X_ADM_OFFER_RESP_STATUS,
6760        X_ACTUAL_RESPONSE_DT,
6761        X_ADM_OFFER_DFRMNT_STATUS,
6762        X_DEFERRED_ADM_CAL_TYPE,
6763        X_DEFERRED_ADM_CI_SEQUENCE_NUM,
6764        X_DEFERRED_TRACKING_ID,
6765        X_ASS_RANK,
6766        X_SECONDARY_ASS_RANK,
6767        x_intr_accept_advice_num,
6768        X_ASS_TRACKING_ID,
6769        X_FEE_CAT,
6770        X_HECS_PAYMENT_OPTION,
6771        X_EXPECTED_COMPLETION_YR,
6772        X_EXPECTED_COMPLETION_PERD,
6773        X_CORRESPONDENCE_CAT,
6774        X_ENROLMENT_CAT,
6775        X_FUNDING_SOURCE,
6776        X_APPLICANT_ACPTNCE_CNDTN,
6777        X_CNDTNL_OFFER_CNDTN,
6778       X_MODE,
6779       X_SS_APPLICATION_ID,
6780       X_SS_PWD,
6781       X_AUTHORIZED_DT ,
6782       X_AUTHORIZING_PERS_ID,
6783        X_ENTRY_STATUS,
6784        X_ENTRY_LEVEL,
6785        X_SCH_APL_TO_ID,
6786        X_IDX_CALC_DATE,
6787        X_WAITLIST_STATUS,
6788        X_ATTRIBUTE21,
6789        X_ATTRIBUTE22,
6790        X_ATTRIBUTE23,
6791        X_ATTRIBUTE24,
6792        X_ATTRIBUTE25,
6793        X_ATTRIBUTE26,
6794        X_ATTRIBUTE27,
6795        X_ATTRIBUTE28,
6796        X_ATTRIBUTE29,
6797        X_ATTRIBUTE30,
6798        X_ATTRIBUTE31,
6799        X_ATTRIBUTE32,
6800        X_ATTRIBUTE33,
6801        X_ATTRIBUTE34,
6802        X_ATTRIBUTE35,
6803        X_ATTRIBUTE36,
6804        X_ATTRIBUTE37,
6805        X_ATTRIBUTE38,
6806        X_ATTRIBUTE39,
6807        X_ATTRIBUTE40,
6808        x_fut_acad_cal_type           ,
6809        x_fut_acad_ci_sequence_number ,
6810        x_fut_adm_cal_type            ,
6811        x_fut_adm_ci_sequence_number  ,
6812        x_prev_term_adm_appl_number  ,
6813        x_prev_term_sequence_number  ,
6814        x_fut_term_adm_appl_number    ,
6815        x_fut_term_sequence_number    ,
6816       x_def_acad_cal_type ,
6817       x_def_acad_ci_sequence_num,
6818       x_def_prev_term_adm_appl_num,
6819       x_def_prev_appl_sequence_num,
6820       x_def_term_adm_appl_num,
6821       x_def_appl_sequence_num,
6822       x_appl_inst_status,										--arvsrini igsm
6823       x_ais_reason,
6824       x_decline_ofr_reason
6825       );
6826      return;
6827         end if;
6828            close c1;
6829 UPDATE_ROW (
6830       X_ROWID,
6831        X_PERSON_ID,
6832        X_ADMISSION_APPL_NUMBER,
6833        X_NOMINATED_COURSE_CD,
6834        X_SEQUENCE_NUMBER,
6835        X_PREDICTED_GPA,
6836        X_ACADEMIC_INDEX,
6837        X_ADM_CAL_TYPE,
6838        X_APP_FILE_LOCATION,
6839        X_ADM_CI_SEQUENCE_NUMBER,
6840        X_COURSE_CD,
6841        X_APP_SOURCE_ID,
6842        X_CRV_VERSION_NUMBER,
6843        X_WAITLIST_RANK,
6844        X_LOCATION_CD,
6845        X_ATTENT_OTHER_INST_CD,
6846        X_ATTENDANCE_MODE,
6847        X_EDU_GOAL_PRIOR_ENROLL_ID,
6848        X_ATTENDANCE_TYPE,
6849        X_DECISION_MAKE_ID,
6850        X_UNIT_SET_CD,
6851        X_DECISION_DATE,
6852        X_ATTRIBUTE_CATEGORY,
6853        X_ATTRIBUTE1,
6854        X_ATTRIBUTE2,
6855        X_ATTRIBUTE3,
6856        X_ATTRIBUTE4,
6857        X_ATTRIBUTE5,
6858        X_ATTRIBUTE6,
6859        X_ATTRIBUTE7,
6860        X_ATTRIBUTE8,
6861        X_ATTRIBUTE9,
6862        X_ATTRIBUTE10,
6863        X_ATTRIBUTE11,
6864        X_ATTRIBUTE12,
6865        X_ATTRIBUTE13,
6866        X_ATTRIBUTE14,
6867        X_ATTRIBUTE15,
6868        X_ATTRIBUTE16,
6869        X_ATTRIBUTE17,
6870        X_ATTRIBUTE18,
6871        X_ATTRIBUTE19,
6872        X_ATTRIBUTE20,
6873        X_DECISION_REASON_ID,
6874        X_US_VERSION_NUMBER,
6875        X_DECISION_NOTES,
6876        X_PENDING_REASON_ID,
6877        X_PREFERENCE_NUMBER,
6878        X_ADM_DOC_STATUS,
6879        X_ADM_ENTRY_QUAL_STATUS,
6880        X_DEFICIENCY_IN_PREP,
6881        X_LATE_ADM_FEE_STATUS,
6882        X_SPL_CONSIDER_COMMENTS,
6883        X_APPLY_FOR_FINAID,
6884        X_FINAID_APPLY_DATE,
6885        X_ADM_OUTCOME_STATUS,
6886        x_adm_otcm_stat_auth_per_id,
6887        X_ADM_OUTCOME_STATUS_AUTH_DT,
6888        X_ADM_OUTCOME_STATUS_REASON,
6889        X_OFFER_DT,
6890        X_OFFER_RESPONSE_DT,
6891        X_PRPSD_COMMENCEMENT_DT,
6892        X_ADM_CNDTNL_OFFER_STATUS,
6893        X_CNDTNL_OFFER_SATISFIED_DT,
6894        x_cndnl_ofr_must_be_stsfd_ind,
6895        X_ADM_OFFER_RESP_STATUS,
6896        X_ACTUAL_RESPONSE_DT,
6897        X_ADM_OFFER_DFRMNT_STATUS,
6898        X_DEFERRED_ADM_CAL_TYPE,
6899        X_DEFERRED_ADM_CI_SEQUENCE_NUM,
6900        X_DEFERRED_TRACKING_ID,
6901        X_ASS_RANK,
6902        X_SECONDARY_ASS_RANK,
6903        x_intr_accept_advice_num,
6904        X_ASS_TRACKING_ID,
6905        X_FEE_CAT,
6906        X_HECS_PAYMENT_OPTION,
6907        X_EXPECTED_COMPLETION_YR,
6908        X_EXPECTED_COMPLETION_PERD,
6909        X_CORRESPONDENCE_CAT,
6910        X_ENROLMENT_CAT,
6911        X_FUNDING_SOURCE,
6912        X_APPLICANT_ACPTNCE_CNDTN,
6913        X_CNDTNL_OFFER_CNDTN,
6914        X_MODE,
6915        x_ss_application_id,
6916        x_ss_pwd ,
6917        X_AUTHORIZED_DT ,
6918        X_AUTHORIZING_PERS_ID,
6919        X_ENTRY_STATUS,
6920        X_ENTRY_LEVEL,
6921        X_SCH_APL_TO_ID,
6922       X_IDX_CALC_DATE,
6923       X_WAITLIST_STATUS,
6924        X_ATTRIBUTE21,
6925        X_ATTRIBUTE22,
6926        X_ATTRIBUTE23,
6927        X_ATTRIBUTE24,
6928        X_ATTRIBUTE25,
6929        X_ATTRIBUTE26,
6930        X_ATTRIBUTE27,
6931        X_ATTRIBUTE28,
6932        X_ATTRIBUTE29,
6933        X_ATTRIBUTE30,
6934        X_ATTRIBUTE31,
6935        X_ATTRIBUTE32,
6936        X_ATTRIBUTE33,
6937        X_ATTRIBUTE34,
6938        X_ATTRIBUTE35,
6939        X_ATTRIBUTE36,
6940        X_ATTRIBUTE37,
6941        X_ATTRIBUTE38,
6942        X_ATTRIBUTE39,
6943        X_ATTRIBUTE40,
6944        x_fut_acad_cal_type           ,
6945        x_fut_acad_ci_sequence_number ,
6946        x_fut_adm_cal_type            ,
6947        x_fut_adm_ci_sequence_number  ,
6948        x_prev_term_adm_appl_number  ,
6949        x_prev_term_sequence_number  ,
6950        x_fut_term_adm_appl_number    ,
6951        x_fut_term_sequence_number    ,
6952       x_def_acad_cal_type ,
6953       x_def_acad_ci_sequence_num,
6954       x_def_prev_term_adm_appl_num,
6955       x_def_prev_appl_sequence_num,
6956       x_def_term_adm_appl_num,
6957       x_def_appl_sequence_num,
6958       x_appl_inst_status,									--arvsrini igsm
6959       x_ais_reason,
6960       x_decline_ofr_reason
6961        );
6962 end ADD_ROW;
6963 procedure DELETE_ROW (
6964   X_ROWID in VARCHAR2,
6965   x_mode IN VARCHAR2
6966 ) IS
6967   /*************************************************************
6968   Created By :
6969   Date Created By :
6970   Purpose :
6971   Know limitations, enhancements or remarks
6972   Change History
6973   Who             When            What
6974   (reverse chronological order - newest change first)
6975   ***************************************************************/
6976 begin
6977 Before_DML (
6978 p_action => 'DELETE',
6979 x_rowid => X_ROWID
6980 );
6981   IF (x_mode = 'S') THEN
6982     igs_sc_gen_001.set_ctx('R');
6983   END IF;
6984  delete from IGS_AD_PS_APPL_INST_ALL
6985  where ROWID = X_ROWID;
6986   if (sql%notfound) then
6987      fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
6988      igs_ge_msg_stack.add;
6989      igs_sc_gen_001.unset_ctx('R');
6990      app_exception.raise_exception;
6991  end if;
6992  IF (x_mode = 'S') THEN
6993     igs_sc_gen_001.unset_ctx('R');
6994   END IF;
6995 
6996 After_DML (
6997         p_action                  => 'DELETE',
6998         x_rowid                   => X_ROWID
6999        );
7000 EXCEPTION
7001   WHEN OTHERS THEN
7002     IF (x_mode = 'S') THEN
7003        igs_sc_gen_001.unset_ctx('R');
7004     END IF;
7005     IF SQLCODE = '-28115' OR SQLCODE = '-28113' OR SQLCODE = '-28111' THEN
7006       -- Code to handle Security Policy error raised
7007       -- 1) ORA-28115 (policy with check option violation) which is raised when Policy predicate was evaluated to FALSE with the updated values.
7008       -- 2) ORA-28113 (policy predicate has error) which is raised when Policy function generates invalid predicate.
7009       -- 3) ORA-28111 (insufficient privilege to evaluate policy predicate) which is raised when Predicate has a subquery which contains objects
7010       --    that the ownerof policy function does not have privilege to access.
7011       FND_MESSAGE.SET_NAME ('IGS', 'IGS_SC_POLICY_EXCEPTION');
7012       FND_MESSAGE.SET_TOKEN('ERR_CD',SQLCODE);
7013       IGS_GE_MSG_STACK.ADD;
7014       app_exception.raise_exception;
7015     ELSE
7016       RAISE;
7017     END IF;
7018 
7019 end DELETE_ROW;
7020 
7021 PROCEDURE ucas_user_hook (p_admission_appl_number igs_ad_ps_appl_inst.admission_appl_number%TYPE,
7022 			  p_nominated_course_cd igs_ad_ps_appl_inst.nominated_course_cd%TYPE,
7023 			  p_sequence_number igs_ad_ps_appl_inst.sequence_number%TYPE,
7024 			  p_adm_outcome_status igs_ad_ps_appl_inst.adm_outcome_status%TYPE,
7025 			  p_cond_offer_status igs_ad_ps_appl_inst.adm_cndtnl_offer_status%TYPE,
7026 			  p_adm_outcome_status_old igs_ad_ps_appl_inst.adm_outcome_status%TYPE,
7027 			  p_cond_offer_status_old igs_ad_ps_appl_inst.adm_cndtnl_offer_status%TYPE,
7028 			  p_person_id igs_pe_person.person_id%TYPE,
7029         p_condition_category IN igs_uc_offer_conds.condition_category%TYPE,
7030         p_condition_name IN igs_uc_offer_conds.condition_name%TYPE,
7031         p_uc_tran_id OUT NOCOPY NUMBER )
7032 IS
7033   /*************************************************************
7034   Created By : Nilotpal Shee
7035   Date Created By : 16-Sep-2002
7036   Purpose : 2550009
7037   Know limitations, enhancements or remarks
7038   Change History
7039   Who             When            What
7040   nsinha          26-Nov-2002     For bug 2664410 alt_appl_id :
7041 				  Modified the cursor c_igs_pe_ucas to check for
7042 				  person_id_type IN ('UCASID', 'SWASID', 'NMASID', 'GTTRID') for UCAS small systems.
7043   knag            21-Nov-2002     fetch and pass alt_appl_id from cursor c_igs_ad_appl for bug 2664410
7044                                   also passing NULL for P_UCAS_ID as is made obsolete by UCAS
7045   ayedubat     10-NOV-2003   Changed the ucas_user_hook procedure to add a new OUT parameter to procedure call,
7046                              igs_uc_trx_gen_hook.create_ucas_transactions for UC208 Enhancement Bug, 3009203
7047     (reverse chronological order - newest change first)
7048   ***************************************************************/
7049   CURSOR c_igs_ad_appl(cp_n_person_id            igs_pe_person.person_id%TYPE,
7050                      cp_n_admission_appl_no    igs_ad_appl.admission_appl_number%TYPE
7051                     ) IS
7052   SELECT choice_number, alt_appl_id
7053   FROM   igs_ad_appl
7054   WHERE  person_id             = cp_n_person_id
7055   AND    admission_appl_number = cp_n_admission_appl_no ;
7056   rec_c_igs_ad_appl  c_igs_ad_appl%ROWTYPE;
7057 
7058 
7059   CURSOR  c_igs_pe_person(cp_n_person_id  igs_pe_person.person_id%TYPE) IS
7060    SELECT  party_number person_number
7061    FROM    hz_parties hz
7062    WHERE  hz.party_id   =  cp_n_person_id;
7063   rec_c_igs_pe_person   c_igs_pe_person%ROWTYPE;
7064 
7065 
7066   CURSOR c_igs_pe_ucas(cp_n_person_id igs_pe_person.person_id%TYPE) IS
7067   SELECT api_person_id
7068   FROM   igs_pe_alt_pers_id
7069   WHERE sysdate BETWEEN start_dt AND NVL(end_dt, sysdate)
7070         AND person_id_type IN ('UCASID', 'SWASID', 'NMASID', 'GTTRID')
7071         AND pe_person_id = cp_n_person_id ;
7072        rec_c_igs_pe_ucas     c_igs_pe_ucas%ROWTYPE;
7073 
7074 BEGIN
7075          -- api_person_id fetched is not used but cursor is still required to
7076          -- determine this is an UCAS person application or not
7077          OPEN c_igs_pe_ucas(p_person_id);
7078          FETCH c_igs_pe_ucas INTO rec_c_igs_pe_ucas;
7079          IF c_igs_pe_ucas%FOUND THEN
7080            IF (NVL(p_adm_outcome_status_old, '-1') <> p_adm_outcome_status) OR
7081               (NVL(p_cond_offer_status_old, '-1') <> p_cond_offer_status) THEN
7082 
7083               OPEN c_igs_ad_appl(p_person_id,
7084                                  p_admission_appl_number
7085                                 );
7086               FETCH c_igs_ad_appl INTO rec_c_igs_ad_appl;
7087               CLOSE c_igs_ad_appl;
7088 
7089 
7090               OPEN  c_igs_pe_person(p_person_id);
7091               FETCH c_igs_pe_person INTO rec_c_igs_pe_person;
7092               CLOSE c_igs_pe_person;
7093 
7094               EXECUTE IMMEDIATE
7095              'BEGIN  igs_uc_trx_gen_hook.create_ucas_transactions(
7096                P_UCAS_ID                => :1,
7097                P_CHOICE_NUMBER          => :2,
7098                P_PERSON_NUMBER          => :3,
7099                P_ADMISSION_APPL_NUMBER  => :4,
7100                P_NOMINATED_COURSE_CD    => :5,
7101                P_SEQUENCE_NUMBER        => :6,
7102                P_OUTCOME_STATUS         => :7,
7103                P_COND_OFFER_STATUS      => :8,
7104                P_ALT_APPL_ID            => :9,
7105                P_CONDITION_CATEGORY     => :10,
7106                P_CONDITION_NAME         => :11,
7107                P_UC_TRAN_ID             => :12);  END;'
7108               USING
7109                IGS_GE_NUMBER.TO_CANN(NULL), -- made obsolete, earlier passed rec_c_igs_pe_ucas.api_person_id,
7110                rec_c_igs_ad_appl.choice_number,
7111                rec_c_igs_pe_person.person_number,
7112                p_admission_appl_number,
7113                p_nominated_course_cd,
7114                p_sequence_number,
7115                p_adm_outcome_status,
7116                p_cond_offer_status,
7117                rec_c_igs_ad_appl.alt_appl_id,
7118                p_condition_category,
7119                p_condition_name,
7120                OUT p_uc_tran_id;
7121 
7122            END IF;
7123          END IF;
7124          CLOSE c_igs_pe_ucas;
7125    END ucas_user_hook;
7126 
7127 
7128 
7129 FUNCTION check_non_updateable_list RETURN BOOLEAN IS					--arvsrini igsm
7130 
7131 BEGIN
7132 
7133 
7134 IF NVL(old_references.predicted_gpa,-1) <> NVL(new_references.predicted_gpa,-1)THEN
7135       RETURN TRUE;
7136 END IF;
7137 IF NVL(old_references.Academic_Index,'**##') <> NVL(new_references.Academic_Index,'**##')THEN
7138       RETURN TRUE;
7139 END IF;
7140 IF NVL(old_references.Adm_Cal_Type,'**##') <> NVL(new_references.Adm_Cal_Type,'**##')THEN
7141       RETURN TRUE;
7142 END IF;
7143 IF NVL(old_references.Adm_Ci_Sequence_Number,-1) <> NVL(new_references.Adm_Ci_Sequence_Number,-1)THEN
7144       RETURN TRUE;
7145 END IF;
7146 IF NVL(old_references.Course_Cd,'**##') <> NVL(new_references.Course_Cd,'**##')THEN
7147       RETURN TRUE;
7148 END IF;
7149 IF NVL(old_references.App_Source_Id,-1) <> NVL(new_references.App_Source_Id,-1)THEN
7150       RETURN TRUE;
7151 END IF;
7152 IF NVL(old_references.Crv_Version_Number,-1) <> NVL(new_references.Crv_Version_Number,-1)THEN
7153       RETURN TRUE;
7154 END IF;
7155 IF NVL(old_references.Waitlist_Rank,'**##') <> NVL(new_references.Waitlist_Rank,'**##')THEN
7156       RETURN TRUE;
7157 END IF;
7158 IF NVL(old_references.Location_Cd,'**##') <> NVL(new_references.Location_Cd,'**##')THEN
7159       RETURN TRUE;
7160 END IF;
7161 IF NVL(old_references.Attendance_Mode,'**##') <> NVL(new_references.Attendance_Mode,'**##')THEN
7162       RETURN TRUE;
7163 END IF;
7164 IF NVL(old_references.Attendance_Type,'**##') <> NVL(new_references.Attendance_Type,'**##')THEN
7165       RETURN TRUE;
7166 END IF;
7167 IF NVL(old_references.Decision_Make_Id,-1) <> NVL(new_references.Decision_Make_Id,-1)THEN
7168       RETURN TRUE;
7169 END IF;
7170 IF NVL(old_references.Unit_Set_Cd,'**##') <> NVL(new_references.Unit_Set_Cd,'**##')THEN
7171       RETURN TRUE;
7172 END IF;
7173 IF NVL(TRUNC(old_references.Decision_Date),IGS_GE_DATE.IGSDATE('1900/01/01')) <> NVL(TRUNC(new_references.Decision_Date),IGS_GE_DATE.IGSDATE('1900/01/01'))THEN
7174       RETURN TRUE;
7175 END IF;
7176 IF NVL(old_references.Decision_Reason_Id,-1) <> NVL(new_references.Decision_Reason_Id,-1)THEN
7177       RETURN TRUE;
7178 END IF;
7179 IF NVL(old_references.Us_Version_Number,-1) <> NVL(new_references.Us_Version_Number,-1)THEN
7180       RETURN TRUE;
7181 END IF;
7182 IF NVL(old_references.Decision_Notes,'**##') <> NVL(new_references.Decision_Notes,'**##')THEN
7183       RETURN TRUE;
7184 END IF;
7185 IF NVL(old_references.Pending_Reason_Id,-1) <> NVL(new_references.Pending_Reason_Id,-1)THEN
7186       RETURN TRUE;
7187 END IF;
7188 IF NVL(old_references.Preference_Number,-1) <> NVL(new_references.Preference_Number,-1)THEN
7189       RETURN TRUE;
7190 END IF;
7191 IF NVL(old_references.Adm_Doc_Status,'**##') <> NVL(new_references.Adm_Doc_Status,'**##')THEN
7192       RETURN TRUE;
7193 END IF;
7194 IF NVL(old_references.Adm_Entry_Qual_Status,'**##') <> NVL(new_references.Adm_Entry_Qual_Status,'**##')THEN
7195       RETURN TRUE;
7196 END IF;
7197 IF NVL(old_references.Deficiency_In_Prep,'**##') <> NVL(new_references.Deficiency_In_Prep,'**##')THEN
7198       RETURN TRUE;
7199 END IF;
7200 IF NVL(old_references.Spl_Consider_Comments,'**##') <> NVL(new_references.Spl_Consider_Comments,'**##')THEN
7201       RETURN TRUE;
7202 END IF;
7203 IF NVL(old_references.Adm_Outcome_Status,'**##') <> NVL(new_references.Adm_Outcome_Status,'**##')THEN
7204       RETURN TRUE;
7205 END IF;
7206 IF NVL(old_references.Adm_Otcm_Status_Auth_Person_Id,-1) <> NVL(new_references.Adm_Otcm_Status_Auth_Person_Id,-1)THEN
7207       RETURN TRUE;
7208 END IF;
7209 IF NVL(TRUNC(old_references.Adm_Outcome_Status_Auth_Dt),IGS_GE_DATE.IGSDATE('1900/01/01')) <> NVL(TRUNC(new_references.Adm_Outcome_Status_Auth_Dt),IGS_GE_DATE.IGSDATE('1900/01/01'))THEN
7210       RETURN TRUE;
7211 END IF;
7212 IF NVL(old_references.Adm_Outcome_Status_Reason,'**##') <> NVL(new_references.Adm_Outcome_Status_Reason,'**##')THEN
7213       RETURN TRUE;
7214 END IF;
7215 IF NVL(TRUNC(old_references.Offer_Dt),IGS_GE_DATE.IGSDATE('1900/01/01')) <> NVL(TRUNC(new_references.Offer_Dt),IGS_GE_DATE.IGSDATE('1900/01/01'))THEN
7216       RETURN TRUE;
7217 END IF;
7218 IF NVL(old_references.Adm_Cndtnl_Offer_Status,'**##') <> NVL(new_references.Adm_Cndtnl_Offer_Status,'**##')THEN
7219       RETURN TRUE;
7220 END IF;
7221 IF NVL(TRUNC(old_references.Cndtnl_Offer_Satisfied_Dt),IGS_GE_DATE.IGSDATE('1900/01/01')) <> NVL(TRUNC(new_references.Cndtnl_Offer_Satisfied_Dt),IGS_GE_DATE.IGSDATE('1900/01/01'))THEN
7222       RETURN TRUE;
7223 END IF;
7224 IF NVL(old_references.Cndtnl_Offer_Must_Be_Stsfd_Ind,'**##') <> NVL(new_references.Cndtnl_Offer_Must_Be_Stsfd_Ind,'**##')THEN
7225       RETURN TRUE;
7226 END IF;
7227 IF NVL(old_references.Deferred_Tracking_Id,-1) <> NVL(new_references.Deferred_Tracking_Id,-1)THEN
7228       RETURN TRUE;
7229 END IF;
7230 IF NVL(old_references.Ass_Rank,-1) <> NVL(new_references.Ass_Rank,-1)THEN
7231       RETURN TRUE;
7232 END IF;
7233 IF NVL(old_references.Secondary_Ass_Rank,-1) <> NVL(new_references.Secondary_Ass_Rank,-1)THEN
7234       RETURN TRUE;
7235 END IF;
7236 IF NVL(old_references.Ass_Tracking_Id,-1) <> NVL(new_references.Ass_Tracking_Id,-1)THEN
7237       RETURN TRUE;
7238 END IF;
7239 IF NVL(old_references.Cndtnl_Offer_Cndtn,'**##') <> NVL(new_references.Cndtnl_Offer_Cndtn,'**##')THEN
7240       RETURN TRUE;
7241 END IF;
7242 /*
7243 IF NVL(TRUNC(old_references.Creation_Date),IGS_GE_DATE.IGSDATE('1900/01/01')) <> NVL(TRUNC(new_references.Creation_Date),IGS_GE_DATE.IGSDATE('1900/01/01'))THEN
7244       RETURN TRUE;
7245 END IF;
7246 IF NVL(old_references.Created_By,-99999) <> NVL(new_references.Created_By,-99999)THEN
7247       RETURN TRUE;
7248 END IF;
7249 IF NVL(TRUNC(old_references.Last_Update_Date),IGS_GE_DATE.IGSDATE('1900/01/01')) <> NVL(TRUNC(new_references.Last_Update_Date),IGS_GE_DATE.IGSDATE('1900/01/01'))THEN
7250       RETURN TRUE;
7251 END IF;
7252 IF NVL(old_references.Last_Updated_By,-99999) <> NVL(new_references.Last_Updated_By,-99999)THEN
7253       RETURN TRUE;
7254 END IF;
7255 IF NVL(old_references.Last_Update_Login,-99999) <> NVL(new_references.Last_Update_Login,-99999)THEN
7256       RETURN TRUE;
7257 END IF;
7258 IF NVL(old_references.Request_Id,-1) <> NVL(new_references.Request_Id,-1)THEN
7259       RETURN TRUE;
7260 END IF;
7261 IF NVL(old_references.Program_Id,-1) <> NVL(new_references.Program_Id,-1)THEN
7262       RETURN TRUE;
7263 END IF;
7264 
7265 IF NVL(old_references.Program_Application_Id,-1) <> NVL(new_references.Program_Application_Id,-1)THEN
7266       RETURN TRUE;
7267 END IF;
7268 
7269 IF NVL(TRUNC(old_references.Program_Update_Date),IGS_GE_DATE.IGSDATE('1900/01/01')) <> NVL(TRUNC(new_references.Program_Update_Date),IGS_GE_DATE.IGSDATE('1900/01/01'))THEN
7270       RETURN TRUE;
7271 END IF;
7272 */
7273 IF NVL(old_references.Ss_Application_Id,-1) <> NVL(new_references.Ss_Application_Id,-1)THEN
7274       RETURN TRUE;
7275 END IF;
7276 IF NVL(old_references.Ss_Pwd,'**##') <> NVL(new_references.Ss_Pwd,'**##')THEN
7277       RETURN TRUE;
7278 END IF;
7279 IF NVL(old_references.Entry_Status,-1) <> NVL(new_references.Entry_Status,-1)THEN
7280       RETURN TRUE;
7281 END IF;
7282 IF NVL(old_references.Entry_Level,-1) <> NVL(new_references.Entry_Level,-1)THEN
7283       RETURN TRUE;
7284 END IF;
7285 IF NVL(old_references.Sch_Apl_To_Id,-1) <> NVL(new_references.Sch_Apl_To_Id,-1)THEN
7286       RETURN TRUE;
7287 END IF;
7288 IF NVL(TRUNC(old_references.Idx_Calc_Date),IGS_GE_DATE.IGSDATE('1900/01/01')) <> NVL(TRUNC(new_references.Idx_Calc_Date),IGS_GE_DATE.IGSDATE('1900/01/01'))THEN
7289       RETURN TRUE;
7290 END IF;
7291 IF NVL(old_references.Waitlist_Status,'**##') <> NVL(new_references.Waitlist_Status,'**##')THEN
7292       RETURN TRUE;
7293 END IF;
7294 IF NVL(old_references.Future_Acad_Cal_Type,'**##') <> NVL(new_references.Future_Acad_Cal_Type,'**##')THEN
7295       RETURN TRUE;
7296 END IF;
7297 IF NVL(old_references.Future_Acad_Ci_Sequence_Number,-1) <> NVL(new_references.Future_Acad_Ci_Sequence_Number,-1)THEN
7298       RETURN TRUE;
7299 END IF;
7300 IF NVL(old_references.Future_Adm_Cal_Type,'**##') <> NVL(new_references.Future_Adm_Cal_Type,'**##')THEN
7301       RETURN TRUE;
7302 END IF;
7303 IF NVL(old_references.Future_Adm_Ci_Sequence_Number,-1) <> NVL(new_references.Future_Adm_Ci_Sequence_Number,-1)THEN
7304       RETURN TRUE;
7305 END IF;
7306 IF NVL(old_references.Attribute_Category,'**##') <> NVL(new_references.Attribute_Category,'**##')THEN
7307       RETURN TRUE;
7308 END IF;
7309 IF NVL(old_references.Attribute1,'**##') <> NVL(new_references.Attribute1,'**##')THEN
7310       RETURN TRUE;
7311 END IF;
7312 IF NVL(old_references.Attribute2,'**##') <> NVL(new_references.Attribute2,'**##')THEN
7313       RETURN TRUE;
7314 END IF;
7315 IF NVL(old_references.Attribute3,'**##') <> NVL(new_references.Attribute3,'**##')THEN
7316       RETURN TRUE;
7317 END IF;
7318 IF NVL(old_references.Attribute4,'**##') <> NVL(new_references.Attribute4,'**##')THEN
7319       RETURN TRUE;
7320 END IF;
7321 IF NVL(old_references.Attribute5,'**##') <> NVL(new_references.Attribute5,'**##')THEN
7322       RETURN TRUE;
7323 END IF;
7324 IF NVL(old_references.Attribute6,'**##') <> NVL(new_references.Attribute6,'**##')THEN
7325       RETURN TRUE;
7326 END IF;
7327 IF NVL(old_references.Attribute7,'**##') <> NVL(new_references.Attribute7,'**##')THEN
7328       RETURN TRUE;
7329 END IF;
7330 IF NVL(old_references.Attribute8,'**##') <> NVL(new_references.Attribute8,'**##')THEN
7331       RETURN TRUE;
7332 END IF;
7333 IF NVL(old_references.Attribute9,'**##') <> NVL(new_references.Attribute9,'**##')THEN
7334       RETURN TRUE;
7335 END IF;
7336 IF NVL(old_references.Attribute10,'**##') <> NVL(new_references.Attribute10,'**##')THEN
7337       RETURN TRUE;
7338 END IF;
7339 IF NVL(old_references.Attribute11,'**##') <> NVL(new_references.Attribute11,'**##')THEN
7340       RETURN TRUE;
7341 END IF;
7342 IF NVL(old_references.Attribute12,'**##') <> NVL(new_references.Attribute12,'**##')THEN
7343       RETURN TRUE;
7344 END IF;
7345 IF NVL(old_references.Attribute13,'**##') <> NVL(new_references.Attribute13,'**##')THEN
7346       RETURN TRUE;
7347 END IF;
7348 IF NVL(old_references.Attribute14,'**##') <> NVL(new_references.Attribute14,'**##')THEN
7349       RETURN TRUE;
7350 END IF;
7351 IF NVL(old_references.Attribute15,'**##') <> NVL(new_references.Attribute15,'**##')THEN
7352       RETURN TRUE;
7353 END IF;
7354 IF NVL(old_references.Attribute16,'**##') <> NVL(new_references.Attribute16,'**##')THEN
7355       RETURN TRUE;
7356 END IF;
7357 IF NVL(old_references.Attribute17,'**##') <> NVL(new_references.Attribute17,'**##')THEN
7358       RETURN TRUE;
7359 END IF;
7360 IF NVL(old_references.Attribute18,'**##') <> NVL(new_references.Attribute18,'**##')THEN
7361       RETURN TRUE;
7362 END IF;
7363 IF NVL(old_references.Attribute19,'**##') <> NVL(new_references.Attribute19,'**##')THEN
7364       RETURN TRUE;
7365 END IF;
7366 IF NVL(old_references.Attribute20,'**##') <> NVL(new_references.Attribute20,'**##')THEN
7367       RETURN TRUE;
7368 END IF;
7369 IF NVL(old_references.Attribute21,'**##') <> NVL(new_references.Attribute21,'**##')THEN
7370       RETURN TRUE;
7371 END IF;
7372 IF NVL(old_references.Attribute22,'**##') <> NVL(new_references.Attribute22,'**##')THEN
7373       RETURN TRUE;
7374 END IF;
7375 IF NVL(old_references.Attribute23,'**##') <> NVL(new_references.Attribute23,'**##')THEN
7376       RETURN TRUE;
7377 END IF;
7378 IF NVL(old_references.Attribute24,'**##') <> NVL(new_references.Attribute24,'**##')THEN
7379       RETURN TRUE;
7380 END IF;
7381 IF NVL(old_references.Attribute25,'**##') <> NVL(new_references.Attribute25,'**##')THEN
7382       RETURN TRUE;
7383 END IF;
7384 IF NVL(old_references.Attribute26,'**##') <> NVL(new_references.Attribute26,'**##')THEN
7385       RETURN TRUE;
7386 END IF;
7387 IF NVL(old_references.Attribute27,'**##') <> NVL(new_references.Attribute27,'**##')THEN
7388       RETURN TRUE;
7389 END IF;
7390 IF NVL(old_references.Attribute28,'**##') <> NVL(new_references.Attribute28,'**##')THEN
7391       RETURN TRUE;
7392 END IF;
7393 IF NVL(old_references.Attribute29,'**##') <> NVL(new_references.Attribute29,'**##')THEN
7394       RETURN TRUE;
7395 END IF;
7396 IF NVL(old_references.Attribute30,'**##') <> NVL(new_references.Attribute30,'**##')THEN
7397       RETURN TRUE;
7398 END IF;
7399 IF NVL(old_references.Attribute31,'**##') <> NVL(new_references.Attribute31,'**##')THEN
7400       RETURN TRUE;
7401 END IF;
7402 IF NVL(old_references.Attribute32,'**##') <> NVL(new_references.Attribute32,'**##')THEN
7403       RETURN TRUE;
7404 END IF;
7405 IF NVL(old_references.Attribute33,'**##') <> NVL(new_references.Attribute33,'**##')THEN
7406       RETURN TRUE;
7407 END IF;
7408 IF NVL(old_references.Attribute34,'**##') <> NVL(new_references.Attribute34,'**##')THEN
7409       RETURN TRUE;
7410 END IF;
7411 IF NVL(old_references.Attribute35,'**##') <> NVL(new_references.Attribute35,'**##')THEN
7412       RETURN TRUE;
7413 END IF;
7414 IF NVL(old_references.Attribute36,'**##') <> NVL(new_references.Attribute36,'**##')THEN
7415       RETURN TRUE;
7416 END IF;
7417 IF NVL(old_references.Attribute37,'**##') <> NVL(new_references.Attribute37,'**##')THEN
7418       RETURN TRUE;
7419 END IF;
7420 IF NVL(old_references.Attribute38,'**##') <> NVL(new_references.Attribute38,'**##')THEN
7421       RETURN TRUE;
7422 END IF;
7423 IF NVL(old_references.Attribute39,'**##') <> NVL(new_references.Attribute39,'**##')THEN
7424       RETURN TRUE;
7425 END IF;
7426 IF NVL(old_references.Attribute40,'**##') <> NVL(new_references.Attribute40,'**##')THEN
7427       RETURN TRUE;
7428 END IF;
7429 
7430 RETURN FALSE;
7431 
7432 END check_non_updateable_list;
7433 
7434 
7435 END igs_ad_ps_appl_inst_pkg;