DBA Data[Home] [Help]

APPS.IGS_EN_VAL_SUSA SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 49

  		SELECT	us.authorisation_rqrd_ind
  		FROM	IGS_EN_UNIT_SET	us
  		WHERE	us.unit_set_cd		= p_unit_set_cd AND
  			us.version_number	= p_us_version_number;
Line: 249

  		SELECT 	sca.version_number,
  			sca.cal_type
  		FROM	IGS_EN_STDNT_PS_ATT sca
  		WHERE	sca.person_id	= p_person_id AND
  			sca.course_cd	= p_course_cd;
Line: 255

  		SELECT 	susa.us_version_number
  		FROM	IGS_AS_SU_SETATMPT susa
  		WHERE	susa.person_id	    = p_person_id AND

  			susa.course_cd	    = p_course_cd AND
  			susa.unit_set_cd    = p_parent_unit_set_cd AND
  			susa.sequence_number = p_parent_sequence_number;
Line: 266

  		SELECT	'x'
  		FROM	IGS_PS_OF_UNT_SET_RL cousr
  		WHERE	cousr.course_cd 		= p_course_cd			AND
  			cousr.crv_version_number	= cp_version_number		AND
  			cousr.cal_type			= cp_cal_type			AND
  			cousr.sub_unit_set_cd		= p_unit_set_cd			AND
  			cousr.sub_us_version_number 	=p_us_version_number		AND
  			cousr.sup_unit_set_cd		= p_parent_unit_set_cd		AND
  			cousr.sup_us_version_number	= cp_susa_us_version_number;
Line: 278

  		SELECT	'x'
  		FROM	IGS_PS_OF_UNT_SET_RL cousr
  		WHERE	cousr.course_cd			= p_course_cd 		AND
  			cousr.crv_version_number 		= cp_us_version_number 	AND

  			cousr.cal_type			= cp_cal_type 		AND
  			cousr.sub_unit_set_cd		= p_unit_set_cd 	AND
  			cousr.sub_us_version_number	= p_us_version_number;
Line: 424

  	-- deleted meets the following conditions:
  	-- - Cannot be deleted if the unit set has been completed.
  	-- - Cannot be deleted if the unit set has been ended.

  	-- - Cannot be deleted if it is the parent of another unit set.
  	-- - Cannot be deleted if it is part of the terms and conditions
  	--   of the admissions offer for the student.
  DECLARE
  	v_dummy		VARCHAR2(1);
Line: 434

  		SELECT	'X'
  		FROM	IGS_AS_SU_SETATMPT	susa
  		WHERE	susa.person_id			= p_person_id AND
  			susa.course_cd			= p_course_cd AND
  			susa.parent_unit_set_cd		= p_unit_set_cd AND
  			susa.parent_sequence_number	= p_sequence_number;
Line: 441

  		SELECT	acai.unit_set_cd,
  			acai.us_version_number
  		FROM	IGS_AD_PS_APPL_INST	acai,
  			IGS_EN_STDNT_PS_ATT		sca
  		WHERE	sca.person_id			= p_person_id AND
  			sca.course_cd			= p_course_cd AND
  			acai.person_id			= sca.person_id AND
  			acai.admission_appl_number	= sca.adm_admission_appl_number AND
  			acai.nominated_course_cd	= sca.adm_nominated_course_cd AND
  			acai.sequence_number		= sca.adm_sequence_number;
Line: 453

  	-- Cannot be deleted if the unit set has been completed.
  	IF (p_rqrmnts_complete_ind = 'Y') THEN
  		p_message_name := 'IGS_EN_NOTDEL_UNITSET_COMPL';
Line: 458

  	-- Cannot be deleted if the unit set has been ended.
  	IF (p_end_dt IS NOT NULL) THEN
  		p_message_name := 'IGS_EN_NOTDEL_UNITSET_ENDED';
Line: 467

  		-- Cannot be deleted if it is the parent of another IGS_EN_UNIT_SET.
  		OPEN c_susa; -- Althogh handled by RI constraints, required for enrp_val_susa.
Line: 478

  	-- Cannot be deleted if it is part of the terms and conditions
  	-- of the admissions offer for the student.
  	-- Determine if unit set is part of the admissions offer
  	IF igs_as_val_suaap.genp_val_sdtt_sess('ADMP_DEL_SCA_UNCONF') THEN
  		FOR v_acai_sca_rec IN c_acai_sca LOOP
  			IF (v_acai_sca_rec.unit_set_cd = p_unit_set_cd AND
  				v_acai_sca_rec.us_version_number = p_us_version_number) THEN
  				p_message_name := 'IGS_EN_NOTDEL_UNITSET_COND';
Line: 505

  p_selection_dt IN DATE ,
  p_end_dt IN DATE ,
  p_rqrmnts_complete_dt IN DATE ,
  p_message_name OUT NOCOPY VARCHAR2 )
 /* -------------------------------------------------------------------------------------------
  --Change History:
  --Who         When            What
  --svanukur     12-sep-03     Removed the validation of selection date being greater than
  --                               sysdate as perbug 3106879 to allow selection date to be future dated.
 -------------------------------------------------------------------------------------------*/

  RETURN BOOLEAN AS
  	gv_other_detail		VARCHAR2(255);
Line: 521

  	-- . If end_dt and selection_dt set, then end_dt >= selection_dt.
  	-- . end_dt and rqrmnts_complete_dt cannot both be set.
  	-- . Selection_dt, end_dt, rqrmnts_complete_dt cannot be future dated.
  	-- . If rqrmnts_complete_dt and selection_dt set,
  	--   then rqrmnts_complete_dt >= selection_dt.
  DECLARE
  	v_sysdate		DATE;
Line: 529

  	-- If end_dt and selection_dt set, then end_dt >= selection_dt.

  	IF p_end_dt IS NOT NULL AND
  			p_selection_dt IS NOT NULL THEN
  		IF p_end_dt < p_selection_dt THEN
  			p_message_name := 'IGS_EN_ENDDT_NOTBE_EARLIER_DT';
Line: 560

  	-- If rqrmnts_complete_dt and selection_dt set,
  	-- then rqrmnts_complete_dt >= selection_dt.
  	IF p_rqrmnts_complete_dt IS NOT NULL AND
  			p_selection_dt IS NOT NULL THEN
  		IF p_rqrmnts_complete_dt < p_selection_dt THEN
  			p_message_name := 'IGS_EN_COMPLDT_GE_CURR_DT';
Line: 616

  		SELECT	'x'
  		FROM	IGS_AS_SU_SETATMPT	susa
  		WHERE	susa.person_id			= p_person_id	 		AND
  			susa.course_cd			= p_course_cd 			AND
  			susa.unit_set_cd		= p_unit_set_cd 			AND
  			susa.end_dt			IS NULL				AND
  			susa.sequence_number		<> NVL(p_sequence_number, 0);
Line: 625

  		SELECT	'x'
  		FROM	IGS_AS_SU_SETATMPT	susa
  		WHERE	susa.person_id		= p_person_id			AND
  			susa.course_cd		= p_course_cd			AND
  			susa.unit_set_cd	= p_parent_unit_set_cd		AND
  			susa.sequence_number	= p_parent_sequence_number	AND
  			susa.end_dt		IS NOT NULL;
Line: 633

  		SELECT	acai.unit_set_cd,
  			acai.us_version_number
  		FROM	IGS_AD_PS_APPL_INST	acai,
  			IGS_EN_STDNT_PS_ATT		sca
  		WHERE	sca.person_id			= p_person_id			AND
  			sca.course_cd			= p_course_cd			AND
  			sca.person_id			= acai.person_id		AND
  			sca.adm_admission_appl_number  = acai.admission_appl_number	AND
  			sca.adm_nominated_course_cd	= acai.nominated_course_cd	AND
  			sca.adm_sequence_number		= acai.sequence_number;
Line: 806

  	--   must have had it previously selected.
  	-- . Cannot be created against a unit set that has previously been completed
  	--   by the student (irrespective of version).
  DECLARE
  	v_dummy		VARCHAR2(1);
Line: 815

	SELECT 'X'
	FROM IGS_PS_OFR_UNIT_SET cous,
	     igs_en_unit_set_stat uss1,
	     IGS_EN_UNIT_SET_ALL US,
	     IGS_EN_STDNT_PS_ATT spa
	WHERE spa.person_id = p_person_id
	AND spa.course_cd = p_course_cd
	AND us.version_number = p_us_version_number
	AND us.unit_set_cd = p_unit_set_cd
	AND spa.course_cd = cous.course_cd
	AND spa.version_number = cous.crv_version_number
	AND spa.CAL_TYPE = cous.CAL_TYPE
	AND us.unit_set_cd = cous.unit_set_cd
	AND us.version_number = cous.us_version_number
	AND us.unit_set_status = uss1.unit_set_status
	AND uss1.s_unit_set_status ='ACTIVE'
	AND NOT EXISTS (SELECT   1
			FROM   IGS_PS_OF_OPT_UNT_ST coous
	WHERE  coous.coo_id= spa.coo_id
	     );
Line: 838

	SELECT 'X'
	FROM   IGS_PS_OF_OPT_UNT_ST coous,
	       IGS_EN_UNIT_SET_ALL US,
	       igs_en_unit_set_stat uss1,
	       IGS_EN_STDNT_PS_ATT spa
	WHERE spa.person_id = p_person_id
	AND   spa.course_cd = p_course_cd
	AND coous.coo_id  = spa.coo_id
	AND    us.version_number = p_us_version_number
	AND    us.unit_set_cd = p_unit_set_cd
	AND us.unit_set_cd = coous.unit_set_cd
	AND us.version_number = coous.us_version_number
	AND us.unit_set_status = uss1.unit_set_status
	AND uss1.s_unit_set_status = 'ACTIVE';
Line: 854

  		SELECT	'X'
  		FROM	IGS_AS_SU_SETATMPT	susa
  		WHERE	susa.person_id	= p_person_id	 	AND
  			susa.course_cd	= p_course_cd 		AND
  			susa.unit_set_cd = p_unit_set_cd 	AND
  			susa.sequence_number<> NVL(p_sequence_number, 0) AND
  			susa.rqrmnts_complete_ind	= 'Y';
Line: 964

  		SELECT	susa.end_dt,
  			susa.student_confirmed_ind
  		FROM	IGS_AS_SU_SETATMPT	susa
  		WHERE	susa.person_id		= p_person_id AND
  			susa.course_cd		= p_course_cd AND
  			susa.unit_set_cd	= p_parent_unit_set_cd AND
  			susa.sequence_number	= p_parent_sequence_number;
Line: 972

    		SELECT	susa1.unit_set_cd
    		FROM	IGS_AS_SU_SETATMPT	susa1
    		START WITH	susa1.person_id		= p_person_id AND
    				susa1.course_cd		= p_course_cd AND
    				susa1.unit_set_cd		= p_parent_unit_set_cd AND
    				susa1.sequence_number	= p_parent_sequence_number
    		CONNECT BY	PRIOR susa1.person_id			= susa1.person_id AND
    				PRIOR susa1.course_cd			= susa1.course_cd AND
    				PRIOR susa1.parent_unit_set_cd		= susa1.unit_set_cd AND
    				PRIOR susa1.parent_sequence_number	= susa1.sequence_number;
Line: 983

    		SELECT	susa1.unit_set_cd
    		FROM	IGS_AS_SU_SETATMPT	susa1
    		START WITH	susa1.person_id		= p_person_id AND

    				susa1.course_cd		= p_course_cd AND
    				susa1.unit_set_cd	= p_unit_set_cd AND
    				susa1.sequence_number	= NVL(p_sequence_number, 0)
    		CONNECT BY	PRIOR susa1.person_id		= susa1.person_id AND
    				PRIOR susa1.course_cd		= susa1.course_cd AND
    				PRIOR susa1.unit_set_cd		= susa1.parent_unit_set_cd AND
    				PRIOR susa1.sequence_number	= susa1.parent_sequence_number;
Line: 1162

  		SELECT	us.administrative_ind,
  			usc.rank
  		FROM	IGS_EN_UNIT_SET	us,
  			IGS_EN_UNIT_SET_CAT	usc
  		WHERE	us.unit_set_cd		= p_unit_set_cd AND
  			us.version_number	= p_us_version_number AND
  			us.unit_set_cat		= usc.unit_set_cat;
Line: 1171

  		SELECT 	'x'
  		FROM	IGS_AS_SU_SETATMPT	susa,
  			IGS_EN_UNIT_SET			us,
  			IGS_EN_UNIT_SET_CAT			usc
  		WHERE	susa.person_id 		= p_person_id AND
  			susa.course_cd		= p_course_cd AND
  			susa.unit_set_cd	= us.unit_set_cd AND
  			susa.us_version_number	= us.version_number AND
  			us.administrative_ind	= 'N' AND
  			us.unit_set_cat		= usc.unit_set_cat AND
  			usc.rank		< cp_rank;
Line: 1256

  	cst_deleted	CONSTANT	VARCHAR2(10) := 'DELETED';
Line: 1259

  		SELECT	'x'
  		FROM	IGS_EN_STDNT_PS_ATT	sca
  		WHERE	sca.person_id			= p_person_id	 		AND
  			sca.course_cd			= p_course_cd 			AND
  			sca.course_attempt_status	IN (	cst_discontin,
  								cst_lapsed,
  								cst_deleted);
Line: 1307

  p_selection_dt IN DATE ,
  p_end_dt IN DATE ,
  p_rqrmnts_complete_ind IN VARCHAR2,
  p_message_name OUT NOCOPY VARCHAR2,
  p_legacy IN VARCHAR2)
  RETURN BOOLEAN AS

  BEGIN	-- enrp_val_susa_sci
  	-- This module validates the confirmation of a IGS_EN_UNIT_SET for a
  	-- IGS_AS_SU_SETATMPT record. The validations are:
  	-- - The student confirmed indicator cannot be unset once the

  	--   end date has been set.
  	-- - The student confirmed indicator cannot be unset once the
  	--   requirements complete indicator has been set.
  	-- - The student confirmed indicator can only be set if the
  	--   student course attempt status is 'ENROLLED' or 'INACTIVE'.
  	-- - The student confirmed indicator cannot be set when a parent
  	--   unit set exists that is unconfirmed.
  	-- - The student confirmed indicator cannot be set if the student
  	--   is excluded from the unit set via encumbrances.
  DECLARE
  	cst_enrolled	CONSTANT
  					IGS_EN_STDNT_PS_ATT.course_attempt_status%TYPE := 'ENROLLED';
Line: 1337

  		SELECT	sca.version_number
  		FROM	IGS_EN_STDNT_PS_ATT	sca
  		WHERE	sca.person_id = p_person_id AND
  			sca.course_cd = p_course_cd AND
  			sca.course_attempt_status IN (

  						cst_enrolled,
  						cst_inactive);
Line: 1346

  		SELECT	'X'
  		FROM	IGS_AS_SU_SETATMPT	susa
  		WHERE	susa.person_id			= p_person_id AND
  			susa.course_cd			= p_course_cd AND
  			susa.unit_set_cd		= p_parent_unit_set_cd AND
  			susa.sequence_number		= p_parent_sequence_number AND
  			susa.student_confirmed_ind	= 'N';
Line: 1356

  		SELECT	sca.version_number
  		FROM	IGS_EN_STDNT_PS_ATT	sca
  		WHERE	sca.person_id = p_person_id AND
  			sca.course_cd = p_course_cd AND
  			sca.course_attempt_status = 'UNCONFIRM';
Line: 1534

  		SELECT	sca.version_number
  		FROM	IGS_EN_STDNT_PS_ATT	sca
  		WHERE	sca.person_id = p_person_id AND
  			sca.course_cd = p_course_cd AND
  			sca.course_attempt_status IN (
  						cst_enrolled,
  						cst_inactive);
Line: 1592

  p_selection_dt IN DATE,
  p_message_name OUT NOCOPY VARCHAR2,
  p_legacy IN VARCHAR2)
  RETURN BOOLEAN AS
   BEGIN	-- enrp_val_susa_sci_sd
  	-- This module validates the student_confirmed_ind against the selection_dt
  	-- for a IGS_AS_SU_SETATMPT record. The validations are:
  	-- - The selection date must be set if the confirmed indicator is set
  	--   (and visa versa).
  	-- - The selection date being unset, then the confirmed indicator must be
  	--   unset (and visa versa).
  DECLARE
  BEGIN
    p_message_name := NULL;
Line: 1607

  	-- Validate the selection date must be set if the confirmed
  	-- indicator is set and visa versa.
  	IF (p_student_confirmed_ind = 'Y' AND
  			p_selection_dt IS NULL) THEN
  		p_message_name := 'IGS_EN_UNIT_SET_UNCONF_SETDT';
Line: 1622

  	-- Validate the selection date must be unset if the
  	-- confirmed indicator is set and visa versa.
  	IF (p_student_confirmed_ind = 'N' AND
  			p_selection_dt IS NOT NULL) THEN
  		p_message_name := 'IGS_EN_UNIT_SET_UNCONF_NOTSET';
Line: 1665

  	-- expiry date set and the student has previously selected in within the same
  	-- course attempt.
  DECLARE
  	cst_active	CONSTANT	VARCHAR2(6) := 'ACTIVE';
Line: 1673

  		SELECT	uss.s_unit_set_status,
  			us.expiry_dt
  		FROM	IGS_EN_UNIT_SET us,
  			IGS_EN_UNIT_SET_STAT uss
  		WHERE	us.unit_set_status 	= uss.unit_set_status AND
  			us.unit_set_cd 		= p_unit_set_cd AND
  			us.version_number 	= p_version_number;
Line: 1681

  		SELECT	'x'
  		FROM	IGS_AS_SU_SETATMPT susa
  		WHERE	susa.person_id 		= p_person_id AND

  			susa.course_cd 		= p_course_cd AND
  			susa.unit_set_cd 	= p_unit_set_cd AND
  			susa.us_version_number 	= p_version_number AND
  			susa.sequence_number	<> NVL(p_sequence_number, 0);
Line: 1700

  			-- Determine if the student has previously had the version selected
  			-- within the specified course
  			-- NOTE: sequence number comparison is used as this validation is called
  			-- from an after statement databae trigger in which case, want to ignore the
  			-- newly created record.
  			OPEN c_susa;
Line: 1743

  		SELECT	us.authorisation_rqrd_ind
  		FROM	IGS_EN_UNIT_SET us
  		WHERE	unit_set_cd 	= p_unit_set_cd AND
  			version_number 	= p_version_number;
Line: 1790

  p_selection_dt IN DATE ,
  p_student_confirmed_ind IN VARCHAR2,
  p_end_dt IN DATE ,
  p_parent_unit_set_cd IN VARCHAR2 ,
  p_parent_sequence_number IN NUMBER ,
  p_primary_set_ind IN VARCHAR2,
  p_voluntary_end_ind IN VARCHAR2,
  p_authorised_person_id IN NUMBER ,
  p_authorised_on IN DATE ,
  p_override_title IN VARCHAR2 ,
  p_rqrmnts_complete_ind IN VARCHAR2,
  p_rqrmnts_complete_dt IN DATE ,
  p_s_completed_source_type IN VARCHAR2 ,
  p_action IN VARCHAR2 ,
  p_message_name OUT NOCOPY VARCHAR2 ,
  p_message_text OUT NOCOPY VARCHAR2 )
  RETURN BOOLEAN AS

  BEGIN	-- enrp_val_susa
  	-- This module validates
  DECLARE
  	v_message_name		VARCHAR2(30);
Line: 1815

  		SELECT	*
  		FROM	IGS_AS_SU_SETATMPT	susa
  		WHERE	susa.person_id		= p_person_id		AND
  			susa.course_cd		= p_course_cd		AND
  			susa.unit_set_cd		= p_unit_set_cd		AND
  			susa.sequence_number	= p_sequence_number;
Line: 1822

  	cst_insert	CONSTANT VARCHAR2 (6) := 'INSERT';
Line: 1823

  	cst_update	CONSTANT VARCHAR2 (6) := 'UPDATE';
Line: 1824

  	cst_delete	CONSTANT VARCHAR2 (6) := 'DELETE';
Line: 1827

  	v_inserting	BOOLEAN := FALSE;
Line: 1831

  	IF p_action = cst_insert THEN
  		v_inserting := TRUE;
Line: 1833

  	ELSIF p_action = cst_update THEN
  		v_updating := TRUE;
Line: 1835

  	ELSIF p_action = cst_delete THEN
  		v_deleting := TRUE;
Line: 1842

  	-- If updating, select the values of the record prior to update.
  	IF v_updating THEN
  		OPEN c_old_susa;
Line: 1856

  	IF v_inserting THEN
  		-- Validate the the unit set is able to be created.
  		-- against the student course attempt.
  		IF Igs_En_Val_Susa.enrp_val_susa_sca(
  					p_person_id,
  					p_course_cd,
  					v_message_name) = FALSE THEN
  			p_message_name := v_message_name;
Line: 1884

  	IF v_inserting OR
  	  (v_updating AND
  	   ((NVL(p_authorised_person_id, 0) <>
  			NVL(v_old_susa_rec.authorised_person_id, 0)) OR
  	    (NVL(p_authorised_on,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.authorised_on,
  				IGS_GE_DATE.IGSDATE('1900/01/01'))))) THEN
  		IF Igs_En_Val_Susa.enrp_val_susa_auth(
  				p_unit_set_cd,
  				p_us_version_number,
  				p_end_dt,
  				p_authorised_person_id,
  				p_authorised_on,
  				v_message_name,
                'N') = FALSE THEN
  			p_message_name := v_message_name;
Line: 1903

  	IF v_inserting OR
  	  (v_updating AND
  	   ((NVL(p_authorised_person_id, 0) <>
  			NVL(v_old_susa_rec.authorised_person_id, 0)) OR
  	    (p_student_confirmed_ind <> v_old_susa_rec.student_confirmed_ind) OR
  	    (NVL(p_authorised_on,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.authorised_on,
  				IGS_GE_DATE.IGSDATE('1900/01/01'))))) THEN
  		-- Validate that the authorisation fields must be set when
  		-- the unit set cd requires authorisation (IGS_EN_UNIT_SET.authorisation_ind = 'Y')
  		-- Check required only when the unit set is confirmed.
  		IF (p_student_confirmed_ind = 'Y') THEN
  			IF Igs_En_Val_Susa.enrp_val_susa_us_ath(
  					p_unit_set_cd,
  					p_us_version_number,
  					p_authorised_person_id,

  					p_authorised_on,
  					v_message_name) = FALSE THEN
  				p_message_name := v_message_name;
Line: 1929

  	IF v_inserting OR
  	  (v_updating AND
  	   ((NVL(p_rqrmnts_complete_ind, 'x')
  		<> NVL(v_old_susa_rec.rqrmnts_complete_ind, 'x')) OR
  	    (NVL(p_rqrmnts_complete_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.rqrmnts_complete_dt,
  			IGS_GE_DATE.IGSDATE('1900/01/01')))))THEN
  		IF Igs_En_Val_Susa.enrp_val_susa_cmplt(
  				p_rqrmnts_complete_dt,
  				p_rqrmnts_complete_ind,
  				p_student_confirmed_ind,
  				v_message_name,
                'N') = FALSE THEN
  			p_message_name := v_message_name;
Line: 1949

  	IF v_inserting OR
  	  (v_updating AND
  	   ((NVL(p_rqrmnts_complete_ind, 'x')
  		<> NVL(v_old_susa_rec.rqrmnts_complete_ind, 'x')) OR
  	    (NVL(p_s_completed_source_type, 'x')
  		<> NVL(v_old_susa_rec.s_completed_source_type, 'x')) OR
  	    (NVL(p_rqrmnts_complete_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.rqrmnts_complete_dt,
  			IGS_GE_DATE.IGSDATE('1900/01/01')))))THEN
  		IF Igs_En_Val_Susa.enrp_val_susa_scst(
  				p_rqrmnts_complete_dt,
  				p_rqrmnts_complete_ind,
  				p_s_completed_source_type,
  				v_message_name) = FALSE THEN
  			p_message_name := v_message_name;
Line: 1969

  	IF v_inserting OR
  	  (v_updating AND
  	    ((NVL(p_selection_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.selection_dt,
  				IGS_GE_DATE.IGSDATE('1900/01/01'))) OR
  	    (NVL(p_end_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.end_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))) OR
  	    (NVL(p_rqrmnts_complete_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.rqrmnts_complete_dt,
  			IGS_GE_DATE.IGSDATE('1900/01/01'))))) THEN
  		IF Igs_En_Val_Susa.enrp_val_susa_dts(
  				p_selection_dt,
  				p_end_dt,
  				p_rqrmnts_complete_dt,
  				v_message_name) = FALSE THEN
  			p_message_name := v_message_name;
Line: 1988

  	-- Validate that the selection date can only be set/unset when unit set is
  	-- confirmed/unconfirmed
  	IF v_inserting OR
  	  (v_updating AND

  	   ((p_student_confirmed_ind <> v_old_susa_rec.student_confirmed_ind) OR
  	    (NVL(p_selection_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.selection_dt,
  				IGS_GE_DATE.IGSDATE('1900/01/01'))))) THEN
  		IF Igs_En_Val_Susa.enrp_val_susa_sci_sd(
  				p_student_confirmed_ind,
  				p_selection_dt,
  				v_message_name,
                'N') = FALSE THEN
  			p_message_name := v_message_name;
Line: 2008

  	IF v_inserting OR
  	  (v_updating AND
  	   ((p_voluntary_end_ind <> v_old_susa_rec.voluntary_end_ind) OR
  	    (NVL(p_end_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))
  		 <> NVL(v_old_susa_rec.end_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))))) THEN
  		IF Igs_En_Val_Susa.enrp_val_susa_end_vi(
  				p_voluntary_end_ind,
  				p_end_dt,
  				v_message_name) = FALSE THEN

  			p_message_name := v_message_name;
Line: 2022

  	-- Validate that the unit set version number cannot be updated.
  	IF (v_updating AND
  	   (p_us_version_number <> v_old_susa_rec.us_version_number)) THEN
  		p_message_name := 'IGS_EN_UNIT_SET_VERNUM_NOTUPD';
Line: 2029

  		-- Validate that the records can be deleted.
  		IF Igs_En_Val_Susa.enrp_val_susa_del(
  					p_person_id,
  					p_course_cd,
  					p_unit_set_cd,
  					p_sequence_number,
  					p_us_version_number,
  					p_end_dt,
  					p_rqrmnts_complete_ind,
  					'N', -- Indicating not called from trigger.
  					v_message_name) = FALSE THEN

  			p_message_name := v_message_name;
Line: 2045

    	IF v_inserting THEN
  		-- Validate the the unit set is able to be created
  		-- with the unit set status being valid and the
  		-- expiry date not set. If set then person must have
  		-- previously selected it.
  		IF Igs_En_Val_Susa.enrp_val_susa_us_act(
  				p_person_id,
  				p_course_cd,
  				p_unit_set_cd,
  				p_sequence_number,
  				p_us_version_number,
  				v_message_name) = FALSE THEN
  			p_message_name := v_message_name;
Line: 2062

    	IF v_inserting OR

    	  (v_updating AND
    	   ((NVL(p_parent_unit_set_cd, 'NULL')
    		<> NVL(v_old_susa_rec.parent_unit_set_cd, 'NULL')) OR
    	   (NVL(p_parent_sequence_number, 0)
    		<> NVL(v_old_susa_rec.parent_sequence_number, 0)))) THEN
  		-- Validate if the unit set is to be defined as a subordinate or if
  		-- relationship specified, that it is valid within the course offering.
  		IF Igs_En_Val_Susa.enrp_val_susa_cousr(
  				p_person_id,
  				p_course_cd,
  				p_unit_set_cd,
  				p_us_version_number,
  				p_parent_unit_set_cd,
  				p_parent_sequence_number,
  				cst_error,
  				v_message_name,
                'N') = FALSE THEN
  			p_message_name := v_message_name;
Line: 2102

    	IF v_inserting OR
    	    (NVL(p_end_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))
    		 <> NVL(v_old_susa_rec.end_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))) THEN
  		-- Validate the end date, check if the authorisation details
  		-- need to be set or if more than one open end dated instance
  		-- of the unit set exists. Also cannot be cleared if parent ended.
  		-- If part of the admissions offer, authorisation required to end
  		-- the unit set.
  		IF Igs_En_Val_Susa.enrp_val_susa_end_dt(
  				p_person_id,
  				p_course_cd,
  				p_unit_set_cd,
  				p_sequence_number,
  				p_us_version_number,
  				p_end_dt,
  				p_authorised_person_id,
  				p_authorised_on,
  				p_parent_unit_set_cd,
  				p_parent_sequence_number,
  				cst_error,
  				v_message_name,
                'N') = FALSE THEN
  			-- Check if warning message returned.
  			IF v_message_name <> 'IGS_EN_UNITSET_REQ_AUTHORISAT' THEN
  				p_message_name := v_message_name;
Line: 2132

  		-- (Inserted records cannot have children at that point).
  		IF v_updating AND

  		    p_end_dt IS NOT NULL THEN

  			IF Igs_En_Val_Susa.enrp_val_susa_ed_upd(
  					p_person_id,
  					p_course_cd,
  					p_unit_set_cd,
  					p_sequence_number,
  					p_end_dt,
  					p_voluntary_end_ind,
  					p_authorised_person_id,
  					p_authorised_on,
  					v_message_name) = FALSE THEN
  				p_message_name := v_message_name;
Line: 2152

    	IF (v_inserting AND p_student_confirmed_ind = 'Y') OR
    	  (v_updating AND
    	   (p_student_confirmed_ind  <> v_old_susa_rec.student_confirmed_ind)) THEN
  		-- Validate that the unit set is not confirmed when the student course
  		-- attempt is unconfirmed.
  		-- Also check that not unset one end date or complete date set. Cannot be

  		-- confirmed and linked to a parent that is unconfirmed. Cannot be
  		-- confirmed if encumbrances exist.
  		IF Igs_En_Val_Susa.enrp_val_susa_sci(
  				p_person_id,
  				p_course_cd,
  				p_unit_set_cd,
  				p_sequence_number,
  				p_us_version_number,
  				p_parent_unit_set_cd,
  				p_parent_sequence_number,
  				p_student_confirmed_ind,
  				p_selection_dt,
  				p_end_dt,
  				p_rqrmnts_complete_ind,
  				v_message_name,
                'N') = FALSE THEN
  			p_message_name := v_message_name;
Line: 2180

  		IF v_inserting THEN
  			v_old_student_confirmed_ind := NULL;
Line: 2200

  		-- with update as unit set cannot have descendant at the point of
  		-- creation).
  		IF v_updating AND
  		    p_student_confirmed_ind = 'N' THEN

  			IF Igs_En_Val_Susa.enrp_val_susa_sci_up(
  					p_person_id,
  					p_course_cd,
  					p_unit_set_cd,
  					p_sequence_number,
  					p_student_confirmed_ind,
  					v_message_name) = FALSE THEN
  				p_message_name := v_message_name;
Line: 2218

    	IF v_inserting OR
    	  (v_updating AND
    	   (p_primary_set_ind  <> v_old_susa_rec.primary_set_ind)) THEN
  		-- Validate the primary set indicator is only set for
  		-- non-administrative sets and that there does not already
  		-- exist a unit set that has a higher rank.
  		IF Igs_En_Val_Susa.enrp_val_susa_prmry(
  				p_person_id,
  				p_course_cd,

  				p_unit_set_cd,
  				p_us_version_number,
  				p_primary_set_ind,
  				v_message_name,
                'N') = FALSE THEN
  			p_message_name := v_message_name;
Line: 2273

  	v_selection_dt			IGS_AS_SU_SETATMPT.selection_dt%TYPE;
Line: 2289

  		SELECT	susa.unit_set_cd,
  			susa.us_version_number,
  			susa.sequence_number,
  			susa.authorised_person_id,
  			susa.authorised_on,
  			susa.selection_dt,
  			susa.end_dt,
  			susa.rqrmnts_complete_dt,
  			susa.parent_unit_set_cd,

  			susa.parent_sequence_number,
  			susa.student_confirmed_ind,
  			susa.primary_set_ind,
  			susa.voluntary_end_ind,
  			susa.override_title,
  			susa.rqrmnts_complete_ind,
  			susa.s_completed_source_type
  		FROM	IGS_AS_SU_SETATMPT susa
  			START WITH 	susa.person_id 			= p_person_id 	AND
  					susa.course_cd			= p_course_cd	AND
  					susa.parent_unit_set_cd 	= p_unit_set_cd AND
  					susa.parent_sequence_number 	= p_sequence_number
  			CONNECT BY
  				PRIOR	susa.person_id		= susa.person_id		AND
  				PRIOR	susa.course_cd		= susa.course_cd		AND
  				PRIOR	susa.unit_set_cd 	= susa.parent_unit_set_cd	AND
  				PRIOR	susa.sequence_number 	= susa.parent_sequence_number;
Line: 2326

  				v_selection_dt,
  				v_end_dt,
  				v_rqrmnts_complete_dt,
  				v_parent_unit_set_cd,
  				v_parent_sequence_number,
  				v_student_confirmed_ind,
  				v_primary_set_ind,
  				v_voluntary_end_ind,
  				v_override_title,
  				v_rqrmnts_complete_ind,
  				v_s_completed_source_type;
Line: 2343

  			-- Determine if authorised person id required to be updated (That is, if
  			-- authorise parameter fields null then do not alter fields.)
  			IF (p_authorised_person_id IS NOT NULL OR

      					p_authorised_on IS NOT NULL) THEN
  				v_authorised_person_id 	:= p_authorised_person_id;
Line: 2351

  			-- Validate that able to update the record.
  			IF Igs_En_Val_Susa.enrp_val_susa(
  						p_person_id,
  						p_course_cd,
  						v_unit_set_cd,
  						v_sequence_number,
  						v_us_version_number,
  						v_selection_dt,
  						v_student_confirmed_ind,
  						p_end_dt,
  						v_parent_unit_set_cd,
  						v_parent_sequence_number,
  						v_primary_set_ind,
  						p_voluntary_end_ind,
  						v_authorised_person_id,
  						v_authorised_on,
  						v_override_title,
  						v_rqrmnts_complete_ind,
  						v_rqrmnts_complete_dt,

  						v_s_completed_source_type,
  						'UPDATE',
  						v_message_name,
  						v_message_text) = FALSE THEN
  				-- Ignore v_message_text as rules are not used here in any validation.
   				CLOSE c_susa;
Line: 2386

  					v_selection_dt,
  					v_end_dt,
  					v_rqrmnts_complete_dt,
  					v_parent_unit_set_cd,
  					v_parent_sequence_number,
  					v_student_confirmed_ind,
  					v_primary_set_ind,
  					v_voluntary_end_ind,

  					v_override_title,
  					v_rqrmnts_complete_ind,
  					v_s_completed_source_type;
Line: 2438

  		SELECT	susa.unit_set_cd,
  			susa.us_version_number,
  			susa.sequence_number,
  			susa.authorised_person_id,

  			susa.authorised_on,
  			susa.selection_dt,
  			susa.end_dt,
  			susa.rqrmnts_complete_dt,
  			susa.parent_unit_set_cd,
  			susa.parent_sequence_number,
  			susa.student_confirmed_ind,
  			susa.primary_set_ind,
  			susa.voluntary_end_ind,
  			susa.override_title,
  			susa.rqrmnts_complete_ind,
  			susa.s_completed_source_type
  		FROM	IGS_AS_SU_SETATMPT susa
  			START WITH 	susa.person_id 			= p_person_id 	AND
  					susa.course_cd			= p_course_cd	AND
  					susa.parent_unit_set_cd 	= p_unit_set_cd AND
  					susa.parent_sequence_number 	= p_sequence_number
  			CONNECT BY
  				PRIOR	susa.person_id		= susa.person_id		AND
  				PRIOR	susa.course_cd		= susa.course_cd		AND
  				PRIOR	susa.unit_set_cd 	= susa.parent_unit_set_cd	AND
  				PRIOR	susa.sequence_number 	= susa.parent_sequence_number;
Line: 2486

  			-- Validate that able to update the record.
  			IF Igs_En_Val_Susa.enrp_val_susa(
  						p_person_id,
  						p_course_cd,
  						v_susa_rec.unit_set_cd,
  						v_susa_rec.sequence_number,
  						v_susa_rec.us_version_number,

  						NULL,	-- selection_dt
  						'N',	-- student_confirmed_ind
  						v_susa_rec.end_dt,
  						v_susa_rec.parent_unit_set_cd,
  						v_susa_rec.parent_sequence_number,
  						v_susa_rec.primary_set_ind,
  						v_susa_rec.voluntary_end_ind,
  						v_susa_rec.authorised_person_id,
  						v_susa_rec.authorised_on,
  						v_susa_rec.override_title,
  						v_susa_rec.rqrmnts_complete_ind,
  						v_susa_rec.rqrmnts_complete_dt,
  						v_susa_rec.s_completed_source_type,
  						'UPDATE',
  						v_message_name,
  						v_message_text) = FALSE THEN
  				-- Ignore v_message_text as rules are not used here in any validation.
  				p_message_name := v_message_name;