[Home] [Help]
60: IGS_GE_MSG_STACK.ADD;
61: App_Exception.Raise_Exception;
62: END crsp_val_unit_lvl;
63: --
64: -- Validate the credit point descritor for IGS_PS_UNIT version.
65: FUNCTION crsp_val_uv_cp_desc(
66: P_CREDIT_POINT_DESCRIPTOR IN VARCHAR2,
67: P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
68: RETURN BOOLEAN AS
92: IGS_GE_MSG_STACK.ADD;
93: App_Exception.Raise_Exception;
94: END crsp_val_uv_cp_desc;
95: --
96: -- Validate the IGS_PS_UNIT internal IGS_PS_COURSE level for IGS_PS_UNIT version.
97: FUNCTION crsp_val_uv_uicl(
98: p_unit_int_course_level_cd IN VARCHAR2 ,
99: p_message_name OUT NOCOPY VARCHAR2 )
100: RETURN BOOLEAN AS
124: App_Exception.Raise_Exception;
125: END crsp_val_uv_uicl;
126:
127: --
128: -- Validate IGS_PS_UNIT version end date and IGS_PS_UNIT version status
129: FUNCTION crsp_val_uv_end_sts(
130: p_end_dt IN DATE ,
131: p_unit_status IN VARCHAR2 ,
132: p_message_name OUT NOCOPY VARCHAR2)
169: IGS_GE_MSG_STACK.ADD;
170: App_Exception.Raise_Exception;
171: END crsp_val_uv_end_sts;
172: --
173: -- Validate IGS_PS_UNIT version expiry date and IGS_PS_UNIT version status.
174: FUNCTION crsp_val_uv_exp_sts(
175: p_unit_cd IN VARCHAR2 ,
176: p_version_number IN NUMBER ,
177: p_expiry_dt IN DATE ,
185: FROM IGS_PS_UNIT_STAT
186: WHERE unit_status = p_unit_status;
187: CURSOR c_check_uv_us IS
188: SELECT 'x'
189: FROM IGS_PS_UNIT_VER uv,
190: IGS_PS_UNIT_STAT us
191: WHERE unit_cd = p_unit_cd AND
192: version_number <> p_version_number AND
193: expiry_dt IS NULL AND
251: l_ret_status BOOLEAN :=TRUE;
252: BEGIN
253: -- This module performs cross-field validation for points
254: -- increment points minimum and points maximum fields in
255: -- IGS_PS_UNIT version table
256: p_message_name := NULL;
257: IF(p_points_override_ind = 'Y') THEN
258: -- validate that p_points_min <= p_points_max
259: IF p_points_min IS NOT NULL AND
367: IGS_GE_MSG_STACK.ADD;
368: App_Exception.Raise_Exception;
369: END crsp_val_uv_pnt_ovrd;
370: --
371: -- Validate the IGS_PS_UNIT status for IGS_PS_UNIT version
372: FUNCTION crsp_val_uv_unit_sts(
373: p_unit_cd IN VARCHAR2 ,
374: p_version_number IN NUMBER ,
375: p_new_unit_status IN VARCHAR2 ,
481: IGS_GE_MSG_STACK.ADD;
482: App_Exception.Raise_Exception;
483: END crsp_val_uv_unit_sts;
484: --
485: -- Perform quality validation checks on a IGS_PS_UNIT version and its details.
486: FUNCTION crsp_val_uv_quality(
487: p_unit_cd IN VARCHAR2 ,
488: p_version_number IN NUMBER ,
489: p_old_unit_status IN VARCHAR2 ,
491: RETURN BOOLEAN AS
492: BEGIN -- crsp_val_uv_quality
493: -- Perform a quality validation check on insert.
494: -- * Validate that all reference data is open and available for use
495: -- for IGS_PS_UNIT_VER records (e.g IGS_PS_UNIT_LEVEL is not closed) and also
496: -- for existing IGS_PS_UNIT_VER detail records such as:
497: -- IGS_PS_UNIT_DSCP,
498: -- IGS_PS_UNIT_CATEGORY,
499: -- IGS_PS_UNIT_LVL,
492: BEGIN -- crsp_val_uv_quality
493: -- Perform a quality validation check on insert.
494: -- * Validate that all reference data is open and available for use
495: -- for IGS_PS_UNIT_VER records (e.g IGS_PS_UNIT_LEVEL is not closed) and also
496: -- for existing IGS_PS_UNIT_VER detail records such as:
497: -- IGS_PS_UNIT_DSCP,
498: -- IGS_PS_UNIT_CATEGORY,
499: -- IGS_PS_UNIT_LVL,
500: -- IGS_PS_UNIT_REF_CD.
497: -- IGS_PS_UNIT_DSCP,
498: -- IGS_PS_UNIT_CATEGORY,
499: -- IGS_PS_UNIT_LVL,
500: -- IGS_PS_UNIT_REF_CD.
501: -- If IGS_PS_UNIT version is altered from a system status of planned to
502: -- active then check:
503: -- IGS_PS_UNIT_OFR,
504: -- IGS_PS_UNIT_OFR_PAT,
505: -- IGS_PS_UNIT_OFR_OPT.
503: -- IGS_PS_UNIT_OFR,
504: -- IGS_PS_UNIT_OFR_PAT,
505: -- IGS_PS_UNIT_OFR_OPT.
506: -- * Validate that where tables contains fields that hold percentages, that
507: -- the records total 100% for the given IGS_PS_UNIT version. The relevant tables
508: -- are:
509: -- IGS_PS_TCH_RESP,
510: -- IGS_PS_TCH_RESP_OVRD,
511: -- IGS_PS_UNIT_DSCP.
511: -- IGS_PS_UNIT_DSCP.
512: -- * Validate that all referenced organisational units are active.
513: DECLARE
514: v_terminate BOOLEAN := FALSE;
515: v_uv_rec IGS_PS_UNIT_VER%ROWTYPE;
516: v_s_unit_status IGS_PS_UNIT_STAT.s_unit_status%TYPE;
517: v_message_name VARCHAR2(30);
518: v_ret BOOLEAN;
519: CURSOR c_unit_version IS
517: v_message_name VARCHAR2(30);
518: v_ret BOOLEAN;
519: CURSOR c_unit_version IS
520: SELECT *
521: FROM IGS_PS_UNIT_VER
522: WHERE unit_cd = p_unit_cd AND
523: version_number = p_version_number;
524: CURSOR c_unit_discipline IS
525: SELECT discipline_group_cd
611: p_version_number,
612: p_message_name,FALSE) = FALSE) THEN
613: RETURN FALSE;
614: END IF;
615: -- Loop for all offereing options for the IGS_PS_UNIT version.
616: FOR v_teach_res_ovrd_rec IN c_teach_res_ovrd LOOP
617: IF IGS_PS_VAL_TRo.crsp_val_tro_perc (
618: p_unit_cd,
619: p_version_number,
1032: |
1033: |*/
1034: BEGIN -- crsp_val_uv_dsc_ovrd
1035: -- This module validates student IGS_PS_UNIT attempt credit point override
1036: -- values against values in the IGS_PS_UNIT version for students that have
1037: -- a unit_attempt status of discontinued but a result type of pass.
1038: DECLARE
1039: cst_discontin CONSTANT VARCHAR2(9) := 'DISCONTIN';
1040: cst_pass CONSTANT VARCHAR2(4) := 'PASS';
1067: p_points_increment) <> 0.0) ;
1068: BEGIN
1069: -- Set the default message number
1070: p_message_name := NULL;
1071: -- Validate IGS_PS_UNIT version
1072: OPEN c_uv_dsc_ovrd;
1073: FETCH c_uv_dsc_ovrd INTO v_x;
1074: IF c_uv_dsc_ovrd%FOUND THEN
1075: CLOSE c_uv_dsc_ovrd;
1092: IGS_GE_MSG_STACK.ADD;
1093: App_Exception.Raise_Exception;
1094: END crsp_val_uv_dsc_ovrd;
1095: --
1096: -- Validate IGS_PS_UNIT attempts when ending IGS_PS_UNIT version.
1097: FUNCTION crsp_val_uv_end(
1098: p_unit_cd IN VARCHAR2 ,
1099: p_version_number IN NUMBER ,
1100: p_return_type OUT NOCOPY VARCHAR2 ,
1100: p_return_type OUT NOCOPY VARCHAR2 ,
1101: p_message_name OUT NOCOPY VARCHAR2 )
1102: RETURN BOOLEAN AS
1103: BEGIN -- crsp_val_uv_end
1104: -- Perform checks required prior to the 'ending' of a IGS_PS_UNIT version, being
1105: -- - no 'enrolled' attempts can be linked to the version.
1106: DECLARE
1107: cst_enrolled CONSTANT
1108: IGS_LOOKUPS_VIEW.Lookup_Code%TYPE := 'ENROLLED';
1233: Change History :
1234: Who When What
1235: *************************************************************************************************/
1236:
1237: l_uv_enrolled_cp IGS_PS_UNIT_VER.enrolled_credit_points%TYPE;
1238: l_uv_billing_cp IGS_PS_UNIT_VER.billing_hrs%TYPE;
1239: l_uv_audit_cp IGS_PS_UNIT_VER.billing_credit_points%TYPE;
1240: l_uoo_enrolled_cp IGS_PS_USEC_CPS.enrolled_credit_points%TYPE;
1241: l_uoo_billing_cp IGS_PS_USEC_CPS.billing_hrs%TYPE;
1234: Who When What
1235: *************************************************************************************************/
1236:
1237: l_uv_enrolled_cp IGS_PS_UNIT_VER.enrolled_credit_points%TYPE;
1238: l_uv_billing_cp IGS_PS_UNIT_VER.billing_hrs%TYPE;
1239: l_uv_audit_cp IGS_PS_UNIT_VER.billing_credit_points%TYPE;
1240: l_uoo_enrolled_cp IGS_PS_USEC_CPS.enrolled_credit_points%TYPE;
1241: l_uoo_billing_cp IGS_PS_USEC_CPS.billing_hrs%TYPE;
1242: l_uoo_audit_cp IGS_PS_USEC_CPS.billing_credit_points%TYPE;
1235: *************************************************************************************************/
1236:
1237: l_uv_enrolled_cp IGS_PS_UNIT_VER.enrolled_credit_points%TYPE;
1238: l_uv_billing_cp IGS_PS_UNIT_VER.billing_hrs%TYPE;
1239: l_uv_audit_cp IGS_PS_UNIT_VER.billing_credit_points%TYPE;
1240: l_uoo_enrolled_cp IGS_PS_USEC_CPS.enrolled_credit_points%TYPE;
1241: l_uoo_billing_cp IGS_PS_USEC_CPS.billing_hrs%TYPE;
1242: l_uoo_audit_cp IGS_PS_USEC_CPS.billing_credit_points%TYPE;
1243:
1247: uv.enrolled_credit_points,
1248: uv.billing_hrs,
1249: uv.billing_credit_points
1250: FROM
1251: IGS_PS_UNIT_VER uv,
1252: IGS_PS_UNIT_OFR_OPT uoo
1253: WHERE
1254: uoo.uoo_id = cp_uoo_id AND
1255: uoo.unit_cd = uv.unit_cd AND