1: PACKAGE BODY IGS_EN_CAREER_MODEL AS
2: /* $Header: IGSEN86B.pls 120.0 2005/06/02 00:47:32 appldev noship $ */
3: -- sarakshi 16-Nov-2004 Enh#4000939, added column FUTURE_DATED_TRANS_FLAG in the update row call of IGS_EN_STDNT_PS_ATT_PKG in the procedure SCA_TBH_AFTER_DML
4: -- svenkata 7-JAN-2002 Bug No. 2172405 Standard Flex Field columns have been added
5: -- to table handler procedure calls as part of CCR - ENCR022.
6: -- smaddali 25-feb-2002 Bug# 2233348 ENCR018 ccr. modified procedure
7: -- before_tbh because a utp case failed in IGSEN022
23: CURSOR c_sca IS
24: SELECT sca.course_attempt_status,
25: sca.primary_program_type,
26: sca.primary_prog_type_source
27: FROM IGS_EN_STDNT_PS_ATT sca
28: WHERE sca.person_id = p_person_id
29: AND sca.course_cd = p_course_cd;
30:
31:
30:
31:
32: CURSOR c_pri_course_cd is
33: SELECT sca.course_attempt_status
34: FROM IGS_EN_STDNT_PS_ATT sca,
35: IGS_PS_VER crv
36: WHERE sca.person_id = p_person_id
37: AND crv.course_type = p_course_type
38: AND sca.course_cd = crv.course_Cd
43:
44:
45: v_pri_course_cd_rec c_pri_course_cd%ROWTYPE;
46:
47: v_course_attempt_status IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
48: v_primary_program_type IGS_EN_STDNT_PS_ATT.primary_program_type%TYPE;
49: v_primary_prog_type_source IGS_EN_STDNT_PS_ATT.primary_prog_type_source%TYPE;
50:
51: cst_deleted CONSTANT VARCHAR2(10) := 'DELETED';
44:
45: v_pri_course_cd_rec c_pri_course_cd%ROWTYPE;
46:
47: v_course_attempt_status IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
48: v_primary_program_type IGS_EN_STDNT_PS_ATT.primary_program_type%TYPE;
49: v_primary_prog_type_source IGS_EN_STDNT_PS_ATT.primary_prog_type_source%TYPE;
50:
51: cst_deleted CONSTANT VARCHAR2(10) := 'DELETED';
52: cst_unconfirm CONSTANT VARCHAR2(10) := 'UNCONFIRM';
45: v_pri_course_cd_rec c_pri_course_cd%ROWTYPE;
46:
47: v_course_attempt_status IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
48: v_primary_program_type IGS_EN_STDNT_PS_ATT.primary_program_type%TYPE;
49: v_primary_prog_type_source IGS_EN_STDNT_PS_ATT.primary_prog_type_source%TYPE;
50:
51: cst_deleted CONSTANT VARCHAR2(10) := 'DELETED';
52: cst_unconfirm CONSTANT VARCHAR2(10) := 'UNCONFIRM';
53: cst_discontin CONSTANT VARCHAR2(10) := 'DISCONTIN';
164: -------------------------------------------------------------------------------------------
165:
166:
167: v_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE;
168: v_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
169: v_course_cd_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
170: v_exst_primary_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
171: v_exst_key_program IGS_EN_STDNT_PS_ATT_ALL.KEY_PROGRAM%TYPE ;
172: v_min_sec_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
167: v_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE;
168: v_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
169: v_course_cd_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
170: v_exst_primary_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
171: v_exst_key_program IGS_EN_STDNT_PS_ATT_ALL.KEY_PROGRAM%TYPE ;
172: v_min_sec_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
173: cst_system CONSTANT VARCHAR2(10) := 'SYSTEM';
174: cst_primary CONSTANT VARCHAR2(10) := 'PRIMARY';
175: cst_secondary CONSTANT VARCHAR2(10) := 'SECONDARY';
192: AND crv.course_type = pst.course_type;
193: */
194: CURSOR c_exst_primary_rank (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE) IS
195: SELECT PRIMARY_PROGRAM_RANK , key_program
196: FROM igs_en_stdnt_ps_att sca,
197: igs_ps_ver crv
198: WHERE crv.course_type = cp_course_type
199: AND sca.course_cd = crv.course_cd
200: AND sca.version_number = crv.version_number
204:
205:
206: CURSOR c_key_prog_exists IS
207: SELECT 'X'
208: FROM IGS_EN_STDNT_PS_ATT
209: WHERE person_id = p_person_id
210: AND key_program = 'Y';
211: /*
212: --Cursor gets the total number of courses attempted by student for a given course type.
211: /*
212: --Cursor gets the total number of courses attempted by student for a given course type.
213: CURSOR c_prg_count(cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE) IS
214: SELECT count(1)
215: FROM IGS_EN_STDNT_PS_ATT sca,
216: IGS_PS_VER crv
217: WHERE sca.person_id = p_person_id
218: AND crv.course_type = cp_course_type
219: AND sca.course_cd = crv.course_cd
221: AND course_attempt_status IN ('ENROLLED','INACTIVE','LAPSED','INTERMIT');
222: */
223:
224: l_key_prog_exists VARCHAR2(1) ;
225: v_exst_key_prog igs_en_stdnt_ps_att_all.key_program%TYPE;
226: l_new_course_attempt_status igs_en_stdnt_ps_att.course_attempt_status%TYPE;
227: BEGIN
228:
229: l_key_prog_exists := NULL;
222: */
223:
224: l_key_prog_exists VARCHAR2(1) ;
225: v_exst_key_prog igs_en_stdnt_ps_att_all.key_program%TYPE;
226: l_new_course_attempt_status igs_en_stdnt_ps_att.course_attempt_status%TYPE;
227: BEGIN
228:
229: l_key_prog_exists := NULL;
230: -- Initializing the first active program attempt as the Key Program
354: ) AS
355:
356: v_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE;
357: v_sec_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
358: v_test_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
359: v_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
360: v_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
361: cst_primary CONSTANT VARCHAR2(10) := 'PRIMARY';
362: cst_secondary CONSTANT VARCHAR2(10) := 'SECONDARY';
355:
356: v_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE;
357: v_sec_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
358: v_test_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
359: v_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
360: v_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
361: cst_primary CONSTANT VARCHAR2(10) := 'PRIMARY';
362: cst_secondary CONSTANT VARCHAR2(10) := 'SECONDARY';
363: cst_system CONSTANT VARCHAR2(10) := 'SYSTEM';
356: v_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE;
357: v_sec_rank IGS_PS_VER.PRIMARY_PROGRAM_RANK%TYPE;
358: v_test_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
359: v_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
360: v_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
361: cst_primary CONSTANT VARCHAR2(10) := 'PRIMARY';
362: cst_secondary CONSTANT VARCHAR2(10) := 'SECONDARY';
363: cst_system CONSTANT VARCHAR2(10) := 'SYSTEM';
364: v_update BOOLEAN;
363: cst_system CONSTANT VARCHAR2(10) := 'SYSTEM';
364: v_update BOOLEAN;
365: lv_dummy VARCHAR2(1);
366: -- saving the context record
367: c_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE;
368: c_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
369: c_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE;
370: c_old_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
364: v_update BOOLEAN;
365: lv_dummy VARCHAR2(1);
366: -- saving the context record
367: c_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE;
368: c_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
369: c_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE;
370: c_old_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
372: c_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
365: lv_dummy VARCHAR2(1);
366: -- saving the context record
367: c_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE;
368: c_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
369: c_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE;
370: c_old_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
372: c_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
373: c_old_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
366: -- saving the context record
367: c_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE;
368: c_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
369: c_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE;
370: c_old_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
372: c_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
373: c_old_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
374: c_new_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
367: c_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE;
368: c_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
369: c_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE;
370: c_old_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
372: c_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
373: c_old_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
374: c_new_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
375: c_old_key_program IGS_EN_STDNT_PS_ATT_ALL.key_program%TYPE;
368: c_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE;
369: c_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE;
370: c_old_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
372: c_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
373: c_old_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
374: c_new_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
375: c_old_key_program IGS_EN_STDNT_PS_ATT_ALL.key_program%TYPE;
376:
369: c_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE;
370: c_old_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
372: c_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
373: c_old_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
374: c_new_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
375: c_old_key_program IGS_EN_STDNT_PS_ATT_ALL.key_program%TYPE;
376:
377: CURSOR c_course_type(cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE,
370: c_old_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
372: c_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
373: c_old_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
374: c_new_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
375: c_old_key_program IGS_EN_STDNT_PS_ATT_ALL.key_program%TYPE;
376:
377: CURSOR c_course_type(cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE,
378: cp_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE) IS
371: c_new_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
372: c_primary_prog_type_source IGS_EN_STDNT_PS_ATT_ALL.primary_prog_type_source%TYPE;
373: c_old_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
374: c_new_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
375: c_old_key_program IGS_EN_STDNT_PS_ATT_ALL.key_program%TYPE;
376:
377: CURSOR c_course_type(cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE,
378: cp_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE) IS
379: SELECT crv.course_type
373: c_old_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
374: c_new_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
375: c_old_key_program IGS_EN_STDNT_PS_ATT_ALL.key_program%TYPE;
376:
377: CURSOR c_course_type(cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE,
378: cp_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE) IS
379: SELECT crv.course_type
380: FROM igs_ps_ver crv
381: WHERE course_cd = cp_course_cd
374: c_new_pri_prog_type IGS_EN_STDNT_PS_ATT_ALL.primary_program_type%TYPE;
375: c_old_key_program IGS_EN_STDNT_PS_ATT_ALL.key_program%TYPE;
376:
377: CURSOR c_course_type(cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE,
378: cp_version_number IGS_EN_STDNT_PS_ATT_ALL.version_number%TYPE) IS
379: SELECT crv.course_type
380: FROM igs_ps_ver crv
381: WHERE course_cd = cp_course_cd
382: and version_number = cp_version_number;
381: WHERE course_cd = cp_course_cd
382: and version_number = cp_version_number;
383:
384: CURSOR c_sca_upd (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE ,
385: cp_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE ,
386: cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE) IS
387: SELECT sca.*
388: FROM igs_en_stdnt_ps_att sca,
389: igs_ps_ver crv
382: and version_number = cp_version_number;
383:
384: CURSOR c_sca_upd (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE ,
385: cp_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE ,
386: cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE) IS
387: SELECT sca.*
388: FROM igs_en_stdnt_ps_att sca,
389: igs_ps_ver crv
390: WHERE crv.course_type = cp_course_type
384: CURSOR c_sca_upd (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE ,
385: cp_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE ,
386: cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE) IS
387: SELECT sca.*
388: FROM igs_en_stdnt_ps_att sca,
389: igs_ps_ver crv
390: WHERE crv.course_type = cp_course_type
391: and sca.course_cd = crv.course_cd
392: and sca.version_number = crv.version_number
393: and sca.person_id = cp_person_id
394: and sca.course_cd <> cp_course_cd;
395:
396: CURSOR c_min_ranked_sec_sca (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE ,
397: cp_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE ,
398: cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE ) IS
399: SELECT crv.PRIMARY_PROGRAM_RANK, sca.course_Cd
400: FROM igs_en_stdnt_ps_att sca,
401: igs_ps_ver crv
394: and sca.course_cd <> cp_course_cd;
395:
396: CURSOR c_min_ranked_sec_sca (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE ,
397: cp_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE ,
398: cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE ) IS
399: SELECT crv.PRIMARY_PROGRAM_RANK, sca.course_Cd
400: FROM igs_en_stdnt_ps_att sca,
401: igs_ps_ver crv
402: WHERE crv.course_type = cp_course_type
396: CURSOR c_min_ranked_sec_sca (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE ,
397: cp_person_id IGS_EN_STDNT_PS_ATT_ALL.person_id%TYPE ,
398: cp_course_cd IGS_EN_STDNT_PS_ATT_ALL.course_cd%TYPE ) IS
399: SELECT crv.PRIMARY_PROGRAM_RANK, sca.course_Cd
400: FROM igs_en_stdnt_ps_att sca,
401: igs_ps_ver crv
402: WHERE crv.course_type = cp_course_type
403: and sca.course_cd = crv.course_cd
404: and sca.version_number = crv.version_number
411: --Following cursor get's key program for other career
412: --Added by kkillams
413: CURSOR c_ext_oth_prg_key (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE) IS
414: SELECT 'X'
415: FROM igs_en_stdnt_ps_att sca,
416: igs_ps_ver crv
417: WHERE crv.course_type <> cp_course_type
418: AND sca.course_cd = crv.course_cd
419: AND sca.version_number = crv.version_number
421: AND sca.primary_program_type = cst_primary
422: AND sca.key_program = 'Y';
423:
424: --Following cursor get's any primary program for this career other than current program
425: CURSOR c_ext_oth_primprg (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE,cp_course_cd igs_en_stdnt_ps_att.course_cd%TYPE) IS
426: SELECT 'X'
427: FROM igs_en_stdnt_ps_att sca,
428: igs_ps_ver crv
429: WHERE crv.course_type = cp_course_type
423:
424: --Following cursor get's any primary program for this career other than current program
425: CURSOR c_ext_oth_primprg (cp_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE,cp_course_cd igs_en_stdnt_ps_att.course_cd%TYPE) IS
426: SELECT 'X'
427: FROM igs_en_stdnt_ps_att sca,
428: igs_ps_ver crv
429: WHERE crv.course_type = cp_course_type
430: AND sca.course_cd = crv.course_cd
431: AND sca.version_number = crv.version_number
454: OPEN c_course_type(c_course_cd, c_version_number ) ;
455: FETCH c_course_type INTO v_course_type;
456: CLOSE c_course_type;
457:
458: --donot allow calls to before dml and after dml of this package from igs_en_stdnt_ps_att_pkg
459: -- this is to prevent recursion of the update row call below
460: IGS_EN_STDNT_PS_ATT_PKG.skip_before_after_dml := TRUE ;
461: -- update all the records other than the current record if needed
462: FOR v_sca_upd_rec IN c_sca_upd(v_course_type ,c_person_id, c_course_cd)
456: CLOSE c_course_type;
457:
458: --donot allow calls to before dml and after dml of this package from igs_en_stdnt_ps_att_pkg
459: -- this is to prevent recursion of the update row call below
460: IGS_EN_STDNT_PS_ATT_PKG.skip_before_after_dml := TRUE ;
461: -- update all the records other than the current record if needed
462: FOR v_sca_upd_rec IN c_sca_upd(v_course_type ,c_person_id, c_course_cd)
463: LOOP
464:
570: */
571:
572: IF v_update THEN -- update the record only if some thing has changed.
573:
574: IGS_EN_STDNT_PS_ATT_PKG.UPDATE_ROW(
575: X_ROWID => v_sca_upd_rec.row_id,
576: X_PERSON_ID => v_sca_upd_rec.PERSON_ID,
577: X_COURSE_CD => v_sca_upd_rec.COURSE_CD,
578: X_ADVANCED_STANDING_IND => v_sca_upd_rec.ADVANCED_STANDING_IND,
651: END IF;
652:
653: END LOOP;
654:
655: --allow calls before dml and after dml to this package from igs_en_stdnt_ps_att_pkg to fire
656: IGS_EN_STDNT_PS_ATT_PKG.skip_before_after_dml := FALSE ;
657:
658: END SCA_TBH_AFTER_DML;
659:
652:
653: END LOOP;
654:
655: --allow calls before dml and after dml to this package from igs_en_stdnt_ps_att_pkg to fire
656: IGS_EN_STDNT_PS_ATT_PKG.skip_before_after_dml := FALSE ;
657:
658: END SCA_TBH_AFTER_DML;
659:
660:
669: v_confirmed_count NUMBER;
670:
671: CURSOR c_primary_count IS
672: SELECT count(primary_program_type)
673: FROM IGS_EN_STDNT_PS_ATT sca,
674: IGS_PS_VER crv
675: WHERE crv.course_type = p_course_type AND
676: sca.course_cd = crv.course_cd AND
677: sca.version_number = crv.version_number AND
679: sca.primary_program_type = 'PRIMARY';
680:
681: CURSOR c_confirmed_sca IS
682: select count(student_confirmed_ind)
683: from IGS_EN_STDNT_PS_ATT sca, igs_ps_ver crv
684: where crv.course_type = p_course_type and
685: sca.course_cd = crv.course_cd and
686: sca.version_number = crv.version_number and
687: sca.person_id = p_person_id and