[Home] [Help]
318: v_s_discont_reason_type IGS_EN_DCNT_REASONCD.s_discontinuation_reason_type%TYPE;
319: v_expiry_status VARCHAR2(10);
320: v_expiry_dt DATE;
321: v_authorising_person_id IGS_PE_person.person_id%TYPE;
322: v_new_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE;
323: v_ci_sequence_number IGS_CA_INST.sequence_number%TYPE;
324: v_message_text VARCHAR2(2000);
325: v_message_level VARCHAR2(10);
326: v_message_name VARCHAR2(30);
651: cp_spo_sequence_number IGS_PR_STDNT_PR_OU.sequence_number%TYPE) IS
652: SELECT /*+INDEX(pra1 pra_spo_fk_i)*/
653: pra1.progression_rule_cat,
654: pra1.sequence_number
655: FROM IGS_PR_RU_APPL pra1
656: WHERE pra1.spo_person_id = cp_spo_person_id AND
657: pra1.spo_course_cd = cp_spo_course_cd AND
658: pra1.spo_sequence_number = cp_spo_sequence_number AND
659: pra1.s_relation_type = cst_spo AND
659: pra1.s_relation_type = cst_spo AND
660: pra1.logical_delete_dt IS NULL AND
661: NOT EXISTS (
662: SELECT 'X'
663: FROM IGS_PR_RU_APPL pra2
664: WHERE pra2.sca_person_id = cp_spo_person_id AND
665: pra2.sca_course_cd = cp_spo_course_cd AND
666: NVL(pra2.spo_person_id, 0) = cp_spo_person_id AND
667: NVL(pra2.spo_course_cd, 'NULL') = cp_spo_course_cd AND
676: cp_spo_sequence_number IGS_PR_STDNT_PR_OU.sequence_number%TYPE) IS
677: SELECT /*+INDEX(pra pra_spo_fk_i)*/
678: prct.*,
679: prct.ROWID
680: FROM IGS_PR_RU_APPL pra,
681: IGS_PR_RU_CA_TYPE prct
682: WHERE pra.progression_rule_cat = prct.progression_rule_cat AND
683: pra.sequence_number = prct.pra_sequence_number AND
684: pra.logical_delete_dt IS NULL AND
710: cp_spo_course_cd IGS_PR_STDNT_PR_OU.course_cd%TYPE,
711: cp_spo_sequence_number IGS_PR_STDNT_PR_OU.sequence_number%TYPE) IS
712: SELECT pra.*,
713: pra.ROWID
714: FROM IGS_PR_RU_APPL pra
715: WHERE pra.spo_person_id = cp_spo_person_id AND
716: pra.spo_course_cd = cp_spo_course_cd AND
717: pra.spo_sequence_number = cp_spo_sequence_number AND
718: pra.sca_person_id = cp_spo_person_id AND
725: cp_spo_course_cd IGS_PR_STDNT_PR_OU.course_cd%TYPE,
726: cp_spo_sequence_number IGS_PR_STDNT_PR_OU.sequence_number%TYPE) IS
727: SELECT pra1.*,
728: pra1.ROWID
729: FROM IGS_PR_RU_APPL pra1
730: WHERE pra1.sca_person_id = cp_spo_person_id AND
731: pra1.sca_course_cd = cp_spo_course_cd AND
732: NVL(pra1.spo_person_id, 0) = cp_spo_person_id AND
733: NVL(pra1.spo_course_cd, 'NULL') = cp_spo_course_cd AND
735: pra1.s_relation_type = cst_sca AND
736: pra1.logical_delete_dt IS NULL AND
737: NOT EXISTS (
738: SELECT 'X'
739: FROM IGS_PR_RU_APPL pra2
740: WHERE pra2.spo_person_id = cp_spo_person_id AND
741: pra2.spo_course_cd = cp_spo_course_cd AND
742: pra2.spo_sequence_number = cp_spo_sequence_number AND
743: pra2.s_relation_type = cst_spo AND
2119:
2120: IF NOT v_process_next_spo AND
2121: NOT v_exit_procedure THEN
2122: -- Process rules resulting from the outcome. This logic takes
2123: -- IGS_PR_RU_APPL details (at the SPO level) and creates
2124: -- SCA applications of these rules.
2125: FOR v_pra_rec IN c_pra (
2126: v_spo_rec.person_id,
2127: v_spo_rec.course_cd,
2220: v_spo_rec.person_id,
2221: v_spo_rec.course_cd,
2222: v_spo_rec.sequence_number) LOOP
2223: /*
2224: UPDATE IGS_PR_RU_APPL
2225: SET logical_delete_dt = SYSDATE
2226: WHERE CURRENT OF c_pra_upd2;
2227: */
2228:
2226: WHERE CURRENT OF c_pra_upd2;
2227: */
2228:
2229:
2230: IGS_PR_RU_APPL_pkg.UPDATE_ROW(
2231: X_ROWID => v_pra_upd_rec.ROWID,
2232: X_PROGRESSION_RULE_CAT => v_pra_upd_rec.PROGRESSION_RULE_CAT,
2233: X_SEQUENCE_NUMBER => v_pra_upd_rec.SEQUENCE_NUMBER,
2234: X_S_RELATION_TYPE => v_pra_upd_rec.S_RELATION_TYPE,
2553: v_spo_rec.person_id,
2554: v_spo_rec.course_cd,
2555: v_spo_rec.sequence_number) LOOP
2556: /*
2557: UPDATE IGS_PR_RU_APPL
2558: SET logical_delete_dt = SYSDATE
2559: WHERE CURRENT OF c_pra_upd1;
2560: */
2561: IGS_PR_RU_APPL_PKG.UPDATE_ROW(
2557: UPDATE IGS_PR_RU_APPL
2558: SET logical_delete_dt = SYSDATE
2559: WHERE CURRENT OF c_pra_upd1;
2560: */
2561: IGS_PR_RU_APPL_PKG.UPDATE_ROW(
2562: X_ROWID => v_pra_upd_rec.ROWID,
2563: X_PROGRESSION_RULE_CAT => v_pra_upd_rec.PROGRESSION_RULE_CAT,
2564: X_SEQUENCE_NUMBER => v_pra_upd_rec.SEQUENCE_NUMBER,
2565: X_S_RELATION_TYPE => v_pra_upd_rec.S_RELATION_TYPE,
3587: crv.version_number = sca.version_number;
3588:
3589: PROCEDURE prgpl_ins_log_entry (
3590: p_record_type VARCHAR2,
3591: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
3592: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3593: p_spo_sequence_number IGS_PR_STDNT_PR_OU.sequence_number%TYPE,
3594: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
3595: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
3588:
3589: PROCEDURE prgpl_ins_log_entry (
3590: p_record_type VARCHAR2,
3591: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
3592: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3593: p_spo_sequence_number IGS_PR_STDNT_PR_OU.sequence_number%TYPE,
3594: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
3595: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
3596: p_progression_outcome_type
3590: p_record_type VARCHAR2,
3591: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
3592: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3593: p_spo_sequence_number IGS_PR_STDNT_PR_OU.sequence_number%TYPE,
3594: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
3595: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
3596: p_progression_outcome_type
3597: IGS_PR_OU_TYPE.progression_outcome_type%TYPE,
3598: p_unit_cd IGS_PS_UNIT_VER.unit_cd%TYPE)
3591: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
3592: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3593: p_spo_sequence_number IGS_PR_STDNT_PR_OU.sequence_number%TYPE,
3594: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
3595: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
3596: p_progression_outcome_type
3597: IGS_PR_OU_TYPE.progression_outcome_type%TYPE,
3598: p_unit_cd IGS_PS_UNIT_VER.unit_cd%TYPE)
3599: IS
3663:
3664:
3665:
3666: PROCEDURE prgpl_add_stdnt_prg_outcomes (
3667: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
3668: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3669: p_original_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3670: p_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE,
3671: p_apply_automatically_ind IGS_PR_RU_OU.apply_automatically_ind%TYPE,
3664:
3665:
3666: PROCEDURE prgpl_add_stdnt_prg_outcomes (
3667: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
3668: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3669: p_original_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3670: p_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE,
3671: p_apply_automatically_ind IGS_PR_RU_OU.apply_automatically_ind%TYPE,
3672: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
3665:
3666: PROCEDURE prgpl_add_stdnt_prg_outcomes (
3667: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
3668: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3669: p_original_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
3670: p_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE,
3671: p_apply_automatically_ind IGS_PR_RU_OU.apply_automatically_ind%TYPE,
3672: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
3673: p_rule_check_dt DATE,
3676: p_duration_type IGS_PR_STDNT_PR_OU.duration_type%TYPE,
3677: p_encmb_course_group_cd IGS_PR_STDNT_PR_OU.encmb_course_group_cd%TYPE,
3678: p_restricted_enrolment_cp IGS_PR_STDNT_PR_OU.restricted_enrolment_cp%TYPE,
3679: p_restricted_attendance_type IGS_PR_STDNT_PR_OU.restricted_attendance_type%TYPE,
3680: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
3681: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE)
3682: IS
3683: BEGIN -- prgpl_add_stdnt_prg_outcomes
3684: DECLARE
3677: p_encmb_course_group_cd IGS_PR_STDNT_PR_OU.encmb_course_group_cd%TYPE,
3678: p_restricted_enrolment_cp IGS_PR_STDNT_PR_OU.restricted_enrolment_cp%TYPE,
3679: p_restricted_attendance_type IGS_PR_STDNT_PR_OU.restricted_attendance_type%TYPE,
3680: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
3681: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE)
3682: IS
3683: BEGIN -- prgpl_add_stdnt_prg_outcomes
3684: DECLARE
3685: cst_approved CONSTANT VARCHAR2(10) := 'APPROVED';
3690: cst_exc_course CONSTANT VARCHAR2(10) := 'EXC_COURSE';
3691: cst_pro CONSTANT VARCHAR2(10) := 'PRO';
3692: cst_active CONSTANT VARCHAR2(10) := 'ACTIVE';
3693: v_spo_sequence_number INTEGER;
3694: v_new_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE;
3695: v_decision_status IGS_PR_STDNT_PR_OU_ALL.DECISION_STATUS%TYPE;
3696: v_decision_org_unit_cd IGS_OR_unit.org_unit_cd%TYPE;
3697: v_decision_ou_start_dt IGS_OR_unit.start_dt%TYPE;
3698: v_decision_dt IGS_PR_STDNT_PR_OU_ALL.DECISION_DT%TYPE;
3769:
3770: CURSOR c_pra IS
3771: SELECT pra.progression_rule_cat,
3772: pra.sequence_number
3773: FROM IGS_PR_RU_APPL pra
3774: WHERE pra.s_relation_type = cst_pro AND
3775: pra.pro_pra_sequence_number = p_original_pra_sequence_number AND
3776: pra.pro_sequence_number = p_pro_sequence_number AND
3777: pra.logical_delete_dt IS NULL;
4091:
4092:
4093: PROCEDURE prgpl_create_outcomes (
4094: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
4095: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4096: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4097: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
4098: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
4099: p_rule_check_dt DATE)
4092:
4093: PROCEDURE prgpl_create_outcomes (
4094: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
4095: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4096: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4097: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
4098: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
4099: p_rule_check_dt DATE)
4100: IS
4093: PROCEDURE prgpl_create_outcomes (
4094: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
4095: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4096: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4097: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
4098: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
4099: p_rule_check_dt DATE)
4100: IS
4101: BEGIN -- prgpl_create_outcomes
4094: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
4095: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4096: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4097: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
4098: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
4099: p_rule_check_dt DATE)
4100: IS
4101: BEGIN -- prgpl_create_outcomes
4102: DECLARE
4303: END prgpl_create_outcomes;
4304:
4305:
4306: FUNCTION prgpl_rmv_stdnt_prg_outcomes (
4307: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4308: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4309: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
4310: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE)
4311: RETURN BOOLEAN
4304:
4305:
4306: FUNCTION prgpl_rmv_stdnt_prg_outcomes (
4307: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4308: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4309: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
4310: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE)
4311: RETURN BOOLEAN
4312: IS
4305:
4306: FUNCTION prgpl_rmv_stdnt_prg_outcomes (
4307: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4308: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4309: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
4310: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE)
4311: RETURN BOOLEAN
4312: IS
4313: BEGIN -- prgpl_rmv_stdnt_prg_outcomes
4306: FUNCTION prgpl_rmv_stdnt_prg_outcomes (
4307: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4308: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4309: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
4310: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE)
4311: RETURN BOOLEAN
4312: IS
4313: BEGIN -- prgpl_rmv_stdnt_prg_outcomes
4314: DECLARE
4372: spu.course_cd = p_course_cd AND
4373: spu.spo_sequence_number = cp_sequence_number
4374: FOR UPDATE NOWAIT;
4375: CURSOR c_pra (
4376: cp_sequence_number IGS_PR_RU_APPL.spo_sequence_number%TYPE) IS
4377: SELECT pra.progression_rule_cat,
4378: pra.sequence_number, pra.ROWID
4379: FROM IGS_PR_RU_APPL pra
4380: WHERE pra.spo_person_id = p_person_id AND
4375: CURSOR c_pra (
4376: cp_sequence_number IGS_PR_RU_APPL.spo_sequence_number%TYPE) IS
4377: SELECT pra.progression_rule_cat,
4378: pra.sequence_number, pra.ROWID
4379: FROM IGS_PR_RU_APPL pra
4380: WHERE pra.spo_person_id = p_person_id AND
4381: pra.spo_course_cd = p_course_cd AND
4382: pra.spo_sequence_number = cp_sequence_number AND
4383: pra.s_relation_type = cst_spo
4382: pra.spo_sequence_number = cp_sequence_number AND
4383: pra.s_relation_type = cst_spo
4384: FOR UPDATE NOWAIT;
4385: CURSOR c_prct (
4386: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4387: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE) IS
4388: SELECT prct.ROWID
4389: FROM IGS_PR_RU_CA_TYPE prct
4390: WHERE prct.progression_rule_cat = cp_progression_rule_cat AND
4383: pra.s_relation_type = cst_spo
4384: FOR UPDATE NOWAIT;
4385: CURSOR c_prct (
4386: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4387: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE) IS
4388: SELECT prct.ROWID
4389: FROM IGS_PR_RU_CA_TYPE prct
4390: WHERE prct.progression_rule_cat = cp_progression_rule_cat AND
4391: prct.pra_sequence_number = cp_pra_sequence_number
4390: WHERE prct.progression_rule_cat = cp_progression_rule_cat AND
4391: prct.pra_sequence_number = cp_pra_sequence_number
4392: FOR UPDATE NOWAIT;
4393: CURSOR c_pro (
4394: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4395: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE) IS
4396: SELECT pro.*
4397: FROM IGS_PR_RU_OU pro
4398: WHERE pro.progression_rule_cat = cp_progression_rule_cat AND
4391: prct.pra_sequence_number = cp_pra_sequence_number
4392: FOR UPDATE NOWAIT;
4393: CURSOR c_pro (
4394: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4395: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE) IS
4396: SELECT pro.*
4397: FROM IGS_PR_RU_OU pro
4398: WHERE pro.progression_rule_cat = cp_progression_rule_cat AND
4399: pro.pra_sequence_number = cp_pra_sequence_number
4398: WHERE pro.progression_rule_cat = cp_progression_rule_cat AND
4399: pro.pra_sequence_number = cp_pra_sequence_number
4400: FOR UPDATE NOWAIT;
4401: CURSOR c_poc (
4402: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4403: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4404: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4405: SELECT poc.progression_rule_cat, poc.ROWID
4406: FROM IGS_PR_OU_PS poc
4399: pro.pra_sequence_number = cp_pra_sequence_number
4400: FOR UPDATE NOWAIT;
4401: CURSOR c_poc (
4402: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4403: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4404: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4405: SELECT poc.progression_rule_cat, poc.ROWID
4406: FROM IGS_PR_OU_PS poc
4407: WHERE poc.progression_rule_cat = cp_progression_rule_cat AND
4410: FOR UPDATE NOWAIT;
4411:
4412:
4413: CURSOR c_pous (
4414: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4415: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4416: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4417: SELECT pous.ROWID
4418: FROM IGS_PR_OU_UNIT_SET pous
4411:
4412:
4413: CURSOR c_pous (
4414: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4415: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4416: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4417: SELECT pous.ROWID
4418: FROM IGS_PR_OU_UNIT_SET pous
4419: WHERE pous.progression_rule_cat = cp_progression_rule_cat AND
4421: pous.pro_sequence_number = cp_pro_sequence_number
4422: FOR UPDATE NOWAIT;
4423:
4424: CURSOR c_poa (
4425: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4426: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4427: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4428: SELECT poa.ROWID
4429: FROM IGS_PR_OU_AWD poa
4422: FOR UPDATE NOWAIT;
4423:
4424: CURSOR c_poa (
4425: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4426: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4427: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4428: SELECT poa.ROWID
4429: FROM IGS_PR_OU_AWD poa
4430: WHERE poa.progression_rule_cat = cp_progression_rule_cat AND
4432: poa.pro_sequence_number = cp_pro_sequence_number
4433: FOR UPDATE NOWAIT;
4434:
4435: CURSOR c_popu (
4436: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4437: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4438: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4439: SELECT popu.ROWID
4440: FROM IGS_PR_OU_UNIT popu
4433: FOR UPDATE NOWAIT;
4434:
4435: CURSOR c_popu (
4436: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4437: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4438: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4439: SELECT popu.ROWID
4440: FROM IGS_PR_OU_UNIT popu
4441: WHERE popu.progression_rule_cat = cp_progression_rule_cat AND
4453: sfnd.spo_sequence_number = cp_spo_sequence_number
4454: FOR UPDATE NOWAIT;
4455:
4456: CURSOR c_pfnd (
4457: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4458: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4459: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4460: SELECT pfnd.ROWID
4461: FROM IGS_PR_OU_FND pfnd
4454: FOR UPDATE NOWAIT;
4455:
4456: CURSOR c_pfnd (
4457: cp_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
4458: cp_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
4459: cp_pro_sequence_number IGS_PR_RU_OU.sequence_number%TYPE) IS
4460: SELECT pfnd.ROWID
4461: FROM IGS_PR_OU_FND pfnd
4462: WHERE pfnd.progression_rule_cat = cp_progression_rule_cat AND
4571: --
4572: -- End of new code added as per the FA110 PR Enh. Bug# 2658550.
4573: --
4574:
4575: -- Delete from IGS_PR_RU_APPL
4576: BEGIN
4577: FOR v_pra_rec IN c_pra (v_spo_rec.sequence_number) LOOP
4578: FOR v_prct_rec IN c_prct (
4579: v_pra_rec.progression_rule_cat,
4660: X_LOGICAL_DELETE_DT => FND_DATE.DATE_TO_CANONICAL(SYSDATE)
4661: );
4662: END LOOP;
4663:
4664: IGS_PR_RU_APPL_PKG.DELETE_ROW(v_pra_rec.ROWID);
4665: END LOOP;
4666: EXCEPTION
4667: WHEN e_record_locked THEN
4668: IF c_prct%ISOPEN THEN
5006: p_person_id IGS_EN_STDNT_PS_ATT.person_id%TYPE,
5007: p_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5008: p_prg_cal_type IGS_CA_INST.cal_type%TYPE,
5009: p_prg_sequence_number IGS_CA_INST.sequence_number%TYPE,
5010: p_min_cp IGS_PR_RU_APPL.min_cp%TYPE,
5011: p_max_cp IGS_PR_RU_APPL.max_cp%TYPE)
5012: RETURN VARCHAR2 AS
5013: BEGIN -- prgpl_match_cp_range
5014: -- If the sprav.min_cp and sprav.max_cp is set,
5007: p_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5008: p_prg_cal_type IGS_CA_INST.cal_type%TYPE,
5009: p_prg_sequence_number IGS_CA_INST.sequence_number%TYPE,
5010: p_min_cp IGS_PR_RU_APPL.min_cp%TYPE,
5011: p_max_cp IGS_PR_RU_APPL.max_cp%TYPE)
5012: RETURN VARCHAR2 AS
5013: BEGIN -- prgpl_match_cp_range
5014: -- If the sprav.min_cp and sprav.max_cp is set,
5015: -- then the student have an earned credit point figure within the
5109: ---------------------------------------------------------------------------------
5110:
5111: FUNCTION prgpl_sca_apply_rules (
5112: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
5113: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5114: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
5115: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
5116: p_rul_sequence_number IGS_PR_RU_APPL.rul_sequence_number%TYPE,
5117: p_attendance_type IGS_PR_RU_APPL.attendance_type%TYPE,
5110:
5111: FUNCTION prgpl_sca_apply_rules (
5112: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
5113: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5114: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
5115: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
5116: p_rul_sequence_number IGS_PR_RU_APPL.rul_sequence_number%TYPE,
5117: p_attendance_type IGS_PR_RU_APPL.attendance_type%TYPE,
5118: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
5111: FUNCTION prgpl_sca_apply_rules (
5112: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
5113: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5114: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
5115: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
5116: p_rul_sequence_number IGS_PR_RU_APPL.rul_sequence_number%TYPE,
5117: p_attendance_type IGS_PR_RU_APPL.attendance_type%TYPE,
5118: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
5119: p_igs_pr_class_std_id IGS_PR_CLASS_STD.IGS_PR_CLASS_STD_ID%TYPE,
5112: p_sca_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
5113: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5114: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
5115: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
5116: p_rul_sequence_number IGS_PR_RU_APPL.rul_sequence_number%TYPE,
5117: p_attendance_type IGS_PR_RU_APPL.attendance_type%TYPE,
5118: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
5119: p_igs_pr_class_std_id IGS_PR_CLASS_STD.IGS_PR_CLASS_STD_ID%TYPE,
5120: p_min_cp IGS_PR_RU_APPL.min_cp%TYPE,
5113: p_progression_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5114: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
5115: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
5116: p_rul_sequence_number IGS_PR_RU_APPL.rul_sequence_number%TYPE,
5117: p_attendance_type IGS_PR_RU_APPL.attendance_type%TYPE,
5118: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
5119: p_igs_pr_class_std_id IGS_PR_CLASS_STD.IGS_PR_CLASS_STD_ID%TYPE,
5120: p_min_cp IGS_PR_RU_APPL.min_cp%TYPE,
5121: p_max_cp IGS_PR_RU_APPL.max_cp%TYPE
5114: p_pra_sequence_number IGS_PR_RU_APPL.sequence_number%TYPE,
5115: p_progression_rule_cd IGS_PR_RU_APPL.progression_rule_cd%TYPE,
5116: p_rul_sequence_number IGS_PR_RU_APPL.rul_sequence_number%TYPE,
5117: p_attendance_type IGS_PR_RU_APPL.attendance_type%TYPE,
5118: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
5119: p_igs_pr_class_std_id IGS_PR_CLASS_STD.IGS_PR_CLASS_STD_ID%TYPE,
5120: p_min_cp IGS_PR_RU_APPL.min_cp%TYPE,
5121: p_max_cp IGS_PR_RU_APPL.max_cp%TYPE
5122: )
5116: p_rul_sequence_number IGS_PR_RU_APPL.rul_sequence_number%TYPE,
5117: p_attendance_type IGS_PR_RU_APPL.attendance_type%TYPE,
5118: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
5119: p_igs_pr_class_std_id IGS_PR_CLASS_STD.IGS_PR_CLASS_STD_ID%TYPE,
5120: p_min_cp IGS_PR_RU_APPL.min_cp%TYPE,
5121: p_max_cp IGS_PR_RU_APPL.max_cp%TYPE
5122: )
5123: RETURN BOOLEAN
5124: IS
5117: p_attendance_type IGS_PR_RU_APPL.attendance_type%TYPE,
5118: p_reference_cd IGS_PR_RU_APPL.reference_cd%TYPE,
5119: p_igs_pr_class_std_id IGS_PR_CLASS_STD.IGS_PR_CLASS_STD_ID%TYPE,
5120: p_min_cp IGS_PR_RU_APPL.min_cp%TYPE,
5121: p_max_cp IGS_PR_RU_APPL.max_cp%TYPE
5122: )
5123: RETURN BOOLEAN
5124: IS
5125: BEGIN -- prgpl_sca_apply_rules
5432: cst_null CONSTANT VARCHAR2(10) := 'NULL';
5433: cst_start CONSTANT VARCHAR2(10) := 'START';
5434: cst_end CONSTANT VARCHAR2(10) := 'END';
5435: v_last_progression_cat VARCHAR2(11);
5436: v_match_relation_type IGS_PR_RU_APPL.s_relation_type%TYPE;
5437: v_process_cat BOOLEAN;
5438: v_still_valid BOOLEAN;
5439: v_dummy VARCHAR2(1);
5440:
5453: );
5454:
5455: CURSOR c_progression_rule_cat(cp_cal_type IGS_CA_INST.cal_type%TYPE) IS
5456: SELECT pra.progression_rule_cat, pra.s_relation_type
5457: FROM igs_pr_ru_appl pra, igs_pr_ru_ca_type_v prctv
5458: WHERE pra.s_relation_type IN (cst_sca, cst_crv, cst_ou, cst_cty)
5459: AND pra.progression_rule_cat = prctv.progression_rule_cat
5460: AND pra.sequence_number = prctv.pra_sequence_number
5461: AND prctv.prg_cal_type = cp_cal_type
5468: cst_cty, 4);
5469:
5470:
5471:
5472: CURSOR c_pra_cst_sca (cp_prg_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5473: cp_person_id IGS_EN_STDNT_PS_ATT.person_id%TYPE,
5474: cp_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5475: cp_cal_type IGS_CA_INST.cal_type%TYPE) IS
5476: SELECT pra.progression_rule_cat, pra.sequence_number, pra.s_relation_type,
5480: prctv.start_effective_period, prctv.num_of_applications,
5481: pra.sca_person_id, pra.sca_course_cd, pra.crv_course_cd,
5482: pra.crv_version_number, pra.ou_org_unit_cd, pra.ou_start_dt,
5483: pra.course_type
5484: FROM igs_pr_ru_appl pra, igs_pr_ru_ca_type_v prctv
5485: WHERE pra.s_relation_type = cst_sca
5486: AND pra.progression_rule_cat = cp_prg_rule_cat
5487: AND pra.logical_delete_dt IS NULL
5488: AND pra.sca_person_id = cp_person_id
5490: AND pra.progression_rule_cat = prctv.progression_rule_cat
5491: AND pra.sequence_number = prctv.pra_sequence_number
5492: AND prctv.prg_cal_type = cp_cal_type;
5493:
5494: CURSOR c_pra_cst_crv (cp_prg_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5495: cp_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5496: cp_version_number IGS_PR_RU_APPL.crv_version_number%TYPE,
5497: cp_cal_type IGS_CA_INST.cal_type%TYPE) IS
5498: SELECT pra.progression_rule_cat, pra.sequence_number, pra.s_relation_type,
5492: AND prctv.prg_cal_type = cp_cal_type;
5493:
5494: CURSOR c_pra_cst_crv (cp_prg_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5495: cp_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5496: cp_version_number IGS_PR_RU_APPL.crv_version_number%TYPE,
5497: cp_cal_type IGS_CA_INST.cal_type%TYPE) IS
5498: SELECT pra.progression_rule_cat, pra.sequence_number, pra.s_relation_type,
5499: pra.progression_rule_cd, pra.rul_sequence_number, pra.attendance_type,
5500: pra.reference_cd, pra.igs_pr_class_std_id, pra.min_cp, pra.max_cp,
5502: prctv.start_effective_period, prctv.num_of_applications,
5503: pra.sca_person_id, pra.sca_course_cd, pra.crv_course_cd,
5504: pra.crv_version_number, pra.ou_org_unit_cd, pra.ou_start_dt,
5505: pra.course_type
5506: FROM igs_pr_ru_appl pra, igs_pr_ru_ca_type_v prctv
5507: WHERE pra.s_relation_type = cst_crv
5508: AND pra.progression_rule_cat = cp_prg_rule_cat
5509: AND pra.logical_delete_dt IS NULL
5510: AND pra.crv_course_cd = cp_course_cd
5512: AND pra.progression_rule_cat = prctv.progression_rule_cat
5513: AND pra.sequence_number = prctv.pra_sequence_number
5514: AND prctv.prg_cal_type = cp_cal_type;
5515:
5516: CURSOR c_pra_cst_ou (cp_prg_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5517: cp_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5518: cp_version_number IGS_PR_RU_APPL.crv_version_number%TYPE,
5519: cp_cal_type IGS_CA_INST.cal_type%TYPE) IS
5520: SELECT pra.progression_rule_cat, pra.sequence_number, pra.s_relation_type,
5514: AND prctv.prg_cal_type = cp_cal_type;
5515:
5516: CURSOR c_pra_cst_ou (cp_prg_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5517: cp_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5518: cp_version_number IGS_PR_RU_APPL.crv_version_number%TYPE,
5519: cp_cal_type IGS_CA_INST.cal_type%TYPE) IS
5520: SELECT pra.progression_rule_cat, pra.sequence_number, pra.s_relation_type,
5521: pra.progression_rule_cd, pra.rul_sequence_number, pra.attendance_type,
5522: pra.reference_cd, pra.igs_pr_class_std_id, pra.min_cp, pra.max_cp,
5524: prctv.start_effective_period, prctv.num_of_applications,
5525: pra.sca_person_id, pra.sca_course_cd, pra.crv_course_cd,
5526: pra.crv_version_number, pra.ou_org_unit_cd, pra.ou_start_dt,
5527: pra.course_type
5528: FROM igs_pr_ru_appl pra, igs_pr_ru_ca_type_v prctv
5529: WHERE pra.s_relation_type = cst_ou
5530: AND pra.progression_rule_cat = cp_prg_rule_cat
5531: AND pra.logical_delete_dt IS NULL
5532: AND igs_pr_gen_001.prgp_get_crv_cmt (
5543: WHERE cow.course_cd = cp_course_cd
5544: AND cow.version_number = cp_version_number
5545: AND cow.percentage = 100)
5546: OR NOT EXISTS ( SELECT 'x'
5547: FROM igs_pr_ru_appl pra1,
5548: igs_pr_ru_ca_type_v prctv1
5549: WHERE pra1.s_relation_type = 'OU'
5550: AND pra1.logical_delete_dt IS NULL
5551: AND pra1.progression_rule_cat =
5580: ) = 'Y'
5581: ))
5582: );
5583:
5584: CURSOR c_pra_cst_cty (cp_prg_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5585: cp_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5586: cp_version_number IGS_PR_RU_APPL.crv_version_number%TYPE,
5587: cp_cal_type IGS_CA_INST.cal_type%TYPE) IS
5588: SELECT pra.progression_rule_cat, pra.sequence_number, pra.s_relation_type,
5582: );
5583:
5584: CURSOR c_pra_cst_cty (cp_prg_rule_cat IGS_PR_RU_APPL.progression_rule_cat%TYPE,
5585: cp_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE,
5586: cp_version_number IGS_PR_RU_APPL.crv_version_number%TYPE,
5587: cp_cal_type IGS_CA_INST.cal_type%TYPE) IS
5588: SELECT pra.progression_rule_cat, pra.sequence_number, pra.s_relation_type,
5589: pra.progression_rule_cd, pra.rul_sequence_number, pra.attendance_type,
5590: pra.reference_cd, pra.igs_pr_class_std_id, pra.min_cp, pra.max_cp,
5592: prctv.start_effective_period, prctv.num_of_applications,
5593: pra.sca_person_id, pra.sca_course_cd, pra.crv_course_cd,
5594: pra.crv_version_number, pra.ou_org_unit_cd, pra.ou_start_dt,
5595: pra.course_type
5596: FROM igs_pr_ru_appl pra, igs_pr_ru_ca_type_v prctv, igs_ps_ver crv
5597: WHERE pra.s_relation_type = cst_cty
5598: AND pra.progression_rule_cat = cp_prg_rule_cat
5599: AND pra.logical_delete_dt IS NULL
5600: AND crv.course_type = pra.course_type