[Home] [Help]
PACKAGE: APPS.IGS_PR_VAL_SPO
Source
1 PACKAGE igs_pr_val_spo AUTHID CURRENT_USER AS
2 /* $Header: IGSPR21S.pls 115.7 2002/11/29 02:49:29 nsidana ship $ */
3
4 --msrinivi bug 1956374 Removed genp_prc_clear_row_id --
5 /*
6 || Bug ID 1956374 - Removal of Duplicate Program Units from OSS.
7 || Removed program unit (PRGP_VAL_POT_CLOSED) - from the spec and body. -- kdande
8 */
9 -------------------------------------------------------------------------------------------
10 --Change History:
11 --Who When What
12 --avenkatr 29-AUG-2001 Bug Id : 1956374. Removed Function "crsp_val_att_closed"
13 --avenkatr 29-AUG-2001 Bug Id : 1956374. Removed procedure "crsp_val_crv_active"
14 -------------------------------------------------------------------------------------------
15 --
16
17 TYPE r_spo_record_type IS RECORD
18
19 (
20
21 person_id IGS_PR_STDNT_PR_OU_ALL.PERSON_ID%TYPE,
22
23 course_cd IGS_PR_STDNT_PR_OU_ALL.COURSE_CD%TYPE,
24
25 sequence_number IGS_PR_STDNT_PR_OU_ALL.SEQUENCE_NUMBER%TYPE,
26
27 prg_cal_type IGS_PR_STDNT_PR_OU_ALL.PRG_CAL_TYPE%TYPE,
28
29 prg_ci_sequence_number IGS_PR_STDNT_PR_OU_ALL.PRG_CI_SEQUENCE_NUMBER%TYPE,
30
31 rule_check_dt IGS_PR_STDNT_PR_OU_ALL.RULE_CHECK_DT%TYPE,
32
33 progression_rule_cat IGS_PR_STDNT_PR_OU_ALL.PROGRESSION_RULE_CAT%TYPE,
34
35
36 pra_sequence_number IGS_PR_STDNT_PR_OU_ALL.PRA_SEQUENCE_NUMBER%TYPE,
37
38 progression_outcome_type IGS_PR_STDNT_PR_OU_ALL.PROGRESSION_OUTCOME_TYPE%TYPE,
39
40 old_decision_status IGS_PR_STDNT_PR_OU_ALL.DECISION_STATUS%TYPE,
41
42 new_decision_status IGS_PR_STDNT_PR_OU_ALL.DECISION_STATUS%TYPE,
43
44 decision_dt IGS_PR_STDNT_PR_OU_ALL.DECISION_DT%TYPE,
45
46 decision_org_unit_cd IGS_PR_STDNT_PR_OU_ALL.DECISION_ORG_UNIT_CD%TYPE,
47
48 decision_ou_start_dt IGS_PR_STDNT_PR_OU_ALL.DECISION_OU_START_DT%TYPE,
49
50 applied_dt IGS_PR_STDNT_PR_OU_ALL.APPLIED_DT%TYPE,
51
52 expiry_dt IGS_PR_STDNT_PR_OU_ALL.EXPIRY_DT%TYPE,
53
54 encmb_course_group_cd IGS_PR_STDNT_PR_OU_ALL.ENCMB_COURSE_GROUP_CD%TYPE,
55
56 restricted_enrolment_cp IGS_PR_STDNT_PR_OU_ALL.RESTRICTED_ENROLMENT_CP%TYPE,
57
58
59 restricted_attendance_type IGS_PR_STDNT_PR_OU_ALL.RESTRICTED_ATTENDANCE_TYPE%TYPE,
60
61 new_duration IGS_PR_STDNT_PR_OU_ALL.DURATION%TYPE,
62
63 old_duration_type IGS_PR_STDNT_PR_OU_ALL.DURATION_TYPE%TYPE,
64
65 new_duration_type IGS_PR_STDNT_PR_OU_ALL.DURATION_TYPE%TYPE,
66
67 old_duration IGS_PR_STDNT_PR_OU_ALL.DURATION%TYPE);
68
69 --
70
71 --
72
73 TYPE t_spo_table IS TABLE OF
74
75 igs_pr_val_spo.r_spo_record_type
76
77 INDEX BY BINARY_INTEGER;
78
79 --
80
81 --
82
83
84 gt_rowid_table t_spo_table;
85
86 --
87
88 --
89
90 gt_empty_table t_spo_table;
91
92 --
93
94 --
95
96 gv_table_index BINARY_INTEGER;
97
98 --
99
100 -- Routine to process rowids in a PL/SQL TABLE for the current commit.
101
102 FUNCTION prgp_prc_spo_rowids(
103
104 p_inserting IN BOOLEAN ,
105
106
107 p_updating IN BOOLEAN ,
108
109 p_deleting IN BOOLEAN ,
110
111 p_message_name OUT NOCOPY VARCHAR2 )
112
113 RETURN BOOLEAN;
114
115 --
116
117 -- Validate student progression outcome decision status changes
118
119 FUNCTION prgp_val_spo_dcsn(
120
121 p_person_id IN NUMBER ,
122
123 p_course_cd IN VARCHAR2 ,
124
125 p_prg_cal_type IN VARCHAR2 ,
126
127 p_prg_ci_sequence_number IN NUMBER ,
128
129 p_rule_check_dt IN DATE ,
130
131
132 p_progression_rule_cat IN VARCHAR2 ,
133
134 p_pra_sequence_number IN NUMBER ,
135
136 p_progression_outcome_type IN VARCHAR2 ,
137
138 p_old_decision_status IN VARCHAR2 ,
139
140 p_new_decision_status IN VARCHAR2 ,
141
142 p_decision_dt IN DATE ,
143
144 p_decision_org_unit_cd IN VARCHAR2 ,
145
146 p_decision_ou_start_dt IN DATE ,
147
148 p_applied_dt IN DATE ,
149
150 p_expiry_dt IN DATE ,
151
152 p_message_name OUT NOCOPY VARCHAR2 )
153
154
155 RETURN BOOLEAN;
156
157 --
158
159 -- Validate student progression outcome decision date
160
161 FUNCTION prgp_val_spo_dcsn_dt(
162
163 p_decision_dt IN DATE ,
164
165 p_message_name OUT NOCOPY VARCHAR2 )
166
167 RETURN BOOLEAN;
168
169 --
170
171 -- Validate student progression outcome show cause date
172
173 FUNCTION prgp_val_spo_sc_dt(
174
175 p_person_id IN NUMBER ,
176
177 p_course_cd IN VARCHAR2 ,
178
179
180 p_applied_dt IN DATE ,
181
182 p_decision_dt IN DATE ,
183
184 p_decision_status IN VARCHAR2 ,
185
186 p_show_cause_expiry_dt IN DATE ,
187
188 p_old_show_cause_dt IN DATE ,
189
190 p_new_show_cause_dt IN DATE ,
191
192 p_show_cause_outcome_dt IN DATE ,
193
194 p_appeal_dt IN DATE ,
195
196 p_message_name OUT NOCOPY VARCHAR2 )
197
198 RETURN BOOLEAN;
199
200 --
201
202
203 -- Validate student progression outcome show cause expiry date
204
205 FUNCTION prgp_val_spo_sc_exp(
206
207 p_person_id IN NUMBER ,
208
209 p_course_cd IN VARCHAR2 ,
210
211 p_prg_cal_type IN VARCHAR2 ,
212
213 p_prg_ci_sequence_number IN NUMBER ,
214
215 p_decision_status IN VARCHAR2 ,
216
217 p_old_show_cause_expiry_dt IN DATE ,
218
219 p_new_show_cause_expiry_dt IN DATE ,
220
221 p_show_cause_dt IN DATE ,
222
223 p_show_cause_outcome_dt IN DATE ,
224
225 p_appeal_expiry_dt IN DATE ,
226
227
228 p_message_name OUT NOCOPY VARCHAR2 )
229
230 RETURN BOOLEAN;
231
232 --
233
234 -- Validate student progression outcome show cause outcome date
235
236 FUNCTION prgp_val_spo_sc_out(
237
238 p_decision_status IN VARCHAR2 ,
239
240 p_show_cause_dt IN DATE ,
241
242 p_show_cause_outcome_dt IN DATE ,
243
244 p_show_cause_outcome_type IN VARCHAR2 ,
245
246 p_message_name OUT NOCOPY VARCHAR2 )
247
248 RETURN BOOLEAN;
249
250
251 --
252
253 -- Validate student progression outcome appeal date
254
255 FUNCTION prgp_val_spo_apl_dt(
256
257 p_person_id IN NUMBER ,
258
259 p_course_cd IN VARCHAR2 ,
260
261 p_applied_dt IN DATE ,
262
263 p_decision_dt IN DATE ,
264
265 p_decision_status IN VARCHAR2 ,
266
267 p_appeal_expiry_dt IN DATE ,
268
269 p_old_appeal_dt IN DATE ,
270
271 p_new_appeal_dt IN DATE ,
272
273 p_appeal_outcome_dt IN DATE ,
274
275
276 p_show_cause_dt IN DATE ,
277
278 p_message_name OUT NOCOPY VARCHAR2 )
279
280 RETURN BOOLEAN;
281
282 --
283
284 -- Validate student progression outcome appeal expiry date
285
286 FUNCTION prgp_val_spo_apl_exp(
287
288 p_person_id IN NUMBER ,
289
290 p_course_cd IN VARCHAR2 ,
291
292 p_prg_cal_type IN VARCHAR2 ,
293
294 p_prg_ci_sequence_number IN NUMBER ,
295
296 p_decision_status IN VARCHAR2 ,
297
298 p_old_appeal_expiry_dt IN DATE ,
299
300 p_new_appeal_expiry_dt IN DATE ,
301
302 p_appeal_dt IN DATE ,
303
304 p_appeal_outcome_dt IN DATE ,
305
306 p_show_cause_expiry_dt IN DATE ,
307
308 p_message_name OUT NOCOPY VARCHAR2 )
309
310 RETURN BOOLEAN;
311
312 --
313
314 -- Validate student progression outcome appeal outcome date
315
316 FUNCTION prgp_val_spo_apl_out(
317
318 p_old_decision_status IN VARCHAR2 ,
319
320 p_appeal_dt IN DATE ,
321
322 p_appeal_outcome_dt IN DATE ,
323
324 p_appeal_outcome_type IN VARCHAR2 ,
325
326 p_message_name OUT NOCOPY VARCHAR2 )
327
328 RETURN BOOLEAN;
329
330 --
331
332 -- Get applied date if student progression outcome detail has changed
333
334 FUNCTION prgp_GET_SPO_APLY_DT(
335
336 p_decision_status IN VARCHAR2 ,
337
338 p_old_applied_dt IN DATE ,
339
340 p_new_applied_dt IN DATE ,
341
342 p_old_encmb_course_group_cd IN VARCHAR2 ,
343
344 p_new_encmb_course_group_cd IN VARCHAR2 ,
345
346 p_old_restricted_enrolment_cp IN NUMBER ,
347
348 p_new_restricted_enrolment_cp IN NUMBER ,
349
350 p_old_restricted_attend_type IN VARCHAR2 ,
351
352 p_new_restricted_attend_type IN VARCHAR2 ,
353
354 p_old_expiry_dt IN DATE ,
355
356 p_new_expiry_dt IN DATE ,
357
358 p_old_duration IN NUMBER ,
359
360 p_new_duration IN NUMBER ,
361
362 p_old_duration_type IN VARCHAR2 ,
363
364 p_new_duration_type IN VARCHAR2 ,
365
366 p_out_applied_dt OUT NOCOPY DATE )
367
368 RETURN BOOLEAN;
369
370
371 --
372
373 --
374
375 -- Routine to save key in a PL/SQL TABLE for the current commit.
376
377 PROCEDURE prgp_set_spo_rowid(
378
379 p_person_id IN NUMBER ,
380
381 p_course_cd IN VARCHAR2 ,
382
383 p_sequence_number IN NUMBER ,
384
385
386 p_prg_cal_type IN VARCHAR2 ,
387
388 p_prg_ci_sequence_number IN NUMBER ,
389
390 p_rule_check_dt IN DATE ,
391
392 p_progression_rule_cat IN VARCHAR2 ,
393
394 p_pra_sequence_number IN NUMBER ,
395
396 p_progression_outcome_type IN VARCHAR2 ,
397
398 p_old_decision_status IN VARCHAR2 ,
399
400 p_new_decision_status IN VARCHAR2 ,
401
402 p_decision_dt IN DATE ,
403
404 p_decision_org_unit_cd IN VARCHAR2 ,
405
406 p_decision_ou_start_dt IN DATE ,
407
408 p_applied_dt IN DATE ,
409
410
411 p_expiry_dt IN DATE ,
412
413 p_encmb_course_group_cd IN VARCHAR2 ,
414
415 p_restricted_enrolment_cp IN NUMBER ,
416
417 p_restricted_attendance_type IN VARCHAR2 ,
418
419 p_old_duration IN NUMBER ,
420
421 p_new_duration IN NUMBER ,
422
423 p_old_duration_type IN VARCHAR2 ,
424
425 p_new_duration_type IN VARCHAR2 ) ;
426
427 --
428
429 -- Validate progression calendar instance
430
431
432 FUNCTION prgp_val_prg_ci(
433
434 p_cal_type IN VARCHAR2 ,
435
436 p_ci_sequence_number IN NUMBER ,
437
438 p_message_name OUT NOCOPY VARCHAR2 )
439
440 RETURN BOOLEAN;
441
442 --
443
444 -- Validate student progression outcome can be inserted
445
446 FUNCTION prgp_val_spo_ins(
447
448 p_person_id IN NUMBER ,
449
450 p_course_cd IN VARCHAR2 ,
451
452 p_prg_cal_type IN VARCHAR2 ,
453
454 p_prg_ci_sequence_number IN NUMBER ,
455
456
457 p_rule_check_dt IN DATE ,
458
459 p_progression_rule_cat IN VARCHAR2 ,
460
461 p_pra_sequence_number IN NUMBER ,
462
463 p_message_name OUT NOCOPY VARCHAR2 )
464
465 RETURN BOOLEAN;
466
467 --
468
469 -- Validate student progression outcome has the required details
470
471 FUNCTION prgp_val_spo_rqrd(
472
473 p_progression_outcome_type IN VARCHAR2 ,
474
475 p_duration IN NUMBER ,
476
477 p_duration_type IN VARCHAR2 ,
478
479
480 p_message_name OUT NOCOPY VARCHAR2 )
481
482 RETURN BOOLEAN;
483
484 --
485
486 -- Validate student progression outcome restricted attendance type
487
488 FUNCTION prgp_val_spo_att(
489
490 p_progression_outcome_type IN VARCHAR2 ,
491
492 p_restricted_attendance_type IN VARCHAR2 ,
493
494 p_message_name OUT NOCOPY VARCHAR2 )
495
496 RETURN BOOLEAN;
497
498 --
499
500 -- Validate student progression outcome encumbered course group code
501
502 FUNCTION prgp_val_spo_cgr(
503
504
505 p_progression_outcome_type IN VARCHAR2 ,
506
507 p_encmb_course_group_cd IN VARCHAR2 ,
508
509 p_message_name OUT NOCOPY VARCHAR2 )
510
511 RETURN BOOLEAN;
512
513 --
514
515 -- Validate student progression outcome restricted enrolment cp's
516
517 FUNCTION prgp_val_spo_cp(
518
519 p_progression_outcome_type IN VARCHAR2 ,
520
521 p_restricted_enrolment_cp IN NUMBER ,
522
523 p_message_name OUT NOCOPY VARCHAR2 )
524
525 RETURN BOOLEAN;
526
527
528 --
529
530 -- Validate student progression outcome duration/duration type changes
531
532 FUNCTION prgp_val_spo_drtn(
533
534 p_person_id IN NUMBER ,
535
536 p_course_cd IN VARCHAR2 ,
537
538 p_sequence_number IN NUMBER ,
539
540 p_decision_status IN VARCHAR2 ,
541
542 p_old_duration IN NUMBER ,
543
544 p_new_duration IN NUMBER ,
545
546 p_old_duration_type IN VARCHAR2 ,
547
548 p_new_duration_type IN VARCHAR2 ,
549
550 p_expiry_dt IN DATE ,
551
552
553 p_message_name OUT NOCOPY VARCHAR2 )
554
555 RETURN BOOLEAN;
556
557 --
558
559 -- Validate if course_group.course_group_cd is closed.
560
561 FUNCTION crsp_val_cgr_closed(
562
563
564 p_course_group_cd IN VARCHAR2 ,
565
566 p_message_name OUT NOCOPY VARCHAR2 )
567
568 RETURN BOOLEAN;
569
570 --
571
572 --
573
574 -- Validate student progression outcome decision status of APPROVED
575
576 FUNCTION prgp_val_spo_approve(
577
578 p_person_id IN NUMBER ,
579
580 p_course_cd IN VARCHAR2 ,
581
582 p_sequence_number IN NUMBER ,
583
584 p_progression_outcome_type IN VARCHAR2 ,
585
586 p_old_decision_status IN VARCHAR2 ,
587
588 p_new_decision_status IN VARCHAR2 ,
589
590 p_encmb_course_group_cd IN VARCHAR2 ,
591
592 p_restricted_enrolment_cp IN NUMBER ,
593
594 p_restricted_attendance_type IN VARCHAR2 ,
595
596
597 p_message_name OUT NOCOPY VARCHAR2 )
601 --
598
599 RETURN BOOLEAN;
600
602
603 -- Validate student progression outcome applied date
604
605 FUNCTION prgp_val_spo_aply_dt(
606
607 p_person_id IN NUMBER ,
608
609 p_course_cd IN VARCHAR2 ,
610
611 p_old_applied_dt IN DATE ,
612
613 p_new_applied_dt IN DATE ,
614
615 p_decision_status IN VARCHAR2 ,
616
617 p_decision_dt IN DATE ,
618
619
620 p_show_cause_expiry_dt IN DATE ,
621
622 p_show_cause_outcome_dt IN DATE ,
623
624 p_appeal_expiry_dt IN DATE ,
625
626 p_appeal_outcome_dt IN DATE ,
627
628 p_message_name OUT NOCOPY VARCHAR2 )
629
630 RETURN BOOLEAN;
631
632 --
633
634 -- Validate student progression outcome show cause
635
636 FUNCTION prgp_val_spo_cause(
637
638 p_person_id IN NUMBER ,
639
640 p_course_cd IN VARCHAR2 ,
641
642 p_progression_rule_cat IN VARCHAR2 ,
643
644
645 p_pro_pra_sequence_number IN NUMBER ,
646
647 p_pro_sequence_number IN NUMBER ,
648
649 p_show_cause_dt IN DATE ,
650
651 p_show_cause_expiry_dt IN DATE ,
652
653 p_show_cause_outcome_dt IN DATE ,
654
655 p_show_cause_outcome_type IN VARCHAR2 ,
656
657 p_message_name OUT NOCOPY VARCHAR2 )
658
659 RETURN BOOLEAN;
660
661 --
662
663 -- Validate student progression outcome appeal
664
665 FUNCTION prgp_val_spo_appeal(
666
667
668 p_person_id IN NUMBER ,
669
670 p_course_cd IN VARCHAR2 ,
671
672 p_progression_rule_cat IN VARCHAR2 ,
673
674 p_pro_pra_sequence_number IN NUMBER ,
675
676 p_pro_sequence_number IN NUMBER ,
677
678 p_appeal_dt IN DATE ,
679
680 p_appeal_expiry_dt IN DATE ,
681
682 p_appeal_outcome_dt IN DATE ,
683
684 p_appeal_outcome_type IN VARCHAR2 ,
685
686 p_message_name OUT NOCOPY VARCHAR2 )
687
688 RETURN BOOLEAN;
689
690 --
691
692
693 -- Validate student progression outcome outcome type is not being changed
694
695 FUNCTION prgp_val_spo_pot(
696
697 p_old_progression_outcome_type IN VARCHAR2 ,
698
699 p_new_progression_outcome_type IN VARCHAR2 ,
700
701 p_message_name OUT NOCOPY VARCHAR2 )
702
703 RETURN BOOLEAN;
704
705 --
706
707 -- Validate student progression outcome expiry date
708
709 FUNCTION prgp_val_spo_exp_dt(
710
711 p_expiry_dt IN DATE ,
712
713 p_message_name OUT NOCOPY VARCHAR2 )
714
715
716 RETURN BOOLEAN;
717
718 END igs_pr_val_spo;