1 package body IGS_PR_S_CRV_PRG_CON_PKG AS
2 /* $Header: IGSQI22B.pls 115.5 2002/11/29 03:19:40 nsidana ship $ */
3
4 l_rowid VARCHAR2(25);
5 old_references IGS_PR_S_CRV_PRG_CON%RowType;
6 new_references IGS_PR_S_CRV_PRG_CON%RowType;
7
8 PROCEDURE Set_Column_Values (
9 p_action IN VARCHAR2,
10 x_rowid IN VARCHAR2 DEFAULT NULL,
11 x_course_cd IN VARCHAR2 DEFAULT NULL,
12 x_version_number IN NUMBER DEFAULT NULL,
13 x_apply_start_dt_alias IN VARCHAR2 DEFAULT NULL,
14 x_apply_end_dt_alias IN VARCHAR2 DEFAULT NULL,
15 x_end_benefit_dt_alias IN VARCHAR2 DEFAULT NULL,
16 x_end_penalty_dt_alias IN VARCHAR2 DEFAULT NULL,
17 x_show_cause_cutoff_dt_alias IN VARCHAR2 DEFAULT NULL,
18 x_appeal_cutoff_dt_alias IN VARCHAR2 DEFAULT NULL,
19 x_show_cause_ind IN VARCHAR2 DEFAULT NULL,
20 x_apply_before_show_ind IN VARCHAR2 DEFAULT NULL,
21 x_appeal_ind IN VARCHAR2 DEFAULT NULL,
22 x_apply_before_appeal_ind IN VARCHAR2 DEFAULT NULL,
23 x_count_sus_in_time_ind IN VARCHAR2 DEFAULT NULL,
24 x_count_exc_in_time_ind IN VARCHAR2 DEFAULT NULL,
25 x_calculate_wam_ind IN VARCHAR2 DEFAULT NULL,
26 x_calculate_gpa_ind IN VARCHAR2 DEFAULT NULL,
27 x_outcome_check_type IN VARCHAR2 DEFAULT NULL,
28 x_creation_date IN DATE DEFAULT NULL,
29 x_created_by IN NUMBER DEFAULT NULL,
30 x_last_update_date IN DATE DEFAULT NULL,
31 x_last_updated_by IN NUMBER DEFAULT NULL,
32 x_last_update_login IN NUMBER DEFAULT NULL
33 ) as
34
35 CURSOR cur_old_ref_values IS
36 SELECT *
37 FROM IGS_PR_S_CRV_PRG_CON
38 WHERE rowid = x_rowid;
39
40 BEGIN
41
42 l_rowid := x_rowid;
43
44 -- Code for setting the Old and New Reference Values.
45 -- Populate Old Values.
46 Open cur_old_ref_values;
47 Fetch cur_old_ref_values INTO old_references;
48 IF (cur_old_ref_values%NOTFOUND) AND (p_action not in ('INSERT','VALIDATE_INSERT')) THEN
49 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
50 IGS_GE_MSG_STACK.ADD;
51 Close cur_old_ref_values;
52 App_Exception.Raise_Exception;
53
54 Return;
55 END IF;
56 Close cur_old_ref_values;
57
58 -- Populate New Values.
59 new_references.course_cd := x_course_cd;
60 new_references.version_number := x_version_number;
61 new_references.apply_start_dt_alias := x_apply_start_dt_alias;
62 new_references.apply_end_dt_alias := x_apply_end_dt_alias;
63 new_references.end_benefit_dt_alias := x_end_benefit_dt_alias;
64 new_references.end_penalty_dt_alias := x_end_penalty_dt_alias;
65 new_references.show_cause_cutoff_dt_alias := x_show_cause_cutoff_dt_alias;
66 new_references.appeal_cutoff_dt_alias := x_appeal_cutoff_dt_alias;
67 new_references.show_cause_ind := x_show_cause_ind;
68 new_references.apply_before_show_ind := x_apply_before_show_ind;
69 new_references.appeal_ind := x_appeal_ind;
70 new_references.apply_before_appeal_ind := x_apply_before_appeal_ind;
71 new_references.count_sus_in_time_ind := x_count_sus_in_time_ind;
72 new_references.count_exc_in_time_ind := x_count_exc_in_time_ind;
73 new_references.calculate_wam_ind := x_calculate_wam_ind;
74 new_references.calculate_gpa_ind := x_calculate_gpa_ind;
75 new_references.outcome_check_type := x_outcome_check_type;
76 IF (p_action = 'UPDATE') THEN
77 new_references.creation_date := old_references.creation_date;
78 new_references.created_by := old_references.created_by;
79 ELSE
80 new_references.creation_date := x_creation_date;
81 new_references.created_by := x_created_by;
82 END IF;
83 new_references.last_update_date := x_last_update_date;
84 new_references.last_updated_by := x_last_updated_by;
85 new_references.last_update_login := x_last_update_login;
86
87 END Set_Column_Values;
88
89 -- Trigger description :-
90 -- "OSS_TST".trg_scpc_br_iu
91 -- BEFORE INSERT OR UPDATE
92 -- ON IGS_PR_S_CRV_PRG_CON
93 -- FOR EACH ROW
94
95 PROCEDURE BeforeRowInsertUpdate1(
96 p_inserting IN BOOLEAN DEFAULT FALSE,
97 p_updating IN BOOLEAN DEFAULT FALSE,
98 p_deleting IN BOOLEAN DEFAULT FALSE
99 ) as
100 v_message_name varchar2(30);
101 BEGIN
102 -- Validate the org IGS_PS_UNIT is active
103 IF p_inserting THEN
104 IF IGS_PR_VAL_PRA.crsp_val_crv_active (
105 new_references.course_cd,
106 new_references.version_number,
107 v_message_name) = FALSE THEN
108 Fnd_Message.Set_Name('IGS',v_message_name);
109 IGS_GE_MSG_STACK.ADD;
110 App_Exception.Raise_Exception;
111 END IF;
112 END IF;
113 -- Validate the application start date alias
114 IF p_inserting OR (p_updating AND
115 new_references.apply_start_dt_alias <> old_references.apply_start_dt_alias) THEN
116 IF IGS_PR_VAL_SCPC.prgp_val_da_closed (
117 new_references.apply_start_dt_alias,
118 v_message_name) = FALSE THEN
119 Fnd_Message.Set_Name('IGS',v_message_name);
120 IGS_GE_MSG_STACK.ADD;
121 App_Exception.Raise_Exception;
122 END IF;
123 END IF;
124 -- Validate the application end date alias
125 IF p_inserting OR (p_updating AND
126 new_references.apply_end_dt_alias <> old_references.apply_end_dt_alias) THEN
127 IF IGS_PR_VAL_SCPC.prgp_val_da_closed (
128 new_references.apply_end_dt_alias,
129 v_message_name) = FALSE THEN
130 Fnd_Message.Set_Name('IGS',v_message_name);
131 IGS_GE_MSG_STACK.ADD;
132 App_Exception.Raise_Exception;
133 END IF;
134 END IF;
135 -- Validate the end benefit date alias
136 IF p_inserting OR (p_updating AND
137 new_references.end_benefit_dt_alias <> old_references.end_benefit_dt_alias) THEN
138 IF IGS_PR_VAL_SCPC.prgp_val_da_closed (
139 new_references.end_benefit_dt_alias,
140 v_message_name) = FALSE THEN
141 Fnd_Message.Set_Name('IGS',v_message_name);
142 IGS_GE_MSG_STACK.ADD;
143 App_Exception.Raise_Exception;
144 END IF;
145 END IF;
146 -- Validate the end penalty date alias
147 IF p_inserting OR (p_updating AND
148 new_references.end_penalty_dt_alias <> old_references.end_penalty_dt_alias) THEN
149 IF IGS_PR_VAL_SCPC.prgp_val_da_closed (
150 new_references.end_penalty_dt_alias,
151 v_message_name) = FALSE THEN
152 Fnd_Message.Set_Name('IGS',v_message_name);
153 IGS_GE_MSG_STACK.ADD;
154 App_Exception.Raise_Exception;
155 END IF;
156 END IF;
157 -- Validate the show cause indicator
158 IF p_inserting OR (p_updating AND
159 new_references.show_cause_ind <> old_references.show_cause_ind) THEN
160 IF igs_pr_val_sopc.prgp_val_cause_ind (
161 new_references.show_cause_ind,
162 v_message_name) = FALSE THEN
163 Fnd_Message.Set_Name('IGS',v_message_name);
164 IGS_GE_MSG_STACK.ADD;
165 App_Exception.Raise_Exception;
166 END IF;
167 END IF;
168 -- Validate the appeal indicator
169 IF p_inserting OR (p_updating AND
170 new_references.appeal_ind <> old_references.appeal_ind) THEN
171 IF igs_pr_val_sopc.prgp_val_cause_ind (
172 new_references.appeal_ind,
173 v_message_name) = FALSE THEN
174 Fnd_Message.Set_Name('IGS',v_message_name);
175 IGS_GE_MSG_STACK.ADD;
176 App_Exception.Raise_Exception;
177 END IF;
178 END IF;
179 -- Validate the show cause cut off date alias can only be set when the
180 -- show cause ind indicator is set to Y
181 IF p_inserting OR p_updating THEN
182 IF IGS_PR_VAL_SCPC.prgp_val_cause_da (
183 new_references.show_cause_ind,
184 new_references.show_cause_cutoff_dt_alias,
185 v_message_name) = FALSE THEN
186 Fnd_Message.Set_Name('IGS',v_message_name);
187 IGS_GE_MSG_STACK.ADD;
188 App_Exception.Raise_Exception;
189 END IF;
190 END IF;
191 -- Validate the appeal cut off date alias can only be set when the
192 -- appeal ind indicator is set to Y
193 IF p_inserting OR p_updating THEN
194 IF IGS_PR_VAL_SCPC.prgp_val_appeal_da (
195 new_references.appeal_ind,
196 new_references.appeal_cutoff_dt_alias,
197 v_message_name) = FALSE THEN
198 Fnd_Message.Set_Name('IGS',v_message_name);
199 IGS_GE_MSG_STACK.ADD;
200 App_Exception.Raise_Exception;
201 END IF;
202 END IF;
203 -- Validate the show cause ind indicator cannot be set to N when there are
204 -- related progression calendar records with show cause length set.
205 IF p_inserting OR p_updating THEN
206 IF IGS_PR_VAL_SCPC.prgp_val_scpc_cause (
207 new_references.course_cd,
208 new_references.version_number,
209 new_references.show_cause_ind,
210 v_message_name) = FALSE THEN
211 Fnd_Message.Set_Name('IGS',v_message_name);
212 IGS_GE_MSG_STACK.ADD;
213 App_Exception.Raise_Exception;
214 END IF;
215 END IF;
216 -- Validate the appeal ind indicator cannot be set to N when there are
217 -- related progression calendar records with appeallength set.
218 IF p_inserting OR p_updating THEN
219 IF IGS_PR_VAL_SCPC.prgp_val_scpc_apl (
220 new_references.course_cd,
221 new_references.version_number,
222 new_references.appeal_ind,
223 v_message_name) = FALSE THEN
224 Fnd_Message.Set_Name('IGS',v_message_name);
225 IGS_GE_MSG_STACK.ADD;
226 App_Exception.Raise_Exception;
227 END IF;
228 END IF;
229 -- Validate the show cause cut off date alias
230 IF p_inserting OR (p_updating AND
231 NVL(new_references.show_cause_cutoff_dt_alias, 'NULL') <>
232 NVL(old_references.show_cause_cutoff_dt_alias, 'NULL')) THEN
233 IF IGS_PR_VAL_SCPC.prgp_val_da_closed (
234 new_references.show_cause_cutoff_dt_alias,
235 v_message_name) = FALSE THEN
236 Fnd_Message.Set_Name('IGS',v_message_name);
237 IGS_GE_MSG_STACK.ADD;
238 App_Exception.Raise_Exception;
239 END IF;
240 END IF;
241 -- Validate the appeal cut off date alias
242 IF p_inserting OR (p_updating AND
243 NVL(new_references.appeal_cutoff_dt_alias, 'NULL') <>
244 NVL(old_references.appeal_cutoff_dt_alias, 'NULL')) THEN
245 IF IGS_PR_VAL_SCPC.prgp_val_da_closed (
246 new_references.appeal_cutoff_dt_alias,
247 v_message_name) = FALSE THEN
248 Fnd_Message.Set_Name('IGS',v_message_name);
249 IGS_GE_MSG_STACK.ADD;
250 App_Exception.Raise_Exception;
251 END IF;
252 END IF;
253
254
255 END BeforeRowInsertUpdate1;
256
257
258 PROCEDURE Check_Parent_Existance AS
259 BEGIN
260
261 IF (((old_references.appeal_cutoff_dt_alias = new_references.appeal_cutoff_dt_alias)) OR
262 ((new_references.appeal_cutoff_dt_alias IS NULL))) THEN
263 NULL;
264 ELSE
265 IF NOT IGS_CA_DA_PKG.Get_PK_For_Validation (
266 new_references.appeal_cutoff_dt_alias
267 ) THEN
268 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
269 IGS_GE_MSG_STACK.ADD;
270 App_Exception.Raise_Exception;
271 END IF;
272 END IF;
273
274 IF (((old_references.end_benefit_dt_alias = new_references.end_benefit_dt_alias)) OR
275 ((new_references.end_benefit_dt_alias IS NULL))) THEN
276 NULL;
277 ELSE
281 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
278 IF NOT IGS_CA_DA_PKG.Get_PK_For_Validation (
279 new_references.end_benefit_dt_alias
280 ) THEN
282 IGS_GE_MSG_STACK.ADD;
283 App_Exception.Raise_Exception;
284 END IF;
285 END IF;
286
287 IF (((old_references.show_cause_cutoff_dt_alias = new_references.show_cause_cutoff_dt_alias)) OR
288 ((new_references.show_cause_cutoff_dt_alias IS NULL))) THEN
289 NULL;
290 ELSE
291 IF NOT IGS_CA_DA_PKG.Get_PK_For_Validation (
292 new_references.show_cause_cutoff_dt_alias
293 ) THEN
294 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
295 IGS_GE_MSG_STACK.ADD;
296 App_Exception.Raise_Exception;
297 END IF;
298 END IF;
299
300 IF (((old_references.apply_end_dt_alias = new_references.apply_end_dt_alias)) OR
301 ((new_references.apply_end_dt_alias IS NULL))) THEN
302 NULL;
303 ELSE
304 IF NOT IGS_CA_DA_PKG.Get_PK_For_Validation (
305 new_references.apply_end_dt_alias
306 ) THEN
307 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
308 IGS_GE_MSG_STACK.ADD;
309 App_Exception.Raise_Exception;
310 END IF;
311 END IF;
312
313 IF (((old_references.end_penalty_dt_alias = new_references.end_penalty_dt_alias)) OR
314 ((new_references.end_penalty_dt_alias IS NULL))) THEN
315 NULL;
316 ELSE
317 IF NOT IGS_CA_DA_PKG.Get_PK_For_Validation (
318 new_references.end_penalty_dt_alias
319 ) THEN
320 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
321 IGS_GE_MSG_STACK.ADD;
322 App_Exception.Raise_Exception;
323 END IF;
324 END IF;
325
326 IF (((old_references.apply_start_dt_alias = new_references.apply_start_dt_alias)) OR
327 ((new_references.apply_start_dt_alias IS NULL))) THEN
328 NULL;
329 ELSE
330 IF NOT IGS_CA_DA_PKG.Get_PK_For_Validation (
331 new_references.apply_start_dt_alias
332 ) THEN
333 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
334 IGS_GE_MSG_STACK.ADD;
335 App_Exception.Raise_Exception;
336 END IF;
337 END IF;
338
339 IF (((old_references.course_cd = new_references.course_cd) AND
340 (old_references.version_number = new_references.version_number)) OR
341 ((new_references.course_cd IS NULL) OR
342 (new_references.version_number IS NULL))) THEN
343 NULL;
344 ELSE
345 IF NOT IGS_PS_VER_PKG.Get_PK_For_Validation (
346 new_references.course_cd,
347 new_references.version_number
348 ) THEN
349 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
350 IGS_GE_MSG_STACK.ADD;
351 App_Exception.Raise_Exception;
352 END IF;
353 END IF;
354
355 END Check_Parent_Existance;
356
357 PROCEDURE Check_Child_Existance as
358 BEGIN
359
360 IGS_PR_S_CRV_PRG_CAL_PKG.GET_FK_IGS_PR_S_CRV_PRG_CON(
361 old_references.course_cd,
362 old_references.version_number
363 );
364
365 END Check_Child_Existance;
366
367 FUNCTION Get_PK_For_Validation (
368 x_course_cd IN VARCHAR2,
369 x_version_number IN NUMBER
370 ) RETURN BOOLEAN AS
371
372 CURSOR cur_rowid IS
373 SELECT rowid
374 FROM IGS_PR_S_CRV_PRG_CON
375 WHERE course_cd = x_course_cd
376 AND version_number = x_version_number
377 FOR UPDATE NOWAIT;
378
379 lv_rowid cur_rowid%RowType;
380
381 BEGIN
382
383 Open cur_rowid;
384 Fetch cur_rowid INTO lv_rowid;
385 IF (cur_rowid%FOUND) THEN
386 Close Cur_rowid;
387 Return(TRUE);
388 ELSE
389 Close cur_rowid;
390 Return(FALSE);
391 END IF;
392
393 END Get_PK_For_Validation;
394
395 PROCEDURE GET_FK_IGS_CA_DA (
396 x_dt_alias IN varchar2
397 ) as
398
402 WHERE appeal_cutoff_dt_alias = x_dt_alias
399 CURSOR cur_rowid IS
400 SELECT rowid
401 FROM IGS_PR_S_CRV_PRG_CON
403 OR end_benefit_dt_alias = x_dt_alias
404 OR show_cause_cutoff_dt_alias = x_dt_alias
405 OR apply_end_dt_alias = x_dt_alias
406 OR end_penalty_dt_alias = x_dt_alias
407 OR apply_start_dt_alias = x_dt_alias;
408
409 lv_rowid cur_rowid%RowType;
410
411 BEGIN
412
413 Open cur_rowid;
414 Fetch cur_rowid INTO lv_rowid;
415 IF (cur_rowid%FOUND) THEN
416 Fnd_Message.Set_Name ('IGS', 'IGS_PR_SCPC_DA_APPEAL_FK');
417 IGS_GE_MSG_STACK.ADD;
418 Close cur_rowid;
419 App_Exception.Raise_Exception;
420
421 Return;
422 END IF;
423 Close cur_rowid;
424
425 END GET_FK_IGS_CA_DA;
426
427 PROCEDURE GET_FK_IGS_PS_VER (
428 x_course_cd IN VARCHAR2,
429 x_version_number IN NUMBER
430 ) as
431
432 CURSOR cur_rowid IS
433 SELECT rowid
434 FROM IGS_PR_S_CRV_PRG_CON
435 WHERE course_cd = x_course_cd
436 AND version_number = x_version_number ;
437
438 lv_rowid cur_rowid%RowType;
439
440 BEGIN
441
442 Open cur_rowid;
443 Fetch cur_rowid INTO lv_rowid;
444 IF (cur_rowid%FOUND) THEN
445 Fnd_Message.Set_Name ('IGS', 'IGS_PR_SCPS_CRV_FK');
446 IGS_GE_MSG_STACK.ADD;
447 Close cur_rowid;
448 App_Exception.Raise_Exception;
449
450 Return;
451 END IF;
452 Close cur_rowid;
453
454 END GET_FK_IGS_PS_VER;
455
456 PROCEDURE Before_DML (
457 p_action IN VARCHAR2,
458 x_rowid IN VARCHAR2 DEFAULT NULL,
459 x_course_cd IN VARCHAR2 DEFAULT NULL,
460 x_version_number IN NUMBER DEFAULT NULL,
461 x_apply_start_dt_alias IN VARCHAR2 DEFAULT NULL,
462 x_apply_end_dt_alias IN VARCHAR2 DEFAULT NULL,
463 x_end_benefit_dt_alias IN VARCHAR2 DEFAULT NULL,
464 x_end_penalty_dt_alias IN VARCHAR2 DEFAULT NULL,
465 x_show_cause_cutoff_dt_alias IN VARCHAR2 DEFAULT NULL,
466 x_appeal_cutoff_dt_alias IN VARCHAR2 DEFAULT NULL,
467 x_show_cause_ind IN VARCHAR2 DEFAULT NULL,
468 x_apply_before_show_ind IN VARCHAR2 DEFAULT NULL,
469 x_appeal_ind IN VARCHAR2 DEFAULT NULL,
470 x_apply_before_appeal_ind IN VARCHAR2 DEFAULT NULL,
471 x_count_sus_in_time_ind IN VARCHAR2 DEFAULT NULL,
472 x_count_exc_in_time_ind IN VARCHAR2 DEFAULT NULL,
473 x_calculate_wam_ind IN VARCHAR2 DEFAULT NULL,
474 x_calculate_gpa_ind IN VARCHAR2 DEFAULT NULL,
475 x_outcome_check_type IN VARCHAR2 DEFAULT NULL,
476 x_creation_date IN DATE DEFAULT NULL,
477 x_created_by IN NUMBER DEFAULT NULL,
478 x_last_update_date IN DATE DEFAULT NULL,
479 x_last_updated_by IN NUMBER DEFAULT NULL,
480 x_last_update_login IN NUMBER DEFAULT NULL
481 ) as
482 BEGIN
483
484 Set_Column_Values (
485 p_action,
486 x_rowid,
487 x_course_cd,
488 x_version_number,
489 x_apply_start_dt_alias,
490 x_apply_end_dt_alias,
491 x_end_benefit_dt_alias,
492 x_end_penalty_dt_alias,
493 x_show_cause_cutoff_dt_alias,
494 x_appeal_cutoff_dt_alias,
495 x_show_cause_ind,
496 x_apply_before_show_ind,
497 x_appeal_ind,
498 x_apply_before_appeal_ind,
499 x_count_sus_in_time_ind,
500 x_count_exc_in_time_ind,
501 x_calculate_wam_ind,
502 x_calculate_gpa_ind,
503 x_outcome_check_type,
504 x_creation_date,
505 x_created_by,
506 x_last_update_date,
507 x_last_updated_by,
508 x_last_update_login
509 );
510
511 IF (p_action = 'INSERT') THEN
512 -- Call all the procedures related to Before Insert.
513 BeforeRowInsertUpdate1 ( p_inserting => TRUE );
514 IF Get_PK_For_Validation (
515 new_references.course_cd,
516 new_references.version_number) THEN
517 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
518 IGS_GE_MSG_STACK.ADD;
519 App_Exception.Raise_Exception;
520 END IF;
521 Check_Constraints;
522 Check_Parent_Existance;
523 ELSIF (p_action = 'UPDATE') THEN
524 -- Call all the procedures related to Before Update.
525 BeforeRowInsertUpdate1 ( p_updating => TRUE );
526 Check_Constraints;
527 Check_Parent_Existance;
528 ELSIF (p_action = 'DELETE') THEN
529 -- Call all the procedures related to Before Delete.
530 Check_Child_Existance;
531 ELSIF (p_action = 'VALIDATE_INSERT') THEN
532 -- Call all the procedures related to Before Insert.
533 IF Get_PK_For_Validation (
534 new_references.course_cd,
535 new_references.version_number) THEN
539 END IF;
536 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
537 IGS_GE_MSG_STACK.ADD;
538 App_Exception.Raise_Exception;
540 Check_Constraints;
541 ELSIF (p_action = 'VALIDATE_UPDATE') THEN
542 -- Call all the procedures related to Before Update.
543 Check_Constraints;
544 ELSIF (p_action = 'VALIDATE_DELETE') THEN
545 -- Call all the procedures related to Before Delete.
546 Check_Child_Existance;
547 END IF;
548
549 END Before_DML;
550
551 procedure INSERT_ROW (
552 X_ROWID in out NOCOPY VARCHAR2,
553 X_COURSE_CD in VARCHAR2,
554 X_VERSION_NUMBER in NUMBER,
555 X_APPLY_START_DT_ALIAS in VARCHAR2,
556 X_APPLY_END_DT_ALIAS in VARCHAR2,
557 X_END_BENEFIT_DT_ALIAS in VARCHAR2,
558 X_END_PENALTY_DT_ALIAS in VARCHAR2,
559 X_SHOW_CAUSE_CUTOFF_DT_ALIAS in VARCHAR2,
560 X_APPEAL_CUTOFF_DT_ALIAS in VARCHAR2,
561 X_SHOW_CAUSE_IND in VARCHAR2,
562 X_APPLY_BEFORE_SHOW_IND in VARCHAR2,
563 X_APPEAL_IND in VARCHAR2,
564 X_APPLY_BEFORE_APPEAL_IND in VARCHAR2,
565 X_COUNT_SUS_IN_TIME_IND in VARCHAR2,
566 X_COUNT_EXC_IN_TIME_IND in VARCHAR2,
567 X_CALCULATE_WAM_IND in VARCHAR2,
568 X_CALCULATE_GPA_IND in VARCHAR2,
569 X_OUTCOME_CHECK_TYPE in VARCHAR2,
570 X_MODE in VARCHAR2 default 'R'
571 ) as
572 cursor C is select ROWID from IGS_PR_S_CRV_PRG_CON
573 where COURSE_CD = X_COURSE_CD
574 and VERSION_NUMBER = X_VERSION_NUMBER;
575 X_LAST_UPDATE_DATE DATE;
576 X_LAST_UPDATED_BY NUMBER;
577 X_LAST_UPDATE_LOGIN NUMBER;
578 begin
579 X_LAST_UPDATE_DATE := SYSDATE;
580 if(X_MODE = 'I') then
581 X_LAST_UPDATED_BY := 1;
582 X_LAST_UPDATE_LOGIN := 0;
583 elsif (X_MODE = 'R') then
584 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
585 if X_LAST_UPDATED_BY is NULL then
586 X_LAST_UPDATED_BY := -1;
587 end if;
588 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
589 if X_LAST_UPDATE_LOGIN is NULL then
590 X_LAST_UPDATE_LOGIN := -1;
591 end if;
592 else
593 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
594 IGS_GE_MSG_STACK.ADD;
595 app_exception.raise_exception;
596 end if;
597
598 Before_DML(
599 p_action => 'INSERT',
600 x_rowid => X_ROWID,
601 x_appeal_cutoff_dt_alias => X_APPEAL_CUTOFF_DT_ALIAS,
602 x_appeal_ind => nvl( X_APPEAL_IND, 'Y'),
603 x_apply_before_appeal_ind => nvl( X_APPLY_BEFORE_APPEAL_IND, 'Y'),
604 x_apply_before_show_ind => nvl( X_APPLY_BEFORE_SHOW_IND, 'N'),
605 x_apply_end_dt_alias => X_APPLY_END_DT_ALIAS,
606 x_apply_start_dt_alias => X_APPLY_START_DT_ALIAS,
607 x_calculate_gpa_ind => nvl( X_CALCULATE_GPA_IND, 'N'),
608 x_calculate_wam_ind => nvl( X_CALCULATE_WAM_IND, 'N'),
609 x_count_exc_in_time_ind => nvl( X_COUNT_EXC_IN_TIME_IND, 'N'),
610 x_count_sus_in_time_ind => nvl( X_COUNT_SUS_IN_TIME_IND, 'N'),
611 x_course_cd => X_COURSE_CD,
612 x_end_benefit_dt_alias => X_END_BENEFIT_DT_ALIAS,
613 x_end_penalty_dt_alias => X_END_PENALTY_DT_ALIAS,
614 x_show_cause_cutoff_dt_alias => X_SHOW_CAUSE_CUTOFF_DT_ALIAS,
615 x_show_cause_ind => nvl( X_SHOW_CAUSE_IND, 'Y'),
616 x_version_number => X_VERSION_NUMBER,
617 x_outcome_check_type => X_OUTCOME_CHECK_TYPE,
618 x_creation_date => X_LAST_UPDATE_DATE,
619 x_created_by => X_LAST_UPDATED_BY,
620 x_last_update_date => X_LAST_UPDATE_DATE,
621 x_last_updated_by => X_LAST_UPDATED_BY,
622 x_last_update_login => X_LAST_UPDATE_LOGIN
623 );
624
625 insert into IGS_PR_S_CRV_PRG_CON (
626 COURSE_CD,
627 VERSION_NUMBER,
628 APPLY_START_DT_ALIAS,
629 APPLY_END_DT_ALIAS,
630 END_BENEFIT_DT_ALIAS,
631 END_PENALTY_DT_ALIAS,
632 SHOW_CAUSE_CUTOFF_DT_ALIAS,
633 APPEAL_CUTOFF_DT_ALIAS,
634 SHOW_CAUSE_IND,
635 APPLY_BEFORE_SHOW_IND,
636 APPEAL_IND,
637 APPLY_BEFORE_APPEAL_IND,
638 COUNT_SUS_IN_TIME_IND,
639 COUNT_EXC_IN_TIME_IND,
640 CALCULATE_WAM_IND,
641 CALCULATE_GPA_IND,
642 OUTCOME_CHECK_TYPE,
643 CREATION_DATE,
644 CREATED_BY,
645 LAST_UPDATE_DATE,
646 LAST_UPDATED_BY,
647 LAST_UPDATE_LOGIN
648 ) values (
649 NEW_REFERENCES.COURSE_CD,
650 NEW_REFERENCES.VERSION_NUMBER,
651 NEW_REFERENCES.APPLY_START_DT_ALIAS,
652 NEW_REFERENCES.APPLY_END_DT_ALIAS,
653 NEW_REFERENCES.END_BENEFIT_DT_ALIAS,
654 NEW_REFERENCES.END_PENALTY_DT_ALIAS,
655 NEW_REFERENCES.SHOW_CAUSE_CUTOFF_DT_ALIAS,
656 NEW_REFERENCES.APPEAL_CUTOFF_DT_ALIAS,
657 NEW_REFERENCES.SHOW_CAUSE_IND,
658 NEW_REFERENCES.APPLY_BEFORE_SHOW_IND,
659 NEW_REFERENCES.APPEAL_IND,
660 NEW_REFERENCES.APPLY_BEFORE_APPEAL_IND,
661 NEW_REFERENCES.COUNT_SUS_IN_TIME_IND,
662 NEW_REFERENCES.COUNT_EXC_IN_TIME_IND,
663 NEW_REFERENCES.CALCULATE_WAM_IND,
664 NEW_REFERENCES.CALCULATE_GPA_IND,
665 NEW_REFERENCES.OUTCOME_CHECK_TYPE,
666 X_LAST_UPDATE_DATE,
667 X_LAST_UPDATED_BY,
668 X_LAST_UPDATE_DATE,
669 X_LAST_UPDATED_BY,
670 X_LAST_UPDATE_LOGIN
671 );
672
673 open c;
674 fetch c into X_ROWID;
675 if (c%notfound) then
679 close c;
676 close c;
677 raise no_data_found;
678 end if;
680
681 end INSERT_ROW;
682
683 procedure LOCK_ROW (
684 X_ROWID in VARCHAR2,
685 X_COURSE_CD in VARCHAR2,
686 X_VERSION_NUMBER in NUMBER,
687 X_APPLY_START_DT_ALIAS in VARCHAR2,
688 X_APPLY_END_DT_ALIAS in VARCHAR2,
689 X_END_BENEFIT_DT_ALIAS in VARCHAR2,
690 X_END_PENALTY_DT_ALIAS in VARCHAR2,
691 X_SHOW_CAUSE_CUTOFF_DT_ALIAS in VARCHAR2,
692 X_APPEAL_CUTOFF_DT_ALIAS in VARCHAR2,
693 X_SHOW_CAUSE_IND in VARCHAR2,
694 X_APPLY_BEFORE_SHOW_IND in VARCHAR2,
695 X_APPEAL_IND in VARCHAR2,
696 X_APPLY_BEFORE_APPEAL_IND in VARCHAR2,
697 X_COUNT_SUS_IN_TIME_IND in VARCHAR2,
698 X_COUNT_EXC_IN_TIME_IND in VARCHAR2,
699 X_CALCULATE_WAM_IND in VARCHAR2,
700 X_CALCULATE_GPA_IND in VARCHAR2,
701 X_OUTCOME_CHECK_TYPE in VARCHAR2
702 ) as
703 cursor c1 is select
704 APPLY_START_DT_ALIAS,
705 APPLY_END_DT_ALIAS,
706 END_BENEFIT_DT_ALIAS,
707 END_PENALTY_DT_ALIAS,
708 SHOW_CAUSE_CUTOFF_DT_ALIAS,
709 APPEAL_CUTOFF_DT_ALIAS,
710 SHOW_CAUSE_IND,
711 APPLY_BEFORE_SHOW_IND,
712 APPEAL_IND,
713 APPLY_BEFORE_APPEAL_IND,
714 COUNT_SUS_IN_TIME_IND,
715 COUNT_EXC_IN_TIME_IND,
716 CALCULATE_WAM_IND,
717 CALCULATE_GPA_IND,
718 OUTCOME_CHECK_TYPE
719 from IGS_PR_S_CRV_PRG_CON
720 where ROWID = X_ROWID
721 for update nowait;
722 tlinfo c1%rowtype;
723
724 begin
725 open c1;
726 fetch c1 into tlinfo;
727 if (c1%notfound) then
728 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
729 IGS_GE_MSG_STACK.ADD;
730 close c1;
731 app_exception.raise_exception;
732
733 return;
734 end if;
735 close c1;
736
737 if ( (tlinfo.APPLY_START_DT_ALIAS = X_APPLY_START_DT_ALIAS)
738 AND (tlinfo.APPLY_END_DT_ALIAS = X_APPLY_END_DT_ALIAS)
739 AND (tlinfo.END_BENEFIT_DT_ALIAS = X_END_BENEFIT_DT_ALIAS)
740 AND (tlinfo.END_PENALTY_DT_ALIAS = X_END_PENALTY_DT_ALIAS)
741 AND ((tlinfo.SHOW_CAUSE_CUTOFF_DT_ALIAS = X_SHOW_CAUSE_CUTOFF_DT_ALIAS)
742 OR ((tlinfo.SHOW_CAUSE_CUTOFF_DT_ALIAS is null)
743 AND (X_SHOW_CAUSE_CUTOFF_DT_ALIAS is null)))
744 AND ((tlinfo.APPEAL_CUTOFF_DT_ALIAS = X_APPEAL_CUTOFF_DT_ALIAS)
745 OR ((tlinfo.APPEAL_CUTOFF_DT_ALIAS is null)
746 AND (X_APPEAL_CUTOFF_DT_ALIAS is null)))
747 AND (tlinfo.SHOW_CAUSE_IND = X_SHOW_CAUSE_IND)
748 AND (tlinfo.APPLY_BEFORE_SHOW_IND = X_APPLY_BEFORE_SHOW_IND)
749 AND (tlinfo.APPEAL_IND = X_APPEAL_IND)
750 AND (tlinfo.APPLY_BEFORE_APPEAL_IND = X_APPLY_BEFORE_APPEAL_IND)
751 AND (tlinfo.COUNT_SUS_IN_TIME_IND = X_COUNT_SUS_IN_TIME_IND)
752 AND (tlinfo.COUNT_EXC_IN_TIME_IND = X_COUNT_EXC_IN_TIME_IND)
753 AND (tlinfo.CALCULATE_WAM_IND = X_CALCULATE_WAM_IND)
754 AND (tlinfo.CALCULATE_GPA_IND = X_CALCULATE_GPA_IND)
755 AND ((tlinfo.OUTCOME_CHECK_TYPE = X_OUTCOME_CHECK_TYPE)
756 OR ((tlinfo.OUTCOME_CHECK_TYPE is null)
757 AND (X_OUTCOME_CHECK_TYPE is null)))
758 ) then
759 null;
760 else
761 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
762 IGS_GE_MSG_STACK.ADD;
763 app_exception.raise_exception;
764 end if;
765 return;
766 end LOCK_ROW;
767
768 procedure UPDATE_ROW (
769 X_ROWID in VARCHAR2,
770 X_COURSE_CD in VARCHAR2,
771 X_VERSION_NUMBER in NUMBER,
772 X_APPLY_START_DT_ALIAS in VARCHAR2,
773 X_APPLY_END_DT_ALIAS in VARCHAR2,
774 X_END_BENEFIT_DT_ALIAS in VARCHAR2,
775 X_END_PENALTY_DT_ALIAS in VARCHAR2,
776 X_SHOW_CAUSE_CUTOFF_DT_ALIAS in VARCHAR2,
777 X_APPEAL_CUTOFF_DT_ALIAS in VARCHAR2,
778 X_SHOW_CAUSE_IND in VARCHAR2,
779 X_APPLY_BEFORE_SHOW_IND in VARCHAR2,
780 X_APPEAL_IND in VARCHAR2,
781 X_APPLY_BEFORE_APPEAL_IND in VARCHAR2,
782 X_COUNT_SUS_IN_TIME_IND in VARCHAR2,
783 X_COUNT_EXC_IN_TIME_IND in VARCHAR2,
784 X_CALCULATE_WAM_IND in VARCHAR2,
785 X_CALCULATE_GPA_IND in VARCHAR2,
786 X_OUTCOME_CHECK_TYPE in VARCHAR2,
787 X_MODE in VARCHAR2 default 'R'
788 ) as
789 X_LAST_UPDATE_DATE DATE;
790 X_LAST_UPDATED_BY NUMBER;
791 X_LAST_UPDATE_LOGIN NUMBER;
792 begin
793 X_LAST_UPDATE_DATE := SYSDATE;
794 if(X_MODE = 'I') then
795 X_LAST_UPDATED_BY := 1;
796 X_LAST_UPDATE_LOGIN := 0;
797 elsif (X_MODE = 'R') then
798 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
799 if X_LAST_UPDATED_BY is NULL then
800 X_LAST_UPDATED_BY := -1;
801 end if;
802 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
803 if X_LAST_UPDATE_LOGIN is NULL then
804 X_LAST_UPDATE_LOGIN := -1;
805 end if;
806 else
807 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
808 IGS_GE_MSG_STACK.ADD;
809 app_exception.raise_exception;
810 end if;
811
812 Before_DML(
813 p_action => 'UPDATE',
814 x_rowid => X_ROWID,
815 x_appeal_cutoff_dt_alias => X_APPEAL_CUTOFF_DT_ALIAS,
816 x_appeal_ind => X_APPEAL_IND,
820 x_apply_start_dt_alias => X_APPLY_START_DT_ALIAS,
817 x_apply_before_appeal_ind => X_APPLY_BEFORE_APPEAL_IND,
818 x_apply_before_show_ind => X_APPLY_BEFORE_SHOW_IND,
819 x_apply_end_dt_alias => X_APPLY_END_DT_ALIAS,
821 x_calculate_gpa_ind => X_CALCULATE_GPA_IND,
822 x_calculate_wam_ind => X_CALCULATE_WAM_IND,
823 x_count_exc_in_time_ind => X_COUNT_EXC_IN_TIME_IND,
824 x_count_sus_in_time_ind => X_COUNT_SUS_IN_TIME_IND,
825 x_course_cd => X_COURSE_CD,
826 x_end_benefit_dt_alias => X_END_BENEFIT_DT_ALIAS,
827 x_end_penalty_dt_alias => X_END_PENALTY_DT_ALIAS,
828 x_show_cause_cutoff_dt_alias => X_SHOW_CAUSE_CUTOFF_DT_ALIAS,
829 x_show_cause_ind => X_SHOW_CAUSE_IND,
830 x_version_number => X_VERSION_NUMBER,
831 x_outcome_check_type => X_OUTCOME_CHECK_TYPE,
832 x_creation_date => X_LAST_UPDATE_DATE,
833 x_created_by => X_LAST_UPDATED_BY,
834 x_last_update_date => X_LAST_UPDATE_DATE,
835 x_last_updated_by => X_LAST_UPDATED_BY,
836 x_last_update_login => X_LAST_UPDATE_LOGIN
837 );
838
839 update IGS_PR_S_CRV_PRG_CON set
840 APPLY_START_DT_ALIAS = NEW_REFERENCES.APPLY_START_DT_ALIAS,
841 APPLY_END_DT_ALIAS = NEW_REFERENCES.APPLY_END_DT_ALIAS,
842 END_BENEFIT_DT_ALIAS = NEW_REFERENCES.END_BENEFIT_DT_ALIAS,
843 END_PENALTY_DT_ALIAS = NEW_REFERENCES.END_PENALTY_DT_ALIAS,
844 SHOW_CAUSE_CUTOFF_DT_ALIAS = NEW_REFERENCES.SHOW_CAUSE_CUTOFF_DT_ALIAS,
845 APPEAL_CUTOFF_DT_ALIAS = NEW_REFERENCES.APPEAL_CUTOFF_DT_ALIAS,
846 SHOW_CAUSE_IND = NEW_REFERENCES.SHOW_CAUSE_IND,
847 APPLY_BEFORE_SHOW_IND = NEW_REFERENCES.APPLY_BEFORE_SHOW_IND,
848 APPEAL_IND = NEW_REFERENCES.APPEAL_IND,
849 APPLY_BEFORE_APPEAL_IND = NEW_REFERENCES.APPLY_BEFORE_APPEAL_IND,
850 COUNT_SUS_IN_TIME_IND = NEW_REFERENCES.COUNT_SUS_IN_TIME_IND,
851 COUNT_EXC_IN_TIME_IND = NEW_REFERENCES.COUNT_EXC_IN_TIME_IND,
852 CALCULATE_WAM_IND = NEW_REFERENCES.CALCULATE_WAM_IND,
853 CALCULATE_GPA_IND = NEW_REFERENCES.CALCULATE_GPA_IND,
854 OUTCOME_CHECK_TYPE = NEW_REFERENCES.OUTCOME_CHECK_TYPE,
855 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
856 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
857 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
858 where ROWID = X_ROWID
859 ;
860 if (sql%notfound) then
861 raise no_data_found;
862 end if;
863
864 end UPDATE_ROW;
865
866 procedure ADD_ROW (
867 X_ROWID in out NOCOPY VARCHAR2,
868 X_COURSE_CD in VARCHAR2,
869 X_VERSION_NUMBER in NUMBER,
870 X_APPLY_START_DT_ALIAS in VARCHAR2,
871 X_APPLY_END_DT_ALIAS in VARCHAR2,
872 X_END_BENEFIT_DT_ALIAS in VARCHAR2,
873 X_END_PENALTY_DT_ALIAS in VARCHAR2,
874 X_SHOW_CAUSE_CUTOFF_DT_ALIAS in VARCHAR2,
875 X_APPEAL_CUTOFF_DT_ALIAS in VARCHAR2,
876 X_SHOW_CAUSE_IND in VARCHAR2,
877 X_APPLY_BEFORE_SHOW_IND in VARCHAR2,
878 X_APPEAL_IND in VARCHAR2,
879 X_APPLY_BEFORE_APPEAL_IND in VARCHAR2,
880 X_COUNT_SUS_IN_TIME_IND in VARCHAR2,
881 X_COUNT_EXC_IN_TIME_IND in VARCHAR2,
882 X_CALCULATE_WAM_IND in VARCHAR2,
883 X_CALCULATE_GPA_IND in VARCHAR2,
884 X_OUTCOME_CHECK_TYPE in VARCHAR2,
885 X_MODE in VARCHAR2 default 'R'
886 ) as
887 cursor c1 is select rowid from IGS_PR_S_CRV_PRG_CON
888 where COURSE_CD = X_COURSE_CD
889 and VERSION_NUMBER = X_VERSION_NUMBER
890 ;
891 begin
892 open c1;
893 fetch c1 into X_ROWID;
894 if (c1%notfound) then
895 close c1;
896 INSERT_ROW (
897 X_ROWID,
898 X_COURSE_CD,
899 X_VERSION_NUMBER,
900 X_APPLY_START_DT_ALIAS,
901 X_APPLY_END_DT_ALIAS,
902 X_END_BENEFIT_DT_ALIAS,
903 X_END_PENALTY_DT_ALIAS,
904 X_SHOW_CAUSE_CUTOFF_DT_ALIAS,
905 X_APPEAL_CUTOFF_DT_ALIAS,
906 X_SHOW_CAUSE_IND,
907 X_APPLY_BEFORE_SHOW_IND,
908 X_APPEAL_IND,
909 X_APPLY_BEFORE_APPEAL_IND,
910 X_COUNT_SUS_IN_TIME_IND,
911 X_COUNT_EXC_IN_TIME_IND,
912 X_CALCULATE_WAM_IND,
913 X_CALCULATE_GPA_IND,
914 X_OUTCOME_CHECK_TYPE,
915 X_MODE);
916 return;
917 end if;
918 close c1;
919 UPDATE_ROW (
920 X_ROWID,
921 X_COURSE_CD,
922 X_VERSION_NUMBER,
923 X_APPLY_START_DT_ALIAS,
924 X_APPLY_END_DT_ALIAS,
925 X_END_BENEFIT_DT_ALIAS,
926 X_END_PENALTY_DT_ALIAS,
927 X_SHOW_CAUSE_CUTOFF_DT_ALIAS,
928 X_APPEAL_CUTOFF_DT_ALIAS,
929 X_SHOW_CAUSE_IND,
930 X_APPLY_BEFORE_SHOW_IND,
931 X_APPEAL_IND,
932 X_APPLY_BEFORE_APPEAL_IND,
933 X_COUNT_SUS_IN_TIME_IND,
934 X_COUNT_EXC_IN_TIME_IND,
935 X_CALCULATE_WAM_IND,
936 X_CALCULATE_GPA_IND,
937 X_OUTCOME_CHECK_TYPE,
938 X_MODE);
939 end ADD_ROW;
940
941 procedure DELETE_ROW (
942 X_ROWID in VARCHAR2
943 ) as
944 begin
945
946 Before_DML(
947 p_action=>'DELETE',
948 x_rowid=>X_ROWID
949 );
950
951
952 delete from IGS_PR_S_CRV_PRG_CON
953 where ROWID = X_ROWID;
954 if (sql%notfound) then
955 raise no_data_found;
956 end if;
957
958 end DELETE_ROW;
959
960 PROCEDURE Check_Constraints (
961 Column_Name IN VARCHAR2 DEFAULT NULL,
965 IF Column_Name is null THEN
962 Column_Value IN VARCHAR2 DEFAULT NULL
963 ) AS
964 BEGIN
966 NULL;
967 ELSIF upper(Column_name) = 'APPLY_BEFORE_APPEAL_IND' THEN
968 new_references.APPLY_BEFORE_APPEAL_IND:= COLUMN_VALUE ;
969
970 ELSIF upper(Column_name) = 'COUNT_SUS_IN_TIME_IND' THEN
971 new_references.COUNT_SUS_IN_TIME_IND:= COLUMN_VALUE ;
972
973 ELSIF upper(Column_name) = 'COUNT_EXC_IN_TIME_IND' THEN
974 new_references.COUNT_EXC_IN_TIME_IND:= COLUMN_VALUE ;
975
976 ELSIF upper(Column_name) = 'CALCULATE_WAM_IND' THEN
977 new_references.CALCULATE_WAM_IND := COLUMN_VALUE ;
978
979 ELSIF upper(Column_name) = 'CALCULATE_GPA_IND' THEN
980 new_references.CALCULATE_GPA_IND := COLUMN_VALUE ;
981
982 ELSIF upper(Column_name) = 'APPEAL_CUTOFF_DT_ALIAS' THEN
983 new_references.APPEAL_CUTOFF_DT_ALIAS:= COLUMN_VALUE ;
984
985 ELSIF upper(Column_name) = 'APPEAL_IND' THEN
986 new_references.APPEAL_IND:= COLUMN_VALUE ;
987
988 ELSIF upper(Column_name) = 'APPLY_BEFORE_APPEAL_IND' THEN
989 new_references.APPLY_BEFORE_APPEAL_IND:= COLUMN_VALUE ;
990
991 ELSIF upper(Column_name) = 'APPLY_BEFORE_SHOW_IND' THEN
992 new_references.APPLY_BEFORE_SHOW_IND:= COLUMN_VALUE ;
993
994 ELSIF upper(Column_name) = 'APPLY_END_DT_ALIAS' THEN
995 new_references.APPLY_END_DT_ALIAS:= COLUMN_VALUE ;
996
997 ELSIF upper(Column_name) = 'APPLY_START_DT_ALIAS' THEN
998 new_references.APPLY_START_DT_ALIAS:= COLUMN_VALUE ;
999
1000 ELSIF upper(Column_name) = 'COURSE_CD' THEN
1001 new_references.COURSE_CD:= COLUMN_VALUE ;
1002
1003 ELSIF upper(Column_name) = 'END_BENEFIT_DT_ALIAS' THEN
1004 new_references.END_BENEFIT_DT_ALIAS:= COLUMN_VALUE ;
1005
1006 ELSIF upper(Column_name) = 'END_PENALTY_DT_ALIAS' THEN
1007 new_references.END_PENALTY_DT_ALIAS:= COLUMN_VALUE ;
1008
1009 ELSIF upper(Column_name) = 'SHOW_CAUSE_CUTOFF_DT_ALIAS' THEN
1010 new_references.SHOW_CAUSE_CUTOFF_DT_ALIAS:= COLUMN_VALUE ;
1011
1012 ELSIF upper(Column_name) = 'SHOW_CAUSE_IND' THEN
1013 new_references.SHOW_CAUSE_IND:= COLUMN_VALUE ;
1014
1015 ELSIF upper(Column_name) = 'OUTCOME_CHECK_TYPE' THEN
1016 new_references.OUTCOME_CHECK_TYPE:= COLUMN_VALUE ;
1017
1018 END IF ;
1019
1020 IF upper(Column_name) = 'APPLY_BEFORE_APPEAL_IND' OR COLUMN_NAME IS NULL THEN
1021 IF new_references.APPLY_BEFORE_APPEAL_IND not in ('Y','N') then
1022 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1023 IGS_GE_MSG_STACK.ADD;
1024 App_Exception.Raise_Exception ;
1025 END IF;
1026
1027 END IF ;
1028
1029 IF upper(Column_name) = 'COUNT_SUS_IN_TIME_IND' OR COLUMN_NAME IS NULL THEN
1030 IF new_references.COUNT_SUS_IN_TIME_IND<> upper(new_references.COUNT_SUS_IN_TIME_IND) then
1031 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1032 IGS_GE_MSG_STACK.ADD;
1033 App_Exception.Raise_Exception ;
1034 END IF;
1035
1036 IF new_references.COUNT_SUS_IN_TIME_IND not in ('Y','N') then
1037 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1038 IGS_GE_MSG_STACK.ADD;
1039 App_Exception.Raise_Exception ;
1040 END IF;
1041
1042 END IF ;
1043
1044 IF upper(Column_name) = 'COUNT_EXC_IN_TIME_IND' OR COLUMN_NAME IS NULL THEN
1045 IF new_references.COUNT_EXC_IN_TIME_IND<> upper(new_references.COUNT_EXC_IN_TIME_IND) then
1046 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1047 IGS_GE_MSG_STACK.ADD;
1048 App_Exception.Raise_Exception ;
1049 END IF;
1050
1051 IF new_references.COUNT_EXC_IN_TIME_IND not in ('Y','N') then
1052 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1053 IGS_GE_MSG_STACK.ADD;
1054 App_Exception.Raise_Exception ;
1055 END IF;
1056
1057 END IF ;
1058
1059 IF upper(Column_name) = 'CALCULATE_WAM_IND ' OR COLUMN_NAME IS NULL THEN
1060 IF new_references.CALCULATE_WAM_IND <> upper(new_references.CALCULATE_WAM_IND) then
1061 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1062 IGS_GE_MSG_STACK.ADD;
1063 App_Exception.Raise_Exception ;
1064 END IF;
1065
1066 IF new_references.CALCULATE_WAM_IND not in ('Y','N') then
1067 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1068 IGS_GE_MSG_STACK.ADD;
1069 App_Exception.Raise_Exception ;
1070 END IF;
1071
1072 END IF ;
1073
1074 IF upper(Column_name) = 'CALCULATE_GPA_IND' OR COLUMN_NAME IS NULL THEN
1075 IF new_references.CALCULATE_GPA_IND <> upper(new_references.CALCULATE_GPA_IND) then
1076 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1077 IGS_GE_MSG_STACK.ADD;
1078 App_Exception.Raise_Exception ;
1079 END IF;
1080
1081 IF new_references.CALCULATE_GPA_IND not in ('Y','N') then
1082 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1083 IGS_GE_MSG_STACK.ADD;
1084 App_Exception.Raise_Exception ;
1085 END IF;
1086
1087 END IF ;
1088
1089 IF upper(Column_name) = 'APPEAL_CUTOFF_DT_ALIAS' OR COLUMN_NAME IS NULL THEN
1090 IF new_references.APPEAL_CUTOFF_DT_ALIAS<> upper(new_references.APPEAL_CUTOFF_DT_ALIAS) then
1091 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1092 IGS_GE_MSG_STACK.ADD;
1093 App_Exception.Raise_Exception ;
1094 END IF;
1095
1096 END IF ;
1097
1098 IF upper(Column_name) = 'APPEAL_IND' OR COLUMN_NAME IS NULL THEN
1099 IF new_references.APPEAL_IND<> upper(new_references.APPEAL_IND) then
1100 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1101 IGS_GE_MSG_STACK.ADD;
1102 App_Exception.Raise_Exception ;
1103 END IF;
1104
1105 IF new_references.APPEAL_IND not in ('Y','N') then
1106 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1107 IGS_GE_MSG_STACK.ADD;
1108 App_Exception.Raise_Exception ;
1109 END IF;
1110
1111 END IF ;
1112
1113 IF upper(Column_name) = 'APPLY_BEFORE_APPEAL_IND' OR COLUMN_NAME IS NULL THEN
1114 IF new_references.APPLY_BEFORE_APPEAL_IND<> upper(new_references.APPLY_BEFORE_APPEAL_IND) then
1115 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1116 IGS_GE_MSG_STACK.ADD;
1117 App_Exception.Raise_Exception ;
1118 END IF;
1119
1120 END IF ;
1121
1122 IF upper(Column_name) = 'APPLY_BEFORE_SHOW_IND' OR COLUMN_NAME IS NULL THEN
1123 IF new_references.APPLY_BEFORE_SHOW_IND<> upper(new_references.APPLY_BEFORE_SHOW_IND) then
1124 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1125 IGS_GE_MSG_STACK.ADD;
1126 App_Exception.Raise_Exception ;
1127 END IF;
1128
1129 IF new_references.APPLY_BEFORE_SHOW_IND not in ('Y','N') then
1130 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1131 IGS_GE_MSG_STACK.ADD;
1132 App_Exception.Raise_Exception ;
1133 END IF;
1134
1135 END IF ;
1136
1137 IF upper(Column_name) = 'APPLY_END_DT_ALIAS' OR COLUMN_NAME IS NULL THEN
1138 IF new_references.APPLY_END_DT_ALIAS<> upper(new_references.APPLY_END_DT_ALIAS) then
1139 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1140 IGS_GE_MSG_STACK.ADD;
1141 App_Exception.Raise_Exception ;
1142 END IF;
1143
1144 END IF ;
1145
1146 IF upper(Column_name) = 'APPLY_START_DT_ALIAS' OR COLUMN_NAME IS NULL THEN
1147 IF new_references.APPLY_START_DT_ALIAS<> upper(new_references.APPLY_START_DT_ALIAS) then
1148 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1149 IGS_GE_MSG_STACK.ADD;
1150 App_Exception.Raise_Exception ;
1151 END IF;
1152
1153 END IF ;
1154
1155 IF upper(Column_name) = 'COURSE_CD' OR COLUMN_NAME IS NULL THEN
1156 IF new_references.COURSE_CD<> upper(new_references.COURSE_CD) then
1157 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1158 IGS_GE_MSG_STACK.ADD;
1159 App_Exception.Raise_Exception ;
1160 END IF;
1161
1162 END IF ;
1163
1164 IF upper(Column_name) = 'END_BENEFIT_DT_ALIAS' OR COLUMN_NAME IS NULL THEN
1165 IF new_references.END_BENEFIT_DT_ALIAS<> upper(new_references.END_BENEFIT_DT_ALIAS) then
1166 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1167 IGS_GE_MSG_STACK.ADD;
1168 App_Exception.Raise_Exception ;
1169 END IF;
1170
1171 END IF ;
1172
1173 IF upper(Column_name) = 'END_PENALTY_DT_ALIAS' OR COLUMN_NAME IS NULL THEN
1174 IF new_references.END_PENALTY_DT_ALIAS<> upper(new_references.END_PENALTY_DT_ALIAS) then
1175 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1176 IGS_GE_MSG_STACK.ADD;
1177 App_Exception.Raise_Exception ;
1178 END IF;
1179
1180 END IF ;
1181
1182 IF upper(Column_name) = 'SHOW_CAUSE_CUTOFF_DT_ALIAS' OR COLUMN_NAME IS NULL THEN
1183 IF new_references.SHOW_CAUSE_CUTOFF_DT_ALIAS<> upper(new_references.SHOW_CAUSE_CUTOFF_DT_ALIAS) then
1184 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1185 IGS_GE_MSG_STACK.ADD;
1186 App_Exception.Raise_Exception ;
1187 END IF;
1188
1189 END IF ;
1190
1191 IF upper(Column_name) = 'SHOW_CAUSE_IND' OR COLUMN_NAME IS NULL THEN
1192 IF new_references.SHOW_CAUSE_IND<> upper(new_references.SHOW_CAUSE_IND) then
1193 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1194 IGS_GE_MSG_STACK.ADD;
1195 App_Exception.Raise_Exception ;
1196 END IF;
1197
1198 IF new_references.SHOW_CAUSE_IND not in ('Y','N') then
1199 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1200 IGS_GE_MSG_STACK.ADD;
1201 App_Exception.Raise_Exception ;
1202 END IF;
1203
1204 END IF ;
1205
1206 IF upper(Column_name) = 'OUTCOME_CHECK_TYPE' OR COLUMN_NAME IS NULL THEN
1207 IF new_references.OUTCOME_CHECK_TYPE<> upper(new_references.OUTCOME_CHECK_TYPE) then
1208 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
1209 IGS_GE_MSG_STACK.ADD;
1210 App_Exception.Raise_Exception ;
1211 END IF;
1212
1213 END IF ;
1214
1215
1216 END Check_Constraints;
1217
1218 end IGS_PR_S_CRV_PRG_CON_PKG;