1: PACKAGE BODY Igs_En_Stdnt_Ps_Att_Pkg AS
2: /* $Header: IGSEI24B.pls 120.11 2006/06/29 09:58:09 shimitta ship $ */
3: l_rowid VARCHAR2(25);
4: old_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
5: new_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
1: PACKAGE BODY Igs_En_Stdnt_Ps_Att_Pkg AS
2: /* $Header: IGSEI24B.pls 120.11 2006/06/29 09:58:09 shimitta ship $ */
3: l_rowid VARCHAR2(25);
4: old_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
5: new_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
6:
7: TYPE g_prim_prg_record_type IS RECORD(career igs_ps_ver.course_type%TYPE,program_cd igs_ps_ver.course_cd%TYPE);
8: TYPE g_prim_prg_rec_table_type IS TABLE OF g_prim_prg_record_type INDEX BY BINARY_INTEGER;
1: PACKAGE BODY Igs_En_Stdnt_Ps_Att_Pkg AS
2: /* $Header: IGSEI24B.pls 120.11 2006/06/29 09:58:09 shimitta ship $ */
3: l_rowid VARCHAR2(25);
4: old_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
5: new_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
6:
7: TYPE g_prim_prg_record_type IS RECORD(career igs_ps_ver.course_type%TYPE,program_cd igs_ps_ver.course_cd%TYPE);
8: TYPE g_prim_prg_rec_table_type IS TABLE OF g_prim_prg_record_type INDEX BY BINARY_INTEGER;
9: g_primary_prg_rec g_prim_prg_rec_table_type;
102: x_future_dated_trans_flag In VARCHAR2
103: ) AS
104: CURSOR cur_old_ref_values IS
105: SELECT *
106: FROM IGS_EN_STDNT_PS_ATT_ALL
107: WHERE ROWID = x_rowid;
108: BEGIN
109:
110: l_rowid := x_rowid;
399:
400: -- Trigger description :-
401: -- "OSS_TST".trg_sca_br_iu
402: -- BEFORE INSERT OR UPDATE
403: -- ON IGS_EN_STDNT_PS_ATT
404: -- FOR EACH ROW
405:
406: PROCEDURE BeforeRowInsertUpdate1(
407: p_inserting IN BOOLEAN,
408: p_updating IN BOOLEAN,
409: p_deleting IN BOOLEAN
410: ) AS
411: v_message_name VARCHAR2(30);
412: v_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
413: l_last_date_of_attendance IGS_EN_STDNT_PS_ATT_ALL.last_date_of_attendance%TYPE;
414: l_dropped_by IGS_EN_STDNT_PS_ATT_ALL.dropped_by%TYPE;
415: v_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE;
416:
409: p_deleting IN BOOLEAN
410: ) AS
411: v_message_name VARCHAR2(30);
412: v_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
413: l_last_date_of_attendance IGS_EN_STDNT_PS_ATT_ALL.last_date_of_attendance%TYPE;
414: l_dropped_by IGS_EN_STDNT_PS_ATT_ALL.dropped_by%TYPE;
415: v_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE;
416:
417: CURSOR c_course_type IS
410: ) AS
411: v_message_name VARCHAR2(30);
412: v_course_attempt_status IGS_EN_STDNT_PS_ATT_ALL.course_attempt_status%TYPE;
413: l_last_date_of_attendance IGS_EN_STDNT_PS_ATT_ALL.last_date_of_attendance%TYPE;
414: l_dropped_by IGS_EN_STDNT_PS_ATT_ALL.dropped_by%TYPE;
415: v_course_type IGS_PS_TYPE.COURSE_TYPE%TYPE;
416:
417: CURSOR c_course_type IS
418: SELECT crv.course_type
422:
423: BEGIN
424:
425: -- If trigger has not been disabled, perform required processing
426: IF igs_as_val_suaap.genp_val_sdtt_sess('IGS_EN_STDNT_PS_ATT_ALL') THEN
427: -- Set course_offering_option key.
428: IF p_inserting THEN
429: IGS_PS_GEN_003.CRSP_GET_COO_KEY (
430: new_references.coo_id,
590: app_exception.raise_exception;
591: END IF;
592: END IF;
593: END IF;
594: -- Validate the IGS_EN_STDNT_PS_ATT_ALL.course_rqrmnts_complete_dt
595: IF p_inserting OR
596: (p_updating AND
597: ((new_references.course_rqrmnts_complete_dt IS NULL AND
598: old_references.course_rqrmnts_complete_dt IS NOT NULL) OR
630: ELSE
631: v_course_attempt_status := new_references.course_attempt_status;
632: END IF;
633:
634: IF (NOT IGS_EN_STDNT_PS_ATT_PKG.skip_before_after_dml) THEN
635: IF NVL(FND_PROFILE.VALUE('CAREER_MODEL_ENABLED'),'N') = 'N'
636: OR new_references.primary_program_type = 'PRIMARY' THEN
637: new_references.course_attempt_status :=
638: IGS_EN_GEN_006.ENRP_GET_SCA_STATUS(
689: -- Created By : jbegum
690: -- Created for : Enhancement Bug #1832130
691: -- When the program attempt status changes from ENROLLED to INACTIVE , INTERMIT , LAPSED , DISCONTIN
692: -- Compute values for fields Last_date_of_attendance and dropped_by before updating the record in the
693: -- table IGS_EN_STDNT_PS_ATT_ALL
694:
695: IF p_updating AND old_references.course_attempt_status= 'ENROLLED'
696: AND new_references.course_attempt_status IN ('INACTIVE','INTERMIT','LAPSED','DISCONTIN') THEN
697:
723: END BeforeRowInsertUpdate1;
724: -- Trigger description :-
725: -- "OSS_TST".trg_sca_br_iud_fin
726: -- BEFORE INSERT OR DELETE OR UPDATE
727: -- ON IGS_EN_STDNT_PS_ATT
728: -- FOR EACH ROW
729: PROCEDURE BeforeRowInsertUpdateDelete2(
730: p_inserting IN BOOLEAN,
731: p_updating IN BOOLEAN,
761:
762: -- Trigger description :-
763: -- "OSS_TST".trg_sca_ar_iu
764: -- AFTER INSERT OR UPDATE
765: -- ON IGS_EN_STDNT_PS_ATT
766: -- FOR EACH ROW
767: PROCEDURE AfterRowInsertUpdate3(
768: p_inserting IN BOOLEAN,
769: p_updating IN BOOLEAN,
770: p_deleting IN BOOLEAN
771: ) AS
772: v_message_name VARCHAR2(30);
773: v_save_row BOOLEAN := FALSE;
774: r_sca IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
775: BEGIN
776: -- mutating table validations / end of processing activities
777: -- If trigger has not been disabled, perform required processing
778: IF igs_as_val_suaap.genp_val_sdtt_sess('IGS_EN_STDNT_PS_ATT_ALL') THEN
774: r_sca IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
775: BEGIN
776: -- mutating table validations / end of processing activities
777: -- If trigger has not been disabled, perform required processing
778: IF igs_as_val_suaap.genp_val_sdtt_sess('IGS_EN_STDNT_PS_ATT_ALL') THEN
779: IF(p_updating AND
780: old_references.student_confirmed_ind = 'N' AND
781: new_references.student_confirmed_ind = 'Y') OR
782: (p_inserting AND
947: cur_pe_typ_inst_rec cur_pe_typ_inst%ROWTYPE;
948:
949: v_message_name VARCHAR2(30);
950: v_save_row BOOLEAN := FALSE;
951: r_sca IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE;
952: l_method igs_pe_typ_instances.CREATE_METHOD%TYPE;
953: l_person_type igs_pe_person_types.PERSON_TYPE_CODE%TYPE;
954: l_rowid VARCHAR2(25);
955: l_TYPE_INSTANCE_ID igs_pe_typ_instances.TYPE_INSTANCE_ID%TYPE;
1307:
1308: -- Trigger description :-
1309: -- "OSS_TST".trg_sca_ar_u_hist
1310: -- AFTER UPDATE
1311: -- ON IGS_EN_STDNT_PS_ATT
1312: -- FOR EACH ROW
1313:
1314: -- Modified By : jbegum
1315: -- Modified for : Enhancement Bug #1832130
1439:
1440: -- Trigger description :-
1441: -- "OSS_TST".trg_sca_as_iu
1442: -- AFTER INSERT OR UPDATE
1443: -- ON IGS_EN_STDNT_PS_ATT
1444: PROCEDURE Check_Constraints(
1445: Column_name IN VARCHAR2,
1446: Column_Value IN VARCHAR2
1447: ) AS
2087: PROCEDURE Check_Child_Existance AS
2088: ------------------------------------------------------------------
2089: --Change History:
2090: --Who When What
2091: --vchappid 25-Apr-2002 Bug#2329407, removed the call to IGS_FI_DSB_DTL_ALC_PKG.GET_FK_IGS_EN_STDNT_PS_ATT
2092: -- as table IGS_FI_DSB_DTL_ALC is obsolete in the current fix
2093: --smadathi 22-Jan-2002 Bug No. 2170429.Removed references to IGS_FI_CRS_AT_F_SPN_PKG.GET_FK_IGS_EN_STDNT_PS_ATT
2094: -- call as part of sponsorship DLD
2095: --pmarada 13-feb-2002 Added IGS_HE_ST_SPA_ALL_PKG.GET_UFK_IGS_EN_ST_PS_ATT_AL for HESA requirment.
2089: --Change History:
2090: --Who When What
2091: --vchappid 25-Apr-2002 Bug#2329407, removed the call to IGS_FI_DSB_DTL_ALC_PKG.GET_FK_IGS_EN_STDNT_PS_ATT
2092: -- as table IGS_FI_DSB_DTL_ALC is obsolete in the current fix
2093: --smadathi 22-Jan-2002 Bug No. 2170429.Removed references to IGS_FI_CRS_AT_F_SPN_PKG.GET_FK_IGS_EN_STDNT_PS_ATT
2094: -- call as part of sponsorship DLD
2095: --pmarada 13-feb-2002 Added IGS_HE_ST_SPA_ALL_PKG.GET_UFK_IGS_EN_ST_PS_ATT_AL for HESA requirment.
2096: --nmankodi 04-Nov-2002 Added for Posting External Results TD
2097: --ckasu 04-Dec-2003 Added IGS_EN_SPA_TERMS_PKG.GET_FK_IGS_EN_STDNT_PS_ATT for Term Records Build
2093: --smadathi 22-Jan-2002 Bug No. 2170429.Removed references to IGS_FI_CRS_AT_F_SPN_PKG.GET_FK_IGS_EN_STDNT_PS_ATT
2094: -- call as part of sponsorship DLD
2095: --pmarada 13-feb-2002 Added IGS_HE_ST_SPA_ALL_PKG.GET_UFK_IGS_EN_ST_PS_ATT_AL for HESA requirment.
2096: --nmankodi 04-Nov-2002 Added for Posting External Results TD
2097: --ckasu 04-Dec-2003 Added IGS_EN_SPA_TERMS_PKG.GET_FK_IGS_EN_STDNT_PS_ATT for Term Records Build
2098: -------------------------------------------------------------------
2099:
2100:
2101: BEGIN
2098: -------------------------------------------------------------------
2099:
2100:
2101: BEGIN
2102: IGS_AD_PS_APPL_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2103: old_references.person_id,
2104: old_references.course_cd
2105: );
2106: IGS_RE_CANDIDATURE_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2102: IGS_AD_PS_APPL_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2103: old_references.person_id,
2104: old_references.course_cd
2105: );
2106: IGS_RE_CANDIDATURE_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2107: old_references.person_id,
2108: old_references.course_cd
2109: );
2110: IGS_FI_FEE_AS_RT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2106: IGS_RE_CANDIDATURE_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2107: old_references.person_id,
2108: old_references.course_cd
2109: );
2110: IGS_FI_FEE_AS_RT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2111: old_references.person_id,
2112: old_references.course_cd
2113: );
2114: IGS_GR_GRADUAND_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2110: IGS_FI_FEE_AS_RT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2111: old_references.person_id,
2112: old_references.course_cd
2113: );
2114: IGS_GR_GRADUAND_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2115: old_references.person_id,
2116: old_references.course_cd
2117: );
2118: IGS_PR_RU_APPL_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2114: IGS_GR_GRADUAND_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2115: old_references.person_id,
2116: old_references.course_cd
2117: );
2118: IGS_PR_RU_APPL_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2119: old_references.person_id,
2120: old_references.course_cd
2121: );
2122: IGS_GR_SPECIAL_AWARD_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2118: IGS_PR_RU_APPL_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2119: old_references.person_id,
2120: old_references.course_cd
2121: );
2122: IGS_GR_SPECIAL_AWARD_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2123: old_references.person_id,
2124: old_references.course_cd
2125: );
2126: IGS_EN_STDNTPSHECSOP_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2122: IGS_GR_SPECIAL_AWARD_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2123: old_references.person_id,
2124: old_references.course_cd
2125: );
2126: IGS_EN_STDNTPSHECSOP_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2127: old_references.person_id,
2128: old_references.course_cd
2129: );
2130: IGS_EN_STDNT_PS_INTM_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2126: IGS_EN_STDNTPSHECSOP_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2127: old_references.person_id,
2128: old_references.course_cd
2129: );
2130: IGS_EN_STDNT_PS_INTM_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2131: old_references.person_id,
2132: old_references.course_cd
2133: );
2134: IGS_PS_STDNT_TRN_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2130: IGS_EN_STDNT_PS_INTM_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2131: old_references.person_id,
2132: old_references.course_cd
2133: );
2134: IGS_PS_STDNT_TRN_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2135: old_references.person_id,
2136: old_references.course_cd
2137: );
2138: IGS_PS_STDNT_APV_ALT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2134: IGS_PS_STDNT_TRN_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2135: old_references.person_id,
2136: old_references.course_cd
2137: );
2138: IGS_PS_STDNT_APV_ALT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2139: old_references.person_id,
2140: old_references.course_cd
2141: );
2142: IGS_AS_SC_ATMPT_ENR_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2138: IGS_PS_STDNT_APV_ALT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2139: old_references.person_id,
2140: old_references.course_cd
2141: );
2142: IGS_AS_SC_ATMPT_ENR_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2143: old_references.person_id,
2144: old_references.course_cd
2145: );
2146: IGS_AS_SC_ATMPT_NOTE_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2142: IGS_AS_SC_ATMPT_ENR_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2143: old_references.person_id,
2144: old_references.course_cd
2145: );
2146: IGS_AS_SC_ATMPT_NOTE_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2147: old_references.person_id,
2148: old_references.course_cd
2149: );
2150: IGS_PR_SDT_PS_PR_MSR_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2146: IGS_AS_SC_ATMPT_NOTE_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2147: old_references.person_id,
2148: old_references.course_cd
2149: );
2150: IGS_PR_SDT_PS_PR_MSR_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2151: old_references.person_id,
2152: old_references.course_cd
2153: );
2154: IGS_PS_STDNT_SPL_REQ_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2150: IGS_PR_SDT_PS_PR_MSR_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2151: old_references.person_id,
2152: old_references.course_cd
2153: );
2154: IGS_PS_STDNT_SPL_REQ_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2155: old_references.person_id,
2156: old_references.course_cd
2157: );
2158: IGS_PR_STDNT_PR_CK_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2154: IGS_PS_STDNT_SPL_REQ_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2155: old_references.person_id,
2156: old_references.course_cd
2157: );
2158: IGS_PR_STDNT_PR_CK_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2159: old_references.person_id,
2160: old_references.course_cd
2161: );
2162: IGS_EN_SU_ATTEMPT_H_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2158: IGS_PR_STDNT_PR_CK_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2159: old_references.person_id,
2160: old_references.course_cd
2161: );
2162: IGS_EN_SU_ATTEMPT_H_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2163: old_references.person_id,
2164: old_references.course_cd
2165: );
2166: IGS_EN_SU_ATTEMPT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2162: IGS_EN_SU_ATTEMPT_H_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2163: old_references.person_id,
2164: old_references.course_cd
2165: );
2166: IGS_EN_SU_ATTEMPT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2167: old_references.person_id,
2168: old_references.course_cd
2169: );
2170: IGS_AS_SU_SETATMPT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2166: IGS_EN_SU_ATTEMPT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2167: old_references.person_id,
2168: old_references.course_cd
2169: );
2170: IGS_AS_SU_SETATMPT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2171: old_references.person_id,
2172: old_references.course_cd
2173: );
2174: --Added as the following one as part of Term Record Build
2172: old_references.course_cd
2173: );
2174: --Added as the following one as part of Term Record Build
2175: --Bug No# 2829263
2176: IGS_EN_SPA_TERMS_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2177: old_references.person_id,
2178: old_references.course_cd
2179: );
2180: --
2179: );
2180: --
2181: -- Next call added as per the UK Award Aims DLD.
2182: --
2183: igs_en_spa_awd_aim_pkg.get_fk_igs_en_stdnt_ps_att (
2184: old_references.person_id,
2185: old_references.course_cd
2186: );
2187: --
2187: --
2188: -- Next call added as per the class Rank Build.
2189: -- Bug# 2639109
2190:
2191: igs_pr_cohinst_rank_pkg.get_fk_igs_en_stdnt_ps_att (
2192: old_references.person_id,
2193: old_references.course_cd
2194: );
2195:
2192: old_references.person_id,
2193: old_references.course_cd
2194: );
2195:
2196: IGS_AS_ANON_ID_PS_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2197: old_references.person_id,
2198: old_references.course_cd
2199: );
2200:
2197: old_references.person_id,
2198: old_references.course_cd
2199: );
2200:
2201: IGS_AS_ANON_ID_US_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2202: old_references.person_id,
2203: old_references.course_cd
2204: );
2205:
2203: old_references.course_cd
2204: );
2205:
2206: -- Added the following check chaild existance for the HESA requirment, pmarada
2207: IGS_HE_ST_SPA_ALL_PKG.GET_FK_IGS_EN_STDNT_PS_ATT_ALL(
2208: old_references.person_id,
2209: old_references.course_cd);
2210:
2211:
2208: old_references.person_id,
2209: old_references.course_cd);
2210:
2211:
2212: IGS_PR_STU_ACAD_STAT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2213: old_references.person_id,
2214: old_references.course_cd
2215: );
2216: IGS_EN_PLAN_UNITS_PKG.GET_FK_IGS_EN_STDNT_PS_ATT(
2212: IGS_PR_STU_ACAD_STAT_PKG.GET_FK_IGS_EN_STDNT_PS_ATT (
2213: old_references.person_id,
2214: old_references.course_cd
2215: );
2216: IGS_EN_PLAN_UNITS_PKG.GET_FK_IGS_EN_STDNT_PS_ATT(
2217: old_references.person_id,
2218: old_references.course_cd
2219: );
2220:
2234: -- cannot be updated.
2235:
2236: CURSOR cur_rec_exist IS
2237: SELECT course_attempt_status
2238: FROM igs_en_stdnt_ps_att_all
2239: WHERE person_id = x_person_id
2240: AND course_cd = x_course_cd;
2241:
2242: CURSOR cur_rowid IS
2240: AND course_cd = x_course_cd;
2241:
2242: CURSOR cur_rowid IS
2243: SELECT ROWID
2244: FROM IGS_EN_STDNT_PS_ATT_ALL
2245: WHERE person_id = x_person_id
2246: AND course_cd = x_course_cd
2247: FOR UPDATE NOWAIT;
2248:
2246: AND course_cd = x_course_cd
2247: FOR UPDATE NOWAIT;
2248:
2249: lv_rowid cur_rowid%ROWTYPE;
2250: lv_crs_att_status igs_en_stdnt_ps_att_all.course_attempt_status%TYPE;
2251:
2252: BEGIN
2253:
2254: -- Check whether a record exists for the mentioned PK and get
2292: x_progression_status IN VARCHAR2
2293: ) AS
2294: CURSOR cur_rowid IS
2295: SELECT ROWID
2296: FROM IGS_EN_STDNT_PS_ATT_ALL
2297: WHERE progression_status = x_progression_status ;
2298: lv_rowid cur_rowid%ROWTYPE;
2299: BEGIN
2300: OPEN cur_rowid;
2313: x_attendance_mode IN VARCHAR2
2314: ) AS
2315: CURSOR cur_rowid IS
2316: SELECT ROWID
2317: FROM IGS_EN_STDNT_PS_ATT_ALL
2318: WHERE derived_att_mode = x_attendance_mode ;
2319: lv_rowid cur_rowid%ROWTYPE;
2320: BEGIN
2321: OPEN cur_rowid;
2334: x_course_attempt_status IN VARCHAR2
2335: ) AS
2336: CURSOR cur_rowid IS
2337: SELECT ROWID
2338: FROM IGS_EN_STDNT_PS_ATT_ALL
2339: WHERE course_attempt_status = x_course_attempt_status ;
2340: lv_rowid cur_rowid%ROWTYPE;
2341: BEGIN
2342: OPEN cur_rowid;
2358: x_sequence_number IN NUMBER
2359: ) AS
2360: CURSOR cur_rowid IS
2361: SELECT ROWID
2362: FROM IGS_EN_STDNT_PS_ATT_ALL
2363: WHERE person_id = x_person_id
2364: AND adm_admission_appl_number = x_admission_appl_number
2365: AND adm_nominated_course_cd = x_nominated_course_cd
2366: AND adm_sequence_number = x_sequence_number ;
2382: x_attendance_type IN VARCHAR2
2383: ) AS
2384: CURSOR cur_rowid IS
2385: SELECT ROWID
2386: FROM IGS_EN_STDNT_PS_ATT_ALL
2387: WHERE derived_att_type = x_attendance_type ;
2388: lv_rowid cur_rowid%ROWTYPE;
2389: BEGIN
2390: OPEN cur_rowid;
2403: x_correspondence_cat IN VARCHAR2
2404: ) AS
2405: CURSOR cur_rowid IS
2406: SELECT ROWID
2407: FROM IGS_EN_STDNT_PS_ATT_ALL
2408: WHERE correspondence_cat = x_correspondence_cat ;
2409: lv_rowid cur_rowid%ROWTYPE;
2410: BEGIN
2411: OPEN cur_rowid;
2429: x_attendance_type IN VARCHAR2
2430: ) AS
2431: CURSOR cur_rowid IS
2432: SELECT ROWID
2433: FROM IGS_EN_STDNT_PS_ATT_ALL
2434: WHERE course_cd = x_course_cd
2435: AND version_number = x_version_number
2436: AND cal_type = x_cal_type
2437: AND location_cd = x_location_cd
2455: x_coo_id IN NUMBER
2456: ) AS
2457: CURSOR cur_rowid IS
2458: SELECT ROWID
2459: FROM IGS_EN_STDNT_PS_ATT_ALL
2460: WHERE coo_id = x_coo_id;
2461: lv_rowid cur_rowid%ROWTYPE;
2462: BEGIN
2463: OPEN cur_rowid;
2478: x_course_cd IN VARCHAR2
2479: ) AS
2480: CURSOR cur_rowid IS
2481: SELECT ROWID
2482: FROM IGS_EN_STDNT_PS_ATT_ALL
2483: WHERE course_cd = x_course_cd ;
2484: lv_rowid cur_rowid%ROWTYPE;
2485: BEGIN
2486: OPEN cur_rowid;
2500: x_version_number IN NUMBER
2501: ) AS
2502: CURSOR cur_rowid IS
2503: SELECT ROWID
2504: FROM IGS_EN_STDNT_PS_ATT_ALL
2505: WHERE course_cd = x_course_cd
2506: AND version_number = x_version_number ;
2507: lv_rowid cur_rowid%ROWTYPE;
2508: BEGIN
2523: x_fee_cat IN VARCHAR2
2524: ) AS
2525: CURSOR cur_rowid IS
2526: SELECT ROWID
2527: FROM IGS_EN_STDNT_PS_ATT_ALL
2528: WHERE fee_cat = x_fee_cat ;
2529: lv_rowid cur_rowid%ROWTYPE;
2530: BEGIN
2531: OPEN cur_rowid;
2544: x_funding_source IN VARCHAR2
2545: ) AS
2546: CURSOR cur_rowid IS
2547: SELECT ROWID
2548: FROM IGS_EN_STDNT_PS_ATT_ALL
2549: WHERE funding_source = x_funding_source ;
2550: lv_rowid cur_rowid%ROWTYPE;
2551: BEGIN
2552: OPEN cur_rowid;
2565: x_location_cd IN VARCHAR2
2566: ) AS
2567: CURSOR cur_rowid IS
2568: SELECT ROWID
2569: FROM IGS_EN_STDNT_PS_ATT_ALL
2570: WHERE exam_location_cd = x_location_cd ;
2571: lv_rowid cur_rowid%ROWTYPE;
2572: BEGIN
2573: OPEN cur_rowid;
2586: x_person_id IN NUMBER
2587: ) AS
2588: CURSOR cur_rowid IS
2589: SELECT ROWID
2590: FROM IGS_EN_STDNT_PS_ATT_ALL
2591: WHERE person_id = x_person_id ;
2592: lv_rowid cur_rowid%ROWTYPE;
2593: BEGIN
2594: OPEN cur_rowid;
2609: X_IGS_PR_CLASS_STD_ID IN NUMBER
2610: ) AS
2611: CURSOR cur_rowid IS
2612: SELECT ROWID
2613: FROM IGS_EN_STDNT_PS_ATT_ALL
2614: WHERE IGS_PR_CLASS_STD_ID = X_IGS_PR_CLASS_STD_ID;
2615:
2616: lv_cur cur_rowid%ROWTYPE;
2617:
2634: X_CATALOG_SEQ_NUM IN NUMBER
2635: ) AS
2636: CURSOR cur_rowid IS
2637: SELECT ROWID
2638: FROM IGS_EN_STDNT_PS_ATT_ALL
2639: WHERE CATALOG_CAL_TYPE = X_CATALOG_CAL_TYPE
2640: AND CATALOG_SEQ_NUM = X_CATALOG_SEQ_NUM ;
2641: lv_rowid cur_rowid%ROWTYPE;
2642:
2878: -- call the before dml of igs_en_career_model package only if the global variable skip_before_after_dml
2879: -- is false . This variable will be made true in the after dml procedure of igs_en_career_model package
2880: -- to avoid calling before and after dml procedures during recursion of UPDATE_ROW call in the career package
2881: -- donot remove this condition ( included in career_impcat dld)
2882: IF (p_action in ('INSERT','UPDATE')) AND (NOT IGS_EN_STDNT_PS_ATT_PKG.skip_before_after_dml) THEN
2883:
2884:
2885: IGS_EN_CAREER_MODEL.SCA_TBH_BEFORE_DML(
2886: p_person_id => new_references.person_id,
2897:
2898: END Before_DML;
2899:
2900:
2901: PROCEDURE AFTER_DML_RECURSIVE_CALLS(p_old_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE,
2902: p_new_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE,
2903: p_action VARCHAR2,
2904: p_skip_before_after_dml BOOLEAN DEFAULT FALSE) IS
2905:
2898: END Before_DML;
2899:
2900:
2901: PROCEDURE AFTER_DML_RECURSIVE_CALLS(p_old_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE,
2902: p_new_references IGS_EN_STDNT_PS_ATT_ALL%ROWTYPE,
2903: p_action VARCHAR2,
2904: p_skip_before_after_dml BOOLEAN DEFAULT FALSE) IS
2905:
2906: CURSOR cur_fut_dt_trnsf(cp_person_id IGS_PS_STDNT_TRN.person_id%TYPE,
2905:
2906: CURSOR cur_fut_dt_trnsf(cp_person_id IGS_PS_STDNT_TRN.person_id%TYPE,
2907: cp_program_cd IGS_PS_STDNT_TRN.transfer_course_cd%TYPE) IS
2908: SELECT sct.course_cd,sct.effective_term_cal_type,sct.effective_term_sequence_num
2909: FROM IGS_PS_STDNT_TRN sct, IGS_EN_STDNT_PS_ATT sca
2910: WHERE sct.person_id = cp_person_id
2911: AND sct.transfer_course_cd = cp_program_cd
2912: AND sct.course_cd = sca.course_cd
2913: AND sct.person_id = sca.person_id
2914: AND sca.future_dated_trans_flag = 'Y';
2915:
2916: v_eff_term_cal_type IGS_PS_STDNT_TRN.effective_term_cal_type%TYPE;
2917: v_eff_term_seq_num IGS_PS_STDNT_TRN.effective_term_sequence_num%TYPE;
2918: v_course_cd IGS_EN_STDNT_PS_ATT.course_cd%TYPE;
2919: v_errbuf VARCHAR2(20);
2920:
2921: BEGIN
2922:
3008: -- Enh. Bug# 2829263.
3009: -------------------------------------------------------------------------------
3010:
3011: -- Cursor to get the old key program for a student.
3012: CURSOR cur_get_course_cd_key(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
3013: cp_course_cd igs_en_stdnt_ps_att.course_cd%TYPE)
3014: IS
3015: SELECT course_cd
3016: FROM igs_en_stdnt_ps_att
3009: -------------------------------------------------------------------------------
3010:
3011: -- Cursor to get the old key program for a student.
3012: CURSOR cur_get_course_cd_key(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
3013: cp_course_cd igs_en_stdnt_ps_att.course_cd%TYPE)
3014: IS
3015: SELECT course_cd
3016: FROM igs_en_stdnt_ps_att
3017: WHERE person_id = cp_person_id AND
3012: CURSOR cur_get_course_cd_key(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
3013: cp_course_cd igs_en_stdnt_ps_att.course_cd%TYPE)
3014: IS
3015: SELECT course_cd
3016: FROM igs_en_stdnt_ps_att
3017: WHERE person_id = cp_person_id AND
3018: course_cd <> cp_course_cd AND
3019: key_program = 'Y';
3020:
3027: WHERE course_cd = cp_course_cd AND
3028: version_number = cp_version_num;
3029:
3030: -- Cursor to get the old primary program in a given career for a student.
3031: CURSOR cur_get_course_cd_prim(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
3032: cp_course_cd igs_en_stdnt_ps_att.course_cd%TYPE,
3033: cp_version_number igs_en_stdnt_ps_att.version_number%TYPE,
3034: cp_course_type igs_ps_ver.course_type%TYPE)
3035: IS
3028: version_number = cp_version_num;
3029:
3030: -- Cursor to get the old primary program in a given career for a student.
3031: CURSOR cur_get_course_cd_prim(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
3032: cp_course_cd igs_en_stdnt_ps_att.course_cd%TYPE,
3033: cp_version_number igs_en_stdnt_ps_att.version_number%TYPE,
3034: cp_course_type igs_ps_ver.course_type%TYPE)
3035: IS
3036: SELECT spa.course_cd
3029:
3030: -- Cursor to get the old primary program in a given career for a student.
3031: CURSOR cur_get_course_cd_prim(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
3032: cp_course_cd igs_en_stdnt_ps_att.course_cd%TYPE,
3033: cp_version_number igs_en_stdnt_ps_att.version_number%TYPE,
3034: cp_course_type igs_ps_ver.course_type%TYPE)
3035: IS
3036: SELECT spa.course_cd
3037: FROM igs_en_stdnt_ps_att spa,
3033: cp_version_number igs_en_stdnt_ps_att.version_number%TYPE,
3034: cp_course_type igs_ps_ver.course_type%TYPE)
3035: IS
3036: SELECT spa.course_cd
3037: FROM igs_en_stdnt_ps_att spa,
3038: igs_ps_ver pv
3039: WHERE spa.person_id = cp_person_id AND
3040: spa.course_cd <> cp_course_cd AND
3041: spa.primary_program_type = 'PRIMARY' AND
3043: spa.version_number = pv.version_number AND
3044: pv.course_type = cp_course_type;
3045:
3046: -- bmerugu added for build 319 to get the secondary program attemps for student.
3047: CURSOR cur_pattempts(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE, cp_course_type igs_ps_ver.course_type%TYPE)
3048: IS
3049: SELECT spa.person_id, spa.course_cd
3050: FROM igs_en_stdnt_ps_att spa,
3051: igs_ps_ver pv
3046: -- bmerugu added for build 319 to get the secondary program attemps for student.
3047: CURSOR cur_pattempts(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE, cp_course_type igs_ps_ver.course_type%TYPE)
3048: IS
3049: SELECT spa.person_id, spa.course_cd
3050: FROM igs_en_stdnt_ps_att spa,
3051: igs_ps_ver pv
3052: WHERE spa.person_id = cp_person_id AND
3053: spa.primary_program_type = 'SECONDARY' AND
3054: spa.course_cd = pv.course_cd AND
3340:
3341: AFTER_DML_RECURSIVE_CALLS(p_old_references => old_references,
3342: p_new_references => new_references,
3343: p_action => p_action,
3344: p_skip_before_after_dml => IGS_EN_STDNT_PS_ATT_PKG.skip_before_after_dml);
3345:
3346: END After_DML;
3347:
3348:
3430: --sbaliga 13-feb-2002 Assigned igs_ge_gen_003.get_org_id to x_org_id
3431: -- in call to before_dml as part of SWCR006 build.
3432: -----------------------------------------------------------------------------------------------*/
3433: CURSOR C IS
3434: SELECT ROWID FROM IGS_EN_STDNT_PS_ATT_ALL
3435: WHERE PERSON_ID = X_PERSON_ID
3436: AND COURSE_CD = X_COURSE_CD;
3437: X_LAST_UPDATE_DATE DATE;
3438: X_LAST_UPDATED_BY NUMBER;
3559:
3560: IF (x_mode = 'S') THEN
3561: igs_sc_gen_001.set_ctx('R');
3562: END IF;
3563: INSERT INTO IGS_EN_STDNT_PS_ATT_ALL (
3564: org_id,
3565: ADVANCED_STANDING_IND,
3566: FEE_CAT,
3567: CORRESPONDENCE_CAT,
3907: ATTRIBUTE17,
3908: ATTRIBUTE18,
3909: ATTRIBUTE19,
3910: ATTRIBUTE20
3911: FROM IGS_EN_STDNT_PS_ATT_ALL
3912: WHERE ROWID = X_ROWID FOR UPDATE NOWAIT;
3913: tlinfo c1%ROWTYPE;
3914: BEGIN
3915: OPEN c1;
4317:
4318: IF (x_mode = 'S') THEN
4319: igs_sc_gen_001.set_ctx('R');
4320: END IF;
4321: UPDATE IGS_EN_STDNT_PS_ATT_ALL SET
4322: ADVANCED_STANDING_IND = NEW_REFERENCES.ADVANCED_STANDING_IND,
4323: FEE_CAT = NEW_REFERENCES.FEE_CAT,
4324: CORRESPONDENCE_CAT = NEW_REFERENCES.CORRESPONDENCE_CAT,
4325: SELF_HELP_GROUP_IND = NEW_REFERENCES.SELF_HELP_GROUP_IND,
4505: X_ATTRIBUTE19 IN VARCHAR2,
4506: x_ATTRIBUTE20 IN VARCHAR2,
4507: X_FUTURE_DATED_TRANS_FLAG IN VARCHAR2
4508: ) AS
4509: CURSOR c1 IS SELECT ROWID FROM IGS_EN_STDNT_PS_ATT_ALL
4510: WHERE PERSON_ID = X_PERSON_ID
4511: AND COURSE_CD = X_COURSE_CD;
4512: BEGIN
4513: OPEN c1;
4683: );
4684: IF (x_mode = 'S') THEN
4685: igs_sc_gen_001.set_ctx('R');
4686: END IF;
4687: DELETE FROM IGS_EN_STDNT_PS_ATT_ALL
4688: WHERE ROWID = X_ROWID;
4689: IF (SQL%NOTFOUND) THEN
4690: fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
4691: igs_ge_msg_stack.add;
4717: --Change History:
4718: --Who When What
4719: -------------------------------------------------------------------
4720:
4721: CURSOR c_spa_stat (cp_person_id igs_en_stdnt_ps_att_all.person_id%TYPE,
4722: cp_course_cd igs_en_stdnt_ps_att_all.course_cd%TYPE) IS
4723: SELECT course_attempt_status
4724: FROM igs_en_stdnt_ps_att_all
4725: WHERE person_id = cp_person_id
4718: --Who When What
4719: -------------------------------------------------------------------
4720:
4721: CURSOR c_spa_stat (cp_person_id igs_en_stdnt_ps_att_all.person_id%TYPE,
4722: cp_course_cd igs_en_stdnt_ps_att_all.course_cd%TYPE) IS
4723: SELECT course_attempt_status
4724: FROM igs_en_stdnt_ps_att_all
4725: WHERE person_id = cp_person_id
4726: AND course_cd = cp_course_cd;
4720:
4721: CURSOR c_spa_stat (cp_person_id igs_en_stdnt_ps_att_all.person_id%TYPE,
4722: cp_course_cd igs_en_stdnt_ps_att_all.course_cd%TYPE) IS
4723: SELECT course_attempt_status
4724: FROM igs_en_stdnt_ps_att_all
4725: WHERE person_id = cp_person_id
4726: AND course_cd = cp_course_cd;
4727:
4728: lv_crs_attmpt_stat igs_en_stdnt_ps_att_all.course_attempt_status%TYPE;
4724: FROM igs_en_stdnt_ps_att_all
4725: WHERE person_id = cp_person_id
4726: AND course_cd = cp_course_cd;
4727:
4728: lv_crs_attmpt_stat igs_en_stdnt_ps_att_all.course_attempt_status%TYPE;
4729: BEGIN
4730:
4731: -- Deletion is allowed only in case the record has an attempt status of UNCONFIRM.
4732:
4765: -- of whether its a PRIMARY program or not.Bug#4752409
4766: -------------------------------------------------------------------
4767:
4768: -- Cursor to get the effective term calendar.
4769: CURSOR cur_get_effective_term(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
4770: cp_program_cd igs_en_stdnt_ps_att.course_cd%TYPE,
4771: cp_prg_completion_dt igs_en_stdnt_ps_att.course_rqrmnts_complete_dt%TYPE) IS
4772: SELECT ci.cal_type, ci.sequence_number
4773: FROM igs_ca_inst ci,
4766: -------------------------------------------------------------------
4767:
4768: -- Cursor to get the effective term calendar.
4769: CURSOR cur_get_effective_term(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
4770: cp_program_cd igs_en_stdnt_ps_att.course_cd%TYPE,
4771: cp_prg_completion_dt igs_en_stdnt_ps_att.course_rqrmnts_complete_dt%TYPE) IS
4772: SELECT ci.cal_type, ci.sequence_number
4773: FROM igs_ca_inst ci,
4774: igs_ca_inst_rel cir,
4767:
4768: -- Cursor to get the effective term calendar.
4769: CURSOR cur_get_effective_term(cp_person_id igs_en_stdnt_ps_att.person_id%TYPE,
4770: cp_program_cd igs_en_stdnt_ps_att.course_cd%TYPE,
4771: cp_prg_completion_dt igs_en_stdnt_ps_att.course_rqrmnts_complete_dt%TYPE) IS
4772: SELECT ci.cal_type, ci.sequence_number
4773: FROM igs_ca_inst ci,
4774: igs_ca_inst_rel cir,
4775: igs_ca_type ct,
4772: SELECT ci.cal_type, ci.sequence_number
4773: FROM igs_ca_inst ci,
4774: igs_ca_inst_rel cir,
4775: igs_ca_type ct,
4776: igs_en_stdnt_ps_att sca,
4777: igs_ca_stat cs
4778: WHERE sca.person_id = cp_person_id AND
4779: sca.course_cd = cp_program_cd AND
4780: cir.sup_cal_type = sca.cal_type AND
4788: ORDER BY ci.start_dt;
4789:
4790: l_message_name VARCHAR2(100);
4791: l_create_update_term BOOLEAN;
4792: l_prg_completion_date igs_en_stdnt_ps_att_all.course_rqrmnts_complete_dt%TYPE;
4793: l_term_cal_type igs_ca_inst.cal_type%TYPE;
4794: l_term_ci_seq_num igs_ca_inst.sequence_number%TYPE;
4795:
4796: BEGIN
4837:
4838:
4839: END enrp_ins_upd_term_rec;
4840:
4841: END Igs_En_Stdnt_Ps_Att_Pkg;