DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_GR_GRADUAND_HIST_PKG

Source


1 package body IGS_GR_GRADUAND_HIST_PKG as
2 /* $Header: IGSGI13B.pls 115.7 2003/10/07 08:21:12 ijeddy ship $ */
3   l_rowid VARCHAR2(25);
4   old_references IGS_GR_GRADUAND_HIST_ALL%RowType;
5   new_references IGS_GR_GRADUAND_HIST_ALL%RowType;
6 
7   PROCEDURE Set_Column_Values (
8     p_action IN VARCHAR2,
9     x_rowid IN VARCHAR2 DEFAULT NULL,
10     x_person_id IN NUMBER DEFAULT NULL,
11     x_create_dt IN DATE DEFAULT NULL,
12     x_hist_start_dt IN DATE DEFAULT NULL,
13     x_hist_end_dt IN DATE DEFAULT NULL,
14     x_hist_who IN NUMBER DEFAULT NULL,
15     x_grd_cal_type IN VARCHAR2 DEFAULT NULL,
16     x_grd_ci_sequence_number IN NUMBER DEFAULT NULL,
17     x_course_cd IN VARCHAR2 DEFAULT NULL,
18     x_award_course_cd IN VARCHAR2 DEFAULT NULL,
19     x_award_crs_version_number IN NUMBER DEFAULT NULL,
20     x_award_cd IN VARCHAR2 DEFAULT NULL,
21     x_honours_level IN VARCHAR2 DEFAULT NULL,
22     x_conferral_dt IN DATE DEFAULT NULL,
23     x_graduand_status IN VARCHAR2 DEFAULT NULL,
24     x_graduand_appr_status IN VARCHAR2 DEFAULT NULL,
25     x_s_graduand_type IN VARCHAR2 DEFAULT NULL,
26     x_graduation_name IN VARCHAR2 DEFAULT NULL,
27     x_proxy_award_ind IN VARCHAR2 DEFAULT NULL,
28     x_proxy_award_person_id IN NUMBER DEFAULT NULL,
29     x_previous_qualifications IN VARCHAR2 DEFAULT NULL,
30     x_convocation_membership_ind IN VARCHAR2 DEFAULT NULL,
31     x_sur_for_course_cd IN VARCHAR2 DEFAULT NULL,
32     x_sur_for_crs_version_number IN NUMBER DEFAULT NULL,
33     x_sur_for_award_cd IN VARCHAR2 DEFAULT NULL,
34     x_comments IN VARCHAR2 DEFAULT NULL,
35     x_creation_date IN DATE DEFAULT NULL,
36     x_created_by IN NUMBER DEFAULT NULL,
37     x_last_update_date IN DATE DEFAULT NULL,
38     x_last_updated_by IN NUMBER DEFAULT NULL,
39     x_last_update_login IN NUMBER DEFAULT NULL ,
40     x_org_id IN NUMBER DEFAULT NULL
41   ) AS
42 
43     CURSOR cur_old_ref_values IS
44       SELECT   *
45       FROM     IGS_GR_GRADUAND_HIST_ALL
46       WHERE    rowid = x_rowid;
47 
48   BEGIN
49 
50     l_rowid := x_rowid;
51 
52     -- Code for setting the Old and New Reference Values.
53     -- Populate Old Values.
54     Open cur_old_ref_values;
55     Fetch cur_old_ref_values INTO old_references;
56     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
57       Close cur_old_ref_values;
58       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
59       App_Exception.Raise_Exception;
60       Return;
61     END IF;
62     Close cur_old_ref_values;
63 
64     -- Populate New Values.
65     new_references.person_id := x_person_id;
66     new_references.create_dt := x_create_dt;
67     new_references.hist_start_dt := x_hist_start_dt;
68     new_references.hist_end_dt := x_hist_end_dt;
69     new_references.hist_who := x_hist_who;
70     new_references.grd_cal_type := x_grd_cal_type;
71     new_references.grd_ci_sequence_number := x_grd_ci_sequence_number;
72     new_references.course_cd := x_course_cd;
73     new_references.award_course_cd := x_award_course_cd;
74     new_references.award_crs_version_number := x_award_crs_version_number;
75     new_references.award_cd := x_award_cd;
76     new_references.graduand_status := x_graduand_status;
77     new_references.graduand_appr_status := x_graduand_appr_status;
78     new_references.s_graduand_type := x_s_graduand_type;
79     new_references.graduation_name := x_graduation_name;
80     new_references.proxy_award_ind := x_proxy_award_ind;
81     new_references.proxy_award_person_id := x_proxy_award_person_id;
82     new_references.previous_qualifications := x_previous_qualifications;
83     new_references.convocation_membership_ind := x_convocation_membership_ind;
84     new_references.sur_for_course_cd := x_sur_for_course_cd;
85     new_references.sur_for_crs_version_number := x_sur_for_crs_version_number;
86     new_references.sur_for_award_cd := x_sur_for_award_cd;
87     new_references.comments := x_comments;
88     new_references.org_id := x_org_id;
89     IF (p_action = 'UPDATE') THEN
90       new_references.creation_date := old_references.creation_date;
91       new_references.created_by := old_references.created_by;
92     ELSE
93       new_references.creation_date := x_creation_date;
94       new_references.created_by := x_created_by;
95     END IF;
96     new_references.last_update_date := x_last_update_date;
97     new_references.last_updated_by := x_last_updated_by;
98     new_references.last_update_login := x_last_update_login;
99 
100   END Set_Column_Values;
101 
102   FUNCTION Get_PK_For_Validation (
103     x_person_id IN NUMBER,
104     x_create_dt IN DATE,
105     x_hist_start_dt IN DATE
106     ) RETURN BOOLEAN AS
107 
108     CURSOR cur_rowid IS
109       SELECT   rowid
110       FROM     IGS_GR_GRADUAND_HIST_ALL
111       WHERE    person_id = x_person_id
112       AND      create_dt = x_create_dt
113       AND      hist_start_dt = x_hist_start_dt
114       FOR UPDATE NOWAIT;
115 
116     lv_rowid cur_rowid%RowType;
117 
118   BEGIN
119 
120     Open cur_rowid;
121     Fetch cur_rowid INTO lv_rowid;
122     	IF (cur_rowid%FOUND) THEN
123 		Close cur_rowid;
124 		Return (TRUE);
125 	ELSE
126 		Close cur_rowid;
127 		Return (FALSE);
128 	END IF;
129 
130   END Get_PK_For_Validation;
131 
132   PROCEDURE CHECK_CONSTRAINTS(
133 	Column_Name IN VARCHAR2 DEFAULT NULL,
134 	Column_Value IN VARCHAR2 DEFAULT NULL
135 	) AS
136   BEGIN
137 IF Column_Name is null THEN
138   NULL;
139 ELSIF upper(Column_name) = 'AWARD_CD' THEN
140   new_references.AWARD_CD:= COLUMN_VALUE ;
141 
142 ELSIF upper(Column_name) = 'AWARD_COURSE_CD' THEN
143   new_references.AWARD_COURSE_CD:= COLUMN_VALUE ;
144 
145 ELSIF upper(Column_name) = 'CONVOCATION_MEMBERSHIP_IND' THEN
146   new_references.CONVOCATION_MEMBERSHIP_IND:= COLUMN_VALUE ;
147 
148 ELSIF upper(Column_name) = 'COURSE_CD' THEN
149   new_references.COURSE_CD:= COLUMN_VALUE ;
150 
151 ELSIF upper(Column_name) = 'GRADUAND_APPR_STATUS' THEN
152   new_references.GRADUAND_APPR_STATUS:= COLUMN_VALUE ;
153 
154 ELSIF upper(Column_name) = 'GRADUAND_STATUS' THEN
155   new_references.GRADUAND_STATUS:= COLUMN_VALUE ;
156 
157 ELSIF upper(Column_name) = 'S_GRADUAND_TYPE' THEN
158   new_references.S_GRADUAND_TYPE:= COLUMN_VALUE ;
159 
160 ELSIF upper(Column_name) = 'HIST_WHO' THEN
161   new_references.HIST_WHO:= COLUMN_VALUE ;
162 
163 
164 ELSIF upper(Column_name) = 'PROXY_AWARD_IND' THEN
165   new_references.PROXY_AWARD_IND:= COLUMN_VALUE ;
166 
167 ELSIF upper(Column_name) = 'SUR_FOR_AWARD_CD' THEN
168   new_references.SUR_FOR_AWARD_CD:= COLUMN_VALUE ;
169 
170 ELSIF upper(Column_name) = 'SUR_FOR_COURSE_CD' THEN
171   new_references.SUR_FOR_COURSE_CD:= COLUMN_VALUE ;
172 
173 ELSIF upper(Column_name) = 'GRD_CAL_TYPE' THEN
174   new_references.GRD_CAL_TYPE:= COLUMN_VALUE ;
175 
176 ELSIF upper(Column_name) = 'PERSON_ID' THEN
177   new_references.PERSON_ID:= IGS_GE_NUMBER.to_num(COLUMN_VALUE) ;
178 
179 ELSIF upper(Column_name) = 'GRD_CI_SEQUENCE_NUMBER' THEN
180   new_references.GRD_CI_SEQUENCE_NUMBER:= IGS_GE_NUMBER.to_num(COLUMN_VALUE) ;
181 
182 ELSIF upper(Column_name) = 'AWARD_CRS_VERSION_NUMBER' THEN
183   new_references.AWARD_CRS_VERSION_NUMBER:= IGS_GE_NUMBER.to_num(COLUMN_VALUE) ;
184 
185 ELSIF upper(Column_name) = 'S_GRADUAND_TYPE' THEN
186   new_references.S_GRADUAND_TYPE:= COLUMN_VALUE ;
187 
188 ELSIF upper(Column_name) = 'PROXY_AWARD_IND' THEN
189   new_references.PROXY_AWARD_IND:= COLUMN_VALUE ;
190 
191 ELSIF upper(Column_name) = 'PROXY_AWARD_PERSON_ID' THEN
192   new_references.PROXY_AWARD_PERSON_ID:= IGS_GE_NUMBER.to_num(COLUMN_VALUE) ;
193 
194 ELSIF upper(Column_name) = 'CONVOCATION_MEMBERSHIP_IND' THEN
195   new_references.CONVOCATION_MEMBERSHIP_IND:= COLUMN_VALUE ;
196 
197 END IF ;
198 
199 IF upper(Column_name) = 'AWARD_CD' OR COLUMN_NAME IS NULL THEN
200   IF new_references.AWARD_CD<> upper(new_references.AWARD_CD) then
201     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
202     App_Exception.Raise_Exception ;
203   END IF;
204 
205 END IF ;
206 
207 IF upper(Column_name) = 'AWARD_COURSE_CD' OR COLUMN_NAME IS NULL THEN
208   IF new_references.AWARD_COURSE_CD<> upper(new_references.AWARD_COURSE_CD) then
209     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
210     App_Exception.Raise_Exception ;
211   END IF;
212 
213 END IF ;
214 
215 
216 IF upper(Column_name) = 'CONVOCATION_MEMBERSHIP_IND' OR COLUMN_NAME IS NULL THEN
217   IF new_references.CONVOCATION_MEMBERSHIP_IND<> upper(new_references.CONVOCATION_MEMBERSHIP_IND) then
218     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
219     App_Exception.Raise_Exception ;
220   END IF;
221 
222 END IF ;
223 
224 IF upper(Column_name) = 'COURSE_CD' OR COLUMN_NAME IS NULL THEN
225   IF new_references.COURSE_CD<> upper(new_references.COURSE_CD) then
226     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
227     App_Exception.Raise_Exception ;
228   END IF;
229 
230 END IF ;
231 
232 IF upper(Column_name) = 'GRADUAND_APPR_STATUS' OR COLUMN_NAME IS NULL THEN
233   IF new_references.GRADUAND_APPR_STATUS<> upper(new_references.GRADUAND_APPR_STATUS) then
234     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
235     App_Exception.Raise_Exception ;
236   END IF;
237 
238 END IF ;
239 
240 IF upper(Column_name) = 'GRADUAND_STATUS' OR COLUMN_NAME IS NULL THEN
241   IF new_references.GRADUAND_STATUS<> upper(new_references.GRADUAND_STATUS) then
242     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
243     App_Exception.Raise_Exception ;
244   END IF;
245 
246 END IF ;
247 
248 IF upper(Column_name) = 'S_GRADUAND_TYPE' OR COLUMN_NAME IS NULL THEN
249   IF new_references.S_GRADUAND_TYPE<> upper(new_references.S_GRADUAND_TYPE) then
250     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
251     App_Exception.Raise_Exception ;
252   END IF;
253 
254 END IF ;
255 
256 IF upper(Column_name) = 'HIST_WHO' OR COLUMN_NAME IS NULL THEN
257   IF new_references.HIST_WHO<> upper(new_references.HIST_WHO) then
258     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
259     App_Exception.Raise_Exception ;
260   END IF;
261 
262 END IF ;
263 
264 
265 IF upper(Column_name) = 'PROXY_AWARD_IND' OR COLUMN_NAME IS NULL THEN
266   IF new_references.PROXY_AWARD_IND<> upper(new_references.PROXY_AWARD_IND) then
267     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
268     App_Exception.Raise_Exception ;
269   END IF;
270 
271 END IF ;
272 
273 IF upper(Column_name) = 'SUR_FOR_AWARD_CD' OR COLUMN_NAME IS NULL THEN
274   IF new_references.SUR_FOR_AWARD_CD<> upper(new_references.SUR_FOR_AWARD_CD) then
275     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
276     App_Exception.Raise_Exception ;
277   END IF;
278 
279 END IF ;
280 
281 IF upper(Column_name) = 'SUR_FOR_COURSE_CD' OR COLUMN_NAME IS NULL THEN
282   IF new_references.SUR_FOR_COURSE_CD<> upper(new_references.SUR_FOR_COURSE_CD) then
283     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
284     App_Exception.Raise_Exception ;
285   END IF;
286 
287 END IF ;
288 
289 IF upper(Column_name) = 'GRD_CAL_TYPE' OR COLUMN_NAME IS NULL THEN
290   IF new_references.GRD_CAL_TYPE<> upper(new_references.GRD_CAL_TYPE) then
291     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
292     App_Exception.Raise_Exception ;
293   END IF;
294 
295 END IF ;
296 
297 IF upper(Column_name) = 'PERSON_ID' OR COLUMN_NAME IS NULL THEN
298   IF new_references.PERSON_ID < 0 OR new_references.PERSON_ID > 9999999999 then
299     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
300     App_Exception.Raise_Exception ;
301   END IF;
302 
303 END IF ;
304 
305 IF upper(Column_name) = 'GRD_CI_SEQUENCE_NUMBER' OR COLUMN_NAME IS NULL THEN
306   IF new_references.GRD_CI_SEQUENCE_NUMBER < 1 OR new_references.GRD_CI_SEQUENCE_NUMBER > 999999 then
307     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
308     App_Exception.Raise_Exception ;
309   END IF;
310 
311 END IF ;
312 
313 IF upper(Column_name) = 'AWARD_CRS_VERSION_NUMBER' OR COLUMN_NAME IS NULL THEN
314   IF new_references.AWARD_CRS_VERSION_NUMBER < 0 OR new_references.AWARD_CRS_VERSION_NUMBER > 999 then
315     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
316     App_Exception.Raise_Exception ;
317   END IF;
318 
319 END IF ;
320 
321 IF upper(Column_name) = 'S_GRADUAND_TYPE' OR COLUMN_NAME IS NULL THEN
322   IF new_references.S_GRADUAND_TYPE not in  ( 'ATTENDING' , 'INABSENTIA' , 'ARTICULATE' , 'DEFERRED' , 'UNKNOWN' , 'DECLINED' ) then
323     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
324     App_Exception.Raise_Exception ;
325   END IF;
326 END IF ;
327 
328 IF upper(Column_name) = 'PROXY_AWARD_IND' OR COLUMN_NAME IS NULL THEN
329   IF new_references.PROXY_AWARD_IND not in  ('Y','N') then
330     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
331     App_Exception.Raise_Exception ;
332   END IF;
333 
334 END IF ;
335 
336 IF upper(Column_name) = 'PROXY_AWARD_PERSON_ID' OR COLUMN_NAME IS NULL THEN
337   IF new_references.PROXY_AWARD_PERSON_ID < 0 or new_references.PROXY_AWARD_PERSON_ID > 9999999999 then
338     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
339     App_Exception.Raise_Exception ;
340   END IF;
341 
342 END IF ;
343 
344 IF upper(Column_name) = 'CONVOCATION_MEMBERSHIP_IND' OR COLUMN_NAME IS NULL THEN
345   IF new_references.CONVOCATION_MEMBERSHIP_IND not in  ('Y','N') then
346     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
350 END IF ;
347     App_Exception.Raise_Exception ;
348   END IF;
349 
351   END CHECK_CONSTRAINTS;
352 
353   PROCEDURE Before_DML (
354     p_action IN VARCHAR2,
355     x_rowid IN VARCHAR2 DEFAULT NULL,
356     x_person_id IN NUMBER DEFAULT NULL,
357     x_create_dt IN DATE DEFAULT NULL,
358     x_hist_start_dt IN DATE DEFAULT NULL,
359     x_hist_end_dt IN DATE DEFAULT NULL,
360     x_hist_who IN NUMBER DEFAULT NULL,
361     x_grd_cal_type IN VARCHAR2 DEFAULT NULL,
362     x_grd_ci_sequence_number IN NUMBER DEFAULT NULL,
363     x_course_cd IN VARCHAR2 DEFAULT NULL,
364     x_award_course_cd IN VARCHAR2 DEFAULT NULL,
365     x_award_crs_version_number IN NUMBER DEFAULT NULL,
366     x_award_cd IN VARCHAR2 DEFAULT NULL,
367     x_honours_level IN VARCHAR2 DEFAULT NULL,
368     x_conferral_dt IN DATE DEFAULT NULL,
369     x_graduand_status IN VARCHAR2 DEFAULT NULL,
370     x_graduand_appr_status IN VARCHAR2 DEFAULT NULL,
371     x_s_graduand_type IN VARCHAR2 DEFAULT NULL,
372     x_graduation_name IN VARCHAR2 DEFAULT NULL,
373     x_proxy_award_ind IN VARCHAR2 DEFAULT NULL,
374     x_proxy_award_person_id IN NUMBER DEFAULT NULL,
375     x_previous_qualifications IN VARCHAR2 DEFAULT NULL,
376     x_convocation_membership_ind IN VARCHAR2 DEFAULT NULL,
377     x_sur_for_course_cd IN VARCHAR2 DEFAULT NULL,
378     x_sur_for_crs_version_number IN NUMBER DEFAULT NULL,
379     x_sur_for_award_cd IN VARCHAR2 DEFAULT NULL,
380     x_comments IN VARCHAR2 DEFAULT NULL,
381     x_creation_date IN DATE DEFAULT NULL,
382     x_created_by IN NUMBER DEFAULT NULL,
383     x_last_update_date IN DATE DEFAULT NULL,
384     x_last_updated_by IN NUMBER DEFAULT NULL,
385     x_last_update_login IN NUMBER DEFAULT NULL,
386     x_org_id IN NUMBER DEFAULT NULL
387   ) AS
388   BEGIN
389 
390     Set_Column_Values (
391       p_action,
392       x_rowid,
393       x_person_id,
394       x_create_dt,
395       x_hist_start_dt,
396       x_hist_end_dt,
397       x_hist_who,
398       x_grd_cal_type,
399       x_grd_ci_sequence_number,
400       x_course_cd,
401       x_award_course_cd,
402       x_award_crs_version_number,
403       x_award_cd,
404       null,
405       null,
406       x_graduand_status,
407       x_graduand_appr_status,
408       x_s_graduand_type,
409       x_graduation_name,
410       x_proxy_award_ind,
411       x_proxy_award_person_id,
412       x_previous_qualifications,
413       x_convocation_membership_ind,
414       x_sur_for_course_cd,
415       x_sur_for_crs_version_number,
416       x_sur_for_award_cd,
417       x_comments,
418       x_creation_date,
419       x_created_by,
420       x_last_update_date,
421       x_last_updated_by,
422       x_last_update_login ,
423       x_org_id
424     );
425 
426     IF (p_action = 'INSERT') THEN
427       -- Call all the procedures related to Before Insert.
428 	IF GET_PK_FOR_VALIDATION(
429 	    NEW_REFERENCES.person_id,
430 	    NEW_REFERENCES.create_dt,
431 	    NEW_REFERENCES.hist_start_dt
432 		) THEN
433 		Fnd_Message.Set_Name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
434 		App_Exception.Raise_Exception;
435 	END IF;
436 
437 	check_constraints;
438     ELSIF (p_action = 'UPDATE') THEN
439       -- Call all the procedures related to Before Update.
440 
441 	check_constraints;
442     ELSIF (p_action = 'VALIDATE_INSERT') THEN
443 	IF GET_PK_FOR_VALIDATION(
444 	    NEW_REFERENCES.person_id,
445 	    NEW_REFERENCES.create_dt,
446 	    NEW_REFERENCES.hist_start_dt
447 		) THEN
448 		Fnd_Message.Set_Name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
449 		App_Exception.Raise_Exception;
450 	END IF;
451 
452 	check_constraints;
453     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
454 
455 	check_constraints;
456     END IF;
457 
458   END Before_DML;
459 
460 procedure INSERT_ROW (
461   X_ROWID in out NOCOPY VARCHAR2,
462   X_PERSON_ID in NUMBER,
463   X_CREATE_DT in DATE,
464   X_HIST_START_DT in DATE,
465   X_HIST_END_DT in DATE,
466   X_HIST_WHO in NUMBER,
467   X_GRD_CAL_TYPE in VARCHAR2,
468   X_GRD_CI_SEQUENCE_NUMBER in NUMBER,
469   X_COURSE_CD in VARCHAR2,
470   X_AWARD_COURSE_CD in VARCHAR2,
471   X_AWARD_CRS_VERSION_NUMBER in NUMBER,
472   X_AWARD_CD in VARCHAR2,
473   X_HONOURS_LEVEL in VARCHAR2 DEFAULT NULL,
474   X_CONFERRAL_DT in DATE DEFAULT NULL,
475   X_GRADUAND_STATUS in VARCHAR2,
476   X_GRADUAND_APPR_STATUS in VARCHAR2,
477   X_S_GRADUAND_TYPE in VARCHAR2,
478   X_GRADUATION_NAME in VARCHAR2,
479   X_PROXY_AWARD_IND in VARCHAR2,
480   X_PROXY_AWARD_PERSON_ID in NUMBER,
481   X_PREVIOUS_QUALIFICATIONS in VARCHAR2,
482   X_CONVOCATION_MEMBERSHIP_IND in VARCHAR2,
483   X_SUR_FOR_COURSE_CD in VARCHAR2,
484   X_SUR_FOR_CRS_VERSION_NUMBER in NUMBER,
485   X_SUR_FOR_AWARD_CD in VARCHAR2,
486   X_COMMENTS in VARCHAR2,
487   X_MODE in VARCHAR2 default 'R',
488   X_ORG_ID in NUMBER
489   ) AS
490     cursor C is select ROWID from IGS_GR_GRADUAND_HIST_ALL
491       where PERSON_ID = X_PERSON_ID
492       and CREATE_DT = X_CREATE_DT
493       and HIST_START_DT = X_HIST_START_DT;
497 begin
494     X_LAST_UPDATE_DATE DATE;
495     X_LAST_UPDATED_BY NUMBER;
496     X_LAST_UPDATE_LOGIN NUMBER;
498   X_LAST_UPDATE_DATE := SYSDATE;
499   if(X_MODE = 'I') then
500     X_LAST_UPDATED_BY := 1;
501     X_LAST_UPDATE_LOGIN := 0;
502   elsif (X_MODE = 'R') then
503     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
504     if X_LAST_UPDATED_BY is NULL then
505       X_LAST_UPDATED_BY := -1;
506     end if;
507     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
508     if X_LAST_UPDATE_LOGIN is NULL then
509       X_LAST_UPDATE_LOGIN := -1;
510     end if;
511   else
512     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
513     app_exception.raise_exception;
514   end if;
515 
516  Before_DML (
517      p_action => 'INSERT',
518      x_rowid => X_ROWID,
519     x_person_id => X_PERSON_ID,
520     x_create_dt => X_CREATE_DT,
521     x_hist_start_dt => X_HIST_START_DT,
522     x_hist_end_dt => X_HIST_END_DT,
523     x_hist_who => X_HIST_WHO,
524     x_grd_cal_type => X_GRD_CAL_TYPE,
525     x_grd_ci_sequence_number => X_GRD_CI_SEQUENCE_NUMBER,
526     x_course_cd => X_COURSE_CD,
527     x_award_course_cd => X_AWARD_COURSE_CD,
528     x_award_crs_version_number => X_AWARD_CRS_VERSION_NUMBER,
529     x_award_cd => X_AWARD_CD,
530     x_graduand_status => NVL(X_GRADUAND_STATUS, 'POTENTIAL'),
531     x_graduand_appr_status => NVL(X_GRADUAND_APPR_STATUS, 'WAITING'),
532     x_s_graduand_type => NVL(X_S_GRADUAND_TYPE, 'UNKNOWN'),
533     x_graduation_name => X_GRADUATION_NAME,
534     x_proxy_award_ind => NVL(X_PROXY_AWARD_IND, 'N'),
535     x_proxy_award_person_id => X_PROXY_AWARD_PERSON_ID,
536     x_previous_qualifications => X_PREVIOUS_QUALIFICATIONS,
537     x_convocation_membership_ind => NVL(X_CONVOCATION_MEMBERSHIP_IND, 'N'),
538     x_sur_for_course_cd => X_SUR_FOR_COURSE_CD,
539     x_sur_for_crs_version_number => X_SUR_FOR_CRS_VERSION_NUMBER,
540     x_sur_for_award_cd => X_SUR_FOR_AWARD_CD,
541     x_comments => X_COMMENTS,
542     x_creation_date => X_LAST_UPDATE_DATE,
543      x_created_by => X_LAST_UPDATED_BY,
544      x_last_update_date => X_LAST_UPDATE_DATE,
545      x_last_updated_by => X_LAST_UPDATED_BY,
546      x_last_update_login => X_LAST_UPDATE_LOGIN,
547      x_org_id => igs_ge_gen_003.get_org_id
548   );
549 
550   insert into IGS_GR_GRADUAND_HIST_ALL (
551     PERSON_ID,
552     CREATE_DT,
553     HIST_START_DT,
554     HIST_END_DT,
555     HIST_WHO,
556     GRD_CAL_TYPE,
557     GRD_CI_SEQUENCE_NUMBER,
558     COURSE_CD,
559     AWARD_COURSE_CD,
560     AWARD_CRS_VERSION_NUMBER,
561     AWARD_CD,
562     GRADUAND_STATUS,
563     GRADUAND_APPR_STATUS,
564     S_GRADUAND_TYPE,
565     GRADUATION_NAME,
566     PROXY_AWARD_IND,
567     PROXY_AWARD_PERSON_ID,
568     PREVIOUS_QUALIFICATIONS,
569     CONVOCATION_MEMBERSHIP_IND,
570     SUR_FOR_COURSE_CD,
571     SUR_FOR_CRS_VERSION_NUMBER,
572     SUR_FOR_AWARD_CD,
573     COMMENTS,
574     CREATION_DATE,
575     CREATED_BY,
576     LAST_UPDATE_DATE,
577     LAST_UPDATED_BY,
578     LAST_UPDATE_LOGIN,
579     ORG_ID
583     NEW_REFERENCES.HIST_START_DT,
580   ) values (
581     NEW_REFERENCES.PERSON_ID,
582     NEW_REFERENCES.CREATE_DT,
584     NEW_REFERENCES.HIST_END_DT,
585     NEW_REFERENCES.HIST_WHO,
586     NEW_REFERENCES.GRD_CAL_TYPE,
587     NEW_REFERENCES.GRD_CI_SEQUENCE_NUMBER,
588     NEW_REFERENCES.COURSE_CD,
589     NEW_REFERENCES.AWARD_COURSE_CD,
590     NEW_REFERENCES.AWARD_CRS_VERSION_NUMBER,
591     NEW_REFERENCES.AWARD_CD,
592     NEW_REFERENCES.GRADUAND_STATUS,
593     NEW_REFERENCES.GRADUAND_APPR_STATUS,
594     NEW_REFERENCES.S_GRADUAND_TYPE,
595     NEW_REFERENCES.GRADUATION_NAME,
596     NEW_REFERENCES.PROXY_AWARD_IND,
597     NEW_REFERENCES.PROXY_AWARD_PERSON_ID,
598     NEW_REFERENCES.PREVIOUS_QUALIFICATIONS,
599     NEW_REFERENCES.CONVOCATION_MEMBERSHIP_IND,
600     NEW_REFERENCES.SUR_FOR_COURSE_CD,
601     NEW_REFERENCES.SUR_FOR_CRS_VERSION_NUMBER,
602     NEW_REFERENCES.SUR_FOR_AWARD_CD,
603     NEW_REFERENCES.COMMENTS,
604     X_LAST_UPDATE_DATE,
605     X_LAST_UPDATED_BY,
606     X_LAST_UPDATE_DATE,
607     X_LAST_UPDATED_BY,
608     X_LAST_UPDATE_LOGIN,
609     NEW_REFERENCES.ORG_ID
610   );
611 
612   open c;
613   fetch c into X_ROWID;
614   if (c%notfound) then
615     close c;
616     raise no_data_found;
617   end if;
618   close c;
619 
620 end INSERT_ROW;
621 
622 procedure LOCK_ROW (
623   X_ROWID in VARCHAR2,
624   X_PERSON_ID in NUMBER,
625   X_CREATE_DT in DATE,
626   X_HIST_START_DT in DATE,
627   X_HIST_END_DT in DATE,
628   X_HIST_WHO in NUMBER,
629   X_GRD_CAL_TYPE in VARCHAR2,
630   X_GRD_CI_SEQUENCE_NUMBER in NUMBER,
631   X_COURSE_CD in VARCHAR2,
632   X_AWARD_COURSE_CD in VARCHAR2,
633   X_AWARD_CRS_VERSION_NUMBER in NUMBER,
634   X_AWARD_CD in VARCHAR2,
635   X_HONOURS_LEVEL in VARCHAR2 DEFAULT NULL,
636   X_CONFERRAL_DT in DATE DEFAULT NULL,
637   X_GRADUAND_STATUS in VARCHAR2,
638   X_GRADUAND_APPR_STATUS in VARCHAR2,
639   X_S_GRADUAND_TYPE in VARCHAR2,
640   X_GRADUATION_NAME in VARCHAR2,
641   X_PROXY_AWARD_IND in VARCHAR2,
642   X_PROXY_AWARD_PERSON_ID in NUMBER,
643   X_PREVIOUS_QUALIFICATIONS in VARCHAR2,
644   X_CONVOCATION_MEMBERSHIP_IND in VARCHAR2,
645   X_SUR_FOR_COURSE_CD in VARCHAR2,
646   X_SUR_FOR_CRS_VERSION_NUMBER in NUMBER,
647   X_SUR_FOR_AWARD_CD in VARCHAR2,
648   X_COMMENTS in VARCHAR2
649 ) AS
650   cursor c1 is select
651       HIST_END_DT,
652       HIST_WHO,
653       GRD_CAL_TYPE,
654       GRD_CI_SEQUENCE_NUMBER,
655       COURSE_CD,
656       AWARD_COURSE_CD,
657       AWARD_CRS_VERSION_NUMBER,
658       AWARD_CD,
659       GRADUAND_STATUS,
660       GRADUAND_APPR_STATUS,
661       S_GRADUAND_TYPE,
662       GRADUATION_NAME,
663       PROXY_AWARD_IND,
664       PROXY_AWARD_PERSON_ID,
665       PREVIOUS_QUALIFICATIONS,
666       CONVOCATION_MEMBERSHIP_IND,
667       SUR_FOR_COURSE_CD,
668       SUR_FOR_CRS_VERSION_NUMBER,
669       SUR_FOR_AWARD_CD,
670       COMMENTS
671     from IGS_GR_GRADUAND_HIST_ALL
672     where ROWID = X_ROWID for update nowait;
673   tlinfo c1%rowtype;
674 
675 begin
676   open c1;
677   fetch c1 into tlinfo;
678   if (c1%notfound) then
679     close c1;
680     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
681     app_exception.raise_exception;
682     return;
683   end if;
684   close c1;
685 
686   if ( (tlinfo.HIST_END_DT = X_HIST_END_DT)
687       AND (tlinfo.HIST_WHO = X_HIST_WHO)
688       AND ((tlinfo.GRD_CAL_TYPE = X_GRD_CAL_TYPE)
689            OR ((tlinfo.GRD_CAL_TYPE is null)
690                AND (X_GRD_CAL_TYPE is null)))
691       AND ((tlinfo.GRD_CI_SEQUENCE_NUMBER = X_GRD_CI_SEQUENCE_NUMBER)
692            OR ((tlinfo.GRD_CI_SEQUENCE_NUMBER is null)
693                AND (X_GRD_CI_SEQUENCE_NUMBER is null)))
694       AND ((tlinfo.COURSE_CD = X_COURSE_CD)
695            OR ((tlinfo.COURSE_CD is null)
696                AND (X_COURSE_CD is null)))
697       AND ((tlinfo.AWARD_COURSE_CD = X_AWARD_COURSE_CD)
698            OR ((tlinfo.AWARD_COURSE_CD is null)
699                AND (X_AWARD_COURSE_CD is null)))
700       AND ((tlinfo.AWARD_CRS_VERSION_NUMBER = X_AWARD_CRS_VERSION_NUMBER)
701            OR ((tlinfo.AWARD_CRS_VERSION_NUMBER is null)
702                AND (X_AWARD_CRS_VERSION_NUMBER is null)))
703       AND ((tlinfo.AWARD_CD = X_AWARD_CD)
704            OR ((tlinfo.AWARD_CD is null)
705                AND (X_AWARD_CD is null)))
706       AND ((tlinfo.GRADUAND_STATUS = X_GRADUAND_STATUS)
707            OR ((tlinfo.GRADUAND_STATUS is null)
708                AND (X_GRADUAND_STATUS is null)))
709       AND ((tlinfo.GRADUAND_APPR_STATUS = X_GRADUAND_APPR_STATUS)
710            OR ((tlinfo.GRADUAND_APPR_STATUS is null)
711                AND (X_GRADUAND_APPR_STATUS is null)))
712       AND ((tlinfo.S_GRADUAND_TYPE = X_S_GRADUAND_TYPE)
713            OR ((tlinfo.S_GRADUAND_TYPE is null)
714                AND (X_S_GRADUAND_TYPE is null)))
715       AND ((tlinfo.GRADUATION_NAME = X_GRADUATION_NAME)
716            OR ((tlinfo.GRADUATION_NAME is null)
717                AND (X_GRADUATION_NAME is null)))
718       AND ((tlinfo.PROXY_AWARD_IND = X_PROXY_AWARD_IND)
719            OR ((tlinfo.PROXY_AWARD_IND is null)
723                AND (X_PROXY_AWARD_PERSON_ID is null)))
720                AND (X_PROXY_AWARD_IND is null)))
721       AND ((tlinfo.PROXY_AWARD_PERSON_ID = X_PROXY_AWARD_PERSON_ID)
722            OR ((tlinfo.PROXY_AWARD_PERSON_ID is null)
724       AND ((tlinfo.PREVIOUS_QUALIFICATIONS = X_PREVIOUS_QUALIFICATIONS)
725            OR ((tlinfo.PREVIOUS_QUALIFICATIONS is null)
726                AND (X_PREVIOUS_QUALIFICATIONS is null)))
727       AND ((tlinfo.CONVOCATION_MEMBERSHIP_IND = X_CONVOCATION_MEMBERSHIP_IND)
728            OR ((tlinfo.CONVOCATION_MEMBERSHIP_IND is null)
729                AND (X_CONVOCATION_MEMBERSHIP_IND is null)))
730       AND ((tlinfo.SUR_FOR_COURSE_CD = X_SUR_FOR_COURSE_CD)
731            OR ((tlinfo.SUR_FOR_COURSE_CD is null)
732                AND (X_SUR_FOR_COURSE_CD is null)))
733       AND ((tlinfo.SUR_FOR_CRS_VERSION_NUMBER = X_SUR_FOR_CRS_VERSION_NUMBER)
734            OR ((tlinfo.SUR_FOR_CRS_VERSION_NUMBER is null)
735                AND (X_SUR_FOR_CRS_VERSION_NUMBER is null)))
736       AND ((tlinfo.SUR_FOR_AWARD_CD = X_SUR_FOR_AWARD_CD)
737            OR ((tlinfo.SUR_FOR_AWARD_CD is null)
738                AND (X_SUR_FOR_AWARD_CD is null)))
739       AND ((tlinfo.COMMENTS = X_COMMENTS)
740            OR ((tlinfo.COMMENTS is null)
741                AND (X_COMMENTS is null)))
742 
743   ) then
744     null;
745   else
746     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
747     app_exception.raise_exception;
748   end if;
749   return;
750 end LOCK_ROW;
751 
752 procedure UPDATE_ROW (
753   X_ROWID in VARCHAR2,
754   X_PERSON_ID in NUMBER,
755   X_CREATE_DT in DATE,
756   X_HIST_START_DT in DATE,
757   X_HIST_END_DT in DATE,
758   X_HIST_WHO in NUMBER,
759   X_GRD_CAL_TYPE in VARCHAR2,
760   X_GRD_CI_SEQUENCE_NUMBER in NUMBER,
761   X_COURSE_CD in VARCHAR2,
762   X_AWARD_COURSE_CD in VARCHAR2,
763   X_AWARD_CRS_VERSION_NUMBER in NUMBER,
764   X_AWARD_CD in VARCHAR2,
765   X_HONOURS_LEVEL in VARCHAR2 DEFAULT NULL,
766   X_CONFERRAL_DT in DATE DEFAULT NULL,
767   X_GRADUAND_STATUS in VARCHAR2,
768   X_GRADUAND_APPR_STATUS in VARCHAR2,
769   X_S_GRADUAND_TYPE in VARCHAR2,
770   X_GRADUATION_NAME in VARCHAR2,
771   X_PROXY_AWARD_IND in VARCHAR2,
772   X_PROXY_AWARD_PERSON_ID in NUMBER,
773   X_PREVIOUS_QUALIFICATIONS in VARCHAR2,
774   X_CONVOCATION_MEMBERSHIP_IND in VARCHAR2,
775   X_SUR_FOR_COURSE_CD in VARCHAR2,
776   X_SUR_FOR_CRS_VERSION_NUMBER in NUMBER,
777   X_SUR_FOR_AWARD_CD in VARCHAR2,
778   X_COMMENTS in VARCHAR2,
779   X_MODE in VARCHAR2 default 'R'
780   ) AS
781     X_LAST_UPDATE_DATE DATE;
782     X_LAST_UPDATED_BY NUMBER;
783     X_LAST_UPDATE_LOGIN NUMBER;
784 begin
785   X_LAST_UPDATE_DATE := SYSDATE;
786   if(X_MODE = 'I') then
787     X_LAST_UPDATED_BY := 1;
788     X_LAST_UPDATE_LOGIN := 0;
789   elsif (X_MODE = 'R') then
790     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
791     if X_LAST_UPDATED_BY is NULL then
792       X_LAST_UPDATED_BY := -1;
793     end if;
794     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
795     if X_LAST_UPDATE_LOGIN is NULL then
796       X_LAST_UPDATE_LOGIN := -1;
797     end if;
798   else
799     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
800     app_exception.raise_exception;
804      p_action => 'UPDATE',
801   end if;
802 
803  Before_DML (
805      x_rowid => X_ROWID,
806     x_person_id => X_PERSON_ID,
807     x_create_dt => X_CREATE_DT,
808     x_hist_start_dt => X_HIST_START_DT,
809     x_hist_end_dt => X_HIST_END_DT,
810     x_hist_who => X_HIST_WHO,
811     x_grd_cal_type => X_GRD_CAL_TYPE,
812     x_grd_ci_sequence_number => X_GRD_CI_SEQUENCE_NUMBER,
813     x_course_cd => X_COURSE_CD,
814     x_award_course_cd => X_AWARD_COURSE_CD,
815     x_award_crs_version_number => X_AWARD_CRS_VERSION_NUMBER,
816     x_award_cd => X_AWARD_CD,
817     x_graduand_status => X_GRADUAND_STATUS,
818     x_graduand_appr_status => X_GRADUAND_APPR_STATUS,
819     x_s_graduand_type => X_S_GRADUAND_TYPE,
820     x_graduation_name => X_GRADUATION_NAME,
821     x_proxy_award_ind => X_PROXY_AWARD_IND,
822     x_proxy_award_person_id => X_PROXY_AWARD_PERSON_ID,
823     x_previous_qualifications => X_PREVIOUS_QUALIFICATIONS,
824     x_convocation_membership_ind => X_CONVOCATION_MEMBERSHIP_IND,
825     x_sur_for_course_cd => X_SUR_FOR_COURSE_CD,
826     x_sur_for_crs_version_number => X_SUR_FOR_CRS_VERSION_NUMBER,
827     x_sur_for_award_cd => X_SUR_FOR_AWARD_CD,
828     x_comments => X_COMMENTS,
829     x_creation_date => X_LAST_UPDATE_DATE,
830      x_created_by => X_LAST_UPDATED_BY,
831      x_last_update_date => X_LAST_UPDATE_DATE,
832      x_last_updated_by => X_LAST_UPDATED_BY,
833      x_last_update_login => X_LAST_UPDATE_LOGIN
834   );
835 
836   update IGS_GR_GRADUAND_HIST_ALL set
837     HIST_END_DT = NEW_REFERENCES.HIST_END_DT,
838     HIST_WHO = NEW_REFERENCES.HIST_WHO,
839     GRD_CAL_TYPE = NEW_REFERENCES.GRD_CAL_TYPE,
840     GRD_CI_SEQUENCE_NUMBER = NEW_REFERENCES.GRD_CI_SEQUENCE_NUMBER,
841     COURSE_CD = NEW_REFERENCES.COURSE_CD,
842     AWARD_COURSE_CD = NEW_REFERENCES.AWARD_COURSE_CD,
843     AWARD_CRS_VERSION_NUMBER = NEW_REFERENCES.AWARD_CRS_VERSION_NUMBER,
844     AWARD_CD = NEW_REFERENCES.AWARD_CD,
845     GRADUAND_STATUS = NEW_REFERENCES.GRADUAND_STATUS,
846     GRADUAND_APPR_STATUS = NEW_REFERENCES.GRADUAND_APPR_STATUS,
847     S_GRADUAND_TYPE = NEW_REFERENCES.S_GRADUAND_TYPE,
848     GRADUATION_NAME = NEW_REFERENCES.GRADUATION_NAME,
849     PROXY_AWARD_IND = NEW_REFERENCES.PROXY_AWARD_IND,
850     PROXY_AWARD_PERSON_ID = NEW_REFERENCES.PROXY_AWARD_PERSON_ID,
851     PREVIOUS_QUALIFICATIONS = NEW_REFERENCES.PREVIOUS_QUALIFICATIONS,
852     CONVOCATION_MEMBERSHIP_IND = NEW_REFERENCES.CONVOCATION_MEMBERSHIP_IND,
853     SUR_FOR_COURSE_CD = NEW_REFERENCES.SUR_FOR_COURSE_CD,
854     SUR_FOR_CRS_VERSION_NUMBER = NEW_REFERENCES.SUR_FOR_CRS_VERSION_NUMBER,
855     SUR_FOR_AWARD_CD = NEW_REFERENCES.SUR_FOR_AWARD_CD,
856     COMMENTS = NEW_REFERENCES.COMMENTS,
857     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
858     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
859     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
860   where ROWID = X_ROWID
861   ;
862   if (sql%notfound) then
863     raise no_data_found;
864   end if;
865 
866 end UPDATE_ROW;
867 
868 procedure ADD_ROW (
869   X_ROWID in out NOCOPY VARCHAR2,
870   X_PERSON_ID in NUMBER,
871   X_CREATE_DT in DATE,
872   X_HIST_START_DT in DATE,
873   X_HIST_END_DT in DATE,
874   X_HIST_WHO in NUMBER,
875   X_GRD_CAL_TYPE in VARCHAR2,
876   X_GRD_CI_SEQUENCE_NUMBER in NUMBER,
877   X_COURSE_CD in VARCHAR2,
878   X_AWARD_COURSE_CD in VARCHAR2,
879   X_AWARD_CRS_VERSION_NUMBER in NUMBER,
880   X_AWARD_CD in VARCHAR2,
881   X_HONOURS_LEVEL in VARCHAR2 DEFAULT NULL,
882   X_CONFERRAL_DT in DATE DEFAULT NULL,
883   X_GRADUAND_STATUS in VARCHAR2,
884   X_GRADUAND_APPR_STATUS in VARCHAR2,
885   X_S_GRADUAND_TYPE in VARCHAR2,
886   X_GRADUATION_NAME in VARCHAR2,
887   X_PROXY_AWARD_IND in VARCHAR2,
888   X_PROXY_AWARD_PERSON_ID in NUMBER,
889   X_PREVIOUS_QUALIFICATIONS in VARCHAR2,
890   X_CONVOCATION_MEMBERSHIP_IND in VARCHAR2,
891   X_SUR_FOR_COURSE_CD in VARCHAR2,
892   X_SUR_FOR_CRS_VERSION_NUMBER in NUMBER,
893   X_SUR_FOR_AWARD_CD in VARCHAR2,
894   X_COMMENTS in VARCHAR2,
895   X_MODE in VARCHAR2 default 'R',
896   X_ORG_ID in NUMBER
897   ) AS
898   cursor c1 is select rowid from IGS_GR_GRADUAND_HIST_ALL
899      where PERSON_ID = X_PERSON_ID
900      and CREATE_DT = X_CREATE_DT
901      and HIST_START_DT = X_HIST_START_DT
902   ;
903 
904 begin
905   open c1;
906   fetch c1 into X_ROWID;
907   if (c1%notfound) then
908     close c1;
909     INSERT_ROW (
910      X_ROWID,
911      X_PERSON_ID,
912      X_CREATE_DT,
913      X_HIST_START_DT,
914      X_HIST_END_DT,
915      X_HIST_WHO,
916      X_GRD_CAL_TYPE,
917      X_GRD_CI_SEQUENCE_NUMBER,
918      X_COURSE_CD,
919      X_AWARD_COURSE_CD,
920      X_AWARD_CRS_VERSION_NUMBER,
921      X_AWARD_CD,
922      null,
923      null,
924      X_GRADUAND_STATUS,
925      X_GRADUAND_APPR_STATUS,
926      X_S_GRADUAND_TYPE,
927      X_GRADUATION_NAME,
928      X_PROXY_AWARD_IND,
929      X_PROXY_AWARD_PERSON_ID,
930      X_PREVIOUS_QUALIFICATIONS,
931      X_CONVOCATION_MEMBERSHIP_IND,
932      X_SUR_FOR_COURSE_CD,
933      X_SUR_FOR_CRS_VERSION_NUMBER,
934      X_SUR_FOR_AWARD_CD,
935      X_COMMENTS,
936      X_MODE,
937      x_org_id
938 );
939     return;
940   end if;
941   close c1;
942   UPDATE_ROW (
943    X_ROWID,
944    X_PERSON_ID,
948    X_HIST_WHO,
945    X_CREATE_DT,
946    X_HIST_START_DT,
947    X_HIST_END_DT,
949    X_GRD_CAL_TYPE,
950    X_GRD_CI_SEQUENCE_NUMBER,
951    X_COURSE_CD,
952    X_AWARD_COURSE_CD,
953    X_AWARD_CRS_VERSION_NUMBER,
954    X_AWARD_CD,
955    null,
956    null,
957    X_GRADUAND_STATUS,
958    X_GRADUAND_APPR_STATUS,
959    X_S_GRADUAND_TYPE,
960    X_GRADUATION_NAME,
961    X_PROXY_AWARD_IND,
962    X_PROXY_AWARD_PERSON_ID,
963    X_PREVIOUS_QUALIFICATIONS,
964    X_CONVOCATION_MEMBERSHIP_IND,
965    X_SUR_FOR_COURSE_CD,
966    X_SUR_FOR_CRS_VERSION_NUMBER,
967    X_SUR_FOR_AWARD_CD,
968    X_COMMENTS,
969    X_MODE
970 );
971 end ADD_ROW;
972 
973 procedure DELETE_ROW (
974   X_ROWID in VARCHAR2
975 ) AS
976 begin
977 
978   delete from IGS_GR_GRADUAND_HIST_ALL
979   where ROWID = X_ROWID;
980   if (sql%notfound) then
981     raise no_data_found;
982   end if;
983 
984 end DELETE_ROW;
985 
986 end IGS_GR_GRADUAND_HIST_PKG;