[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;