25: p_message_name OUT NOCOPY VARCHAR2)
26: RETURN BOOLEAN AS
27:
28: BEGIN -- enrp_val_scae_acad
29: -- When transferring a IGS_EN_STDNT_PS_ATT and the calendar
30: -- type of the IGS_PS_OFR_OPT varies from that of the
31: -- original course, validate that the enrolment period of the
32: -- current IGS_AS_SC_ATMPT_ENR is also a sub-ordinate of the
33: -- new calendar type.
193: cst_transfer CONSTANT VARCHAR(8) := 'TRANSFER';
194: cst_admtransfr CONSTANT VARCHAR(10) := 'ADMTRANSFR';
195: v_dummy VARCHAR2(1);
196: v_message_name varchar2(30);
197: v_to_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
198: v_to_course_attempt_status IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
199: v_to_acai_sequence_number IGS_EN_STDNT_PS_ATT.adm_sequence_number%TYPE;
200: v_s_course_group_type IGS_PS_GRP_TYPE.s_course_group_type%TYPE;
201: v_from_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
194: cst_admtransfr CONSTANT VARCHAR(10) := 'ADMTRANSFR';
195: v_dummy VARCHAR2(1);
196: v_message_name varchar2(30);
197: v_to_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
198: v_to_course_attempt_status IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
199: v_to_acai_sequence_number IGS_EN_STDNT_PS_ATT.adm_sequence_number%TYPE;
200: v_s_course_group_type IGS_PS_GRP_TYPE.s_course_group_type%TYPE;
201: v_from_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
202: v_from_course_attempt_status
195: v_dummy VARCHAR2(1);
196: v_message_name varchar2(30);
197: v_to_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
198: v_to_course_attempt_status IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
199: v_to_acai_sequence_number IGS_EN_STDNT_PS_ATT.adm_sequence_number%TYPE;
200: v_s_course_group_type IGS_PS_GRP_TYPE.s_course_group_type%TYPE;
201: v_from_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
202: v_from_course_attempt_status
203: IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
197: v_to_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
198: v_to_course_attempt_status IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
199: v_to_acai_sequence_number IGS_EN_STDNT_PS_ATT.adm_sequence_number%TYPE;
200: v_s_course_group_type IGS_PS_GRP_TYPE.s_course_group_type%TYPE;
201: v_from_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
202: v_from_course_attempt_status
203: IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
204: v_to_admission_appl_number
205: IGS_EN_STDNT_PS_ATT.adm_admission_appl_number%TYPE;
199: v_to_acai_sequence_number IGS_EN_STDNT_PS_ATT.adm_sequence_number%TYPE;
200: v_s_course_group_type IGS_PS_GRP_TYPE.s_course_group_type%TYPE;
201: v_from_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
202: v_from_course_attempt_status
203: IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
204: v_to_admission_appl_number
205: IGS_EN_STDNT_PS_ATT.adm_admission_appl_number%TYPE;
206: v_to_nominated_course_cd
207: IGS_EN_STDNT_PS_ATT.adm_nominated_course_cd%TYPE;
201: v_from_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE;
202: v_from_course_attempt_status
203: IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
204: v_to_admission_appl_number
205: IGS_EN_STDNT_PS_ATT.adm_admission_appl_number%TYPE;
206: v_to_nominated_course_cd
207: IGS_EN_STDNT_PS_ATT.adm_nominated_course_cd%TYPE;
208: CURSOR c_sca_to IS
209: SELECT sca.version_number,
203: IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE;
204: v_to_admission_appl_number
205: IGS_EN_STDNT_PS_ATT.adm_admission_appl_number%TYPE;
206: v_to_nominated_course_cd
207: IGS_EN_STDNT_PS_ATT.adm_nominated_course_cd%TYPE;
208: CURSOR c_sca_to IS
209: SELECT sca.version_number,
210: sca.course_attempt_status,
211: sca.adm_admission_appl_number,
210: sca.course_attempt_status,
211: sca.adm_admission_appl_number,
212: sca.adm_nominated_course_cd ,
213: sca.adm_sequence_number
214: FROM IGS_EN_STDNT_PS_ATT sca
215: WHERE sca.person_id = p_person_id AND
216: sca.course_cd = p_course_cd;
217: CURSOR c_sca_from IS
218: SELECT sca.version_number,
216: sca.course_cd = p_course_cd;
217: CURSOR c_sca_from IS
218: SELECT sca.version_number,
219: sca.course_attempt_status
220: FROM IGS_EN_STDNT_PS_ATT sca
221: WHERE sca.person_id = p_person_id AND
222: sca.course_cd = p_transfer_course_cd;
223: CURSOR c_cgm_cg_cgt(
224: cp_s_course_group_type IGS_PS_GRP_TYPE.s_course_group_type%TYPE,
221: WHERE sca.person_id = p_person_id AND
222: sca.course_cd = p_transfer_course_cd;
223: CURSOR c_cgm_cg_cgt(
224: cp_s_course_group_type IGS_PS_GRP_TYPE.s_course_group_type%TYPE,
225: cp_to_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
226: cp_from_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE)
227: IS
228: SELECT 'x'
229: FROM IGS_PS_GRP_MBR cgm,
222: sca.course_cd = p_transfer_course_cd;
223: CURSOR c_cgm_cg_cgt(
224: cp_s_course_group_type IGS_PS_GRP_TYPE.s_course_group_type%TYPE,
225: cp_to_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE,
226: cp_from_version_number IGS_EN_STDNT_PS_ATT.version_number%TYPE)
227: IS
228: SELECT 'x'
229: FROM IGS_PS_GRP_MBR cgm,
230: IGS_PS_GRP cg,
365: -------------------------------------------------------------------------------------------
366: BEGIN -- enrp_val_sct_to
367: -- This module validates IGS_PS_STDNT_TRN.course_cd details.
368: -- Course_cd must not be course version defined as generic.
369: -- Course_cd must map to IGS_EN_STDNT_PS_ATT whose course_attempt_status
370: -- is 'ENROLLED', 'INTERMIT', 'INACTIVE' or ('UNCONFIRM' and
371: -- admission_course_appl matching transfer details exist).
372: -- NOTE: also allow 'DISCONTIN' to prevent invalid lifting of discontinuation
373: -- through ENRF3000.
370: -- is 'ENROLLED', 'INTERMIT', 'INACTIVE' or ('UNCONFIRM' and
371: -- admission_course_appl matching transfer details exist).
372: -- NOTE: also allow 'DISCONTIN' to prevent invalid lifting of discontinuation
373: -- through ENRF3000.
374: -- If IGS_EN_STDNT_PS_ATT is created through Admissions, the related
375: -- IGS_AD_PS_APPL_INST.IGS_AD_OU_STAT must map to
376: -- s_adm_outcome_status 'OFFER', 'COND-OFFER'.
377: -- If IGS_EN_STDNT_PS_ATT is created through Admissions, the related
378: -- IGS_AD_PS_APPL_INST.IGS_AD_OFR_RESP_STAT must map to
373: -- through ENRF3000.
374: -- If IGS_EN_STDNT_PS_ATT is created through Admissions, the related
375: -- IGS_AD_PS_APPL_INST.IGS_AD_OU_STAT must map to
376: -- s_adm_outcome_status 'OFFER', 'COND-OFFER'.
377: -- If IGS_EN_STDNT_PS_ATT is created through Admissions, the related
378: -- IGS_AD_PS_APPL_INST.IGS_AD_OFR_RESP_STAT must map to
379: -- s_adm_offer_resp_status 'REJECTED', 'LAPSED'.
380: -- Course_cd must not have existing IGS_PS_STDNT_TRN mapping whose
381: -- transfer_dt is >= this transfer_dt.
378: -- IGS_AD_PS_APPL_INST.IGS_AD_OFR_RESP_STAT must map to
379: -- s_adm_offer_resp_status 'REJECTED', 'LAPSED'.
380: -- Course_cd must not have existing IGS_PS_STDNT_TRN mapping whose
381: -- transfer_dt is >= this transfer_dt.
382: -- Transfer_dt >= IGS_EN_STDNT_PS_ATT.commencement_dt and <= today's date
383: DECLARE
384: cst_lapsed CONSTANT VARCHAR2(6) := 'LAPSED';
385: cst_discontin CONSTANT VARCHAR2(9) := 'DISCONTIN';
386: cst_completed CONSTANT VARCHAR2(9) := 'COMPLETED';
390: v_generic_course_ind IGS_PS_VER.generic_course_ind%TYPE;
391: v_s_admission_process_type IGS_AD_APPL.s_admission_process_type%TYPE;
392: v_adm_outcome_status IGS_AD_PS_APPL_INST.adm_outcome_status%TYPE;
393: v_adm_offer_resp_status IGS_AD_PS_APPL_INST.adm_offer_resp_status%TYPE;
394: v_commencement_dt IGS_EN_STDNT_PS_ATT.commencement_dt%TYPE;
395: CURSOR c_cv IS
396: SELECT generic_course_ind
397: FROM IGS_PS_VER cv
398: WHERE cv.course_cd = p_course_cd AND
420: transfer_course_cd = p_course_cd) AND
421: status_flag = 'U';
422: CURSOR c_sca IS
423: SELECT sca.commencement_dt
424: FROM IGS_EN_STDNT_PS_ATT sca
425: WHERE sca.person_id = p_person_id AND
426: sca.course_cd = p_course_cd;
427: BEGIN
428: p_message_name := null;
563: -- when a source program is already invloved in a stored transfer.
564:
565: BEGIN -- enrp_val_sct_from
566: -- This module validates IGS_PS_STDNT_TRN.transfer_course_cd details.
567: -- Transfer_course_cd must map to IGS_EN_STDNT_PS_ATT whose
568: -- course_attempt_status is 'ENROLLED', 'DISCONTIN', 'INACTIVE',
569: -- 'INTERMIT', 'COMPLETED', 'LAPSED'.
570: -- Transfer_course_cd must not have existing IGS_PS_STDNT_TRN mapping
571: -- whose transfer_dt is >= this transfer_dt.
568: -- course_attempt_status is 'ENROLLED', 'DISCONTIN', 'INACTIVE',
569: -- 'INTERMIT', 'COMPLETED', 'LAPSED'.
570: -- Transfer_course_cd must not have existing IGS_PS_STDNT_TRN mapping
571: -- whose transfer_dt is >= this transfer_dt.
572: -- Transfer_course_cd is not currently transferred to IGS_EN_STDNT_PS_ATT
573: -- with course_attempt_status 'ENROLLED', 'INACTIVE', 'INTERMIT','LAPSED'.
574: DECLARE
575: cst_enrolled CONSTANT VARCHAR2(10) := 'ENROLLED';
576: cst_inactive CONSTANT VARCHAR2(10) := 'INACTIVE';