[Home] [Help]
1: PACKAGE BODY Igs_En_Su_Attempt_Pkg AS
2: /* $Header: IGSEI36B.pls 120.22 2006/03/02 03:30:18 bdeviset ship $ */
3:
4: l_rowid VARCHAR2(25);
5: old_references IGS_EN_SU_ATTEMPT_ALL%ROWTYPE;
6: new_references IGS_EN_SU_ATTEMPT_ALL%ROWTYPE;
7: l_old_cp NUMBER(10);
8: l_new_cp NUMBER(10);
9: l_load_cal_type IGS_CA_INST.CAL_TYPE%TYPE;
2: /* $Header: IGSEI36B.pls 120.22 2006/03/02 03:30:18 bdeviset ship $ */
3:
4: l_rowid VARCHAR2(25);
5: old_references IGS_EN_SU_ATTEMPT_ALL%ROWTYPE;
6: new_references IGS_EN_SU_ATTEMPT_ALL%ROWTYPE;
7: l_old_cp NUMBER(10);
8: l_new_cp NUMBER(10);
9: l_load_cal_type IGS_CA_INST.CAL_TYPE%TYPE;
10: l_load_seq_num IGS_CA_INST.SEQUENCE_NUMBER%TYPE;
98: X_SS_SOURCE_IND IN VARCHAR2 DEFAULT 'N'
99: ) AS
100: CURSOR cur_old_ref_values IS
101: SELECT *
102: FROM IGS_EN_SU_ATTEMPT_ALL
103: WHERE ROWID = x_rowid;
104: BEGIN
105: l_rowid := x_rowid;
106: -- initialising the global variables for bug#5020285
350:
351: -- Trigger description :-
352: -- "OSS_TST".trg_sua_br_iud
353: -- BEFORE INSERT OR DELETE OR UPDATE
354: -- ON IGS_EN_SU_ATTEMPT_ALL
355: -- FOR EACH ROW
356: PROCEDURE BeforeRowInsertUpdateDelete1(
357: p_inserting IN BOOLEAN ,
358: p_updating IN BOOLEAN ,
420:
421: l_admin_priority igs_en_su_attempt.administrative_priority%TYPE;
422: v_message_name VARCHAR2(30);
423: v_message_token VARCHAR2(2000);
424: v_rule_waived_person_id IGS_EN_SU_ATTEMPT_ALL.rule_waived_person_id%TYPE;
425: v_effective_dt DATE;
426: v_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
427: v_return_val IGS_PE_STD_TODO.sequence_number%TYPE;
428: v_old_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
422: v_message_name VARCHAR2(30);
423: v_message_token VARCHAR2(2000);
424: v_rule_waived_person_id IGS_EN_SU_ATTEMPT_ALL.rule_waived_person_id%TYPE;
425: v_effective_dt DATE;
426: v_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
427: v_return_val IGS_PE_STD_TODO.sequence_number%TYPE;
428: v_old_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
429: v_old_location_cd IGS_EN_SU_ATTEMPT_ALL.location_cd%TYPE;
430: v_old_unit_class IGS_EN_SU_ATTEMPT_ALL.unit_class%TYPE;
424: v_rule_waived_person_id IGS_EN_SU_ATTEMPT_ALL.rule_waived_person_id%TYPE;
425: v_effective_dt DATE;
426: v_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
427: v_return_val IGS_PE_STD_TODO.sequence_number%TYPE;
428: v_old_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
429: v_old_location_cd IGS_EN_SU_ATTEMPT_ALL.location_cd%TYPE;
430: v_old_unit_class IGS_EN_SU_ATTEMPT_ALL.unit_class%TYPE;
431: cst_duplicate CONSTANT VARCHAR2(10) := 'DUPLICATE';
432: cst_completed CONSTANT VARCHAR2(10) := 'COMPLETED';
425: v_effective_dt DATE;
426: v_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
427: v_return_val IGS_PE_STD_TODO.sequence_number%TYPE;
428: v_old_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
429: v_old_location_cd IGS_EN_SU_ATTEMPT_ALL.location_cd%TYPE;
430: v_old_unit_class IGS_EN_SU_ATTEMPT_ALL.unit_class%TYPE;
431: cst_duplicate CONSTANT VARCHAR2(10) := 'DUPLICATE';
432: cst_completed CONSTANT VARCHAR2(10) := 'COMPLETED';
433: cst_discontin CONSTANT VARCHAR2(10) := 'DISCONTIN';
426: v_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
427: v_return_val IGS_PE_STD_TODO.sequence_number%TYPE;
428: v_old_unit_attempt_status IGS_EN_SU_ATTEMPT_ALL.unit_attempt_status%TYPE;
429: v_old_location_cd IGS_EN_SU_ATTEMPT_ALL.location_cd%TYPE;
430: v_old_unit_class IGS_EN_SU_ATTEMPT_ALL.unit_class%TYPE;
431: cst_duplicate CONSTANT VARCHAR2(10) := 'DUPLICATE';
432: cst_completed CONSTANT VARCHAR2(10) := 'COMPLETED';
433: cst_discontin CONSTANT VARCHAR2(10) := 'DISCONTIN';
434: p_duplicate_course_cd VARCHAR2(30);
462: END IF;
463: END IF;
464:
465: -- If trigger has not been disabled, perform required processing
466: --IF igs_as_val_suaap.genp_val_sdtt_sess('IGS_EN_SU_ATTEMPT_ALL') THEN
467: -- Set audit details and discontinuation details
468: IF p_inserting THEN
469: -- Validate that the IGS_PS_UNIT offering option is being offered.
470: IF IGS_EN_VAL_SUA.enrp_val_sua_uoo(
1258:
1259: -- Trigger description :-
1260: -- "OSS_TST".trg_sua_br_iud_fin
1261: -- BEFORE INSERT OR DELETE OR UPDATE
1262: -- ON IGS_EN_SU_ATTEMPT_ALL
1263: -- FOR EACH ROW
1264: PROCEDURE BeforeRowInsertUpdateDelete2(
1265: p_inserting IN BOOLEAN,
1266: p_updating IN BOOLEAN ,
1387:
1388: -- Trigger description :-
1389: -- "OSS_TST".trg_sua_ar_iud
1390: -- AFTER INSERT OR DELETE OR UPDATE
1391: -- ON IGS_EN_SU_ATTEMPT_ALL
1392: -- FOR EACH ROW
1393: PROCEDURE AfterRowInsertUpdateDelete3(
1394: p_inserting IN BOOLEAN,
1395: p_updating IN BOOLEAN ,
1398: v_message_name VARCHAR2(30);
1399: v_rowid_saved BOOLEAN := FALSE;
1400: BEGIN
1401: -- If trigger has not been disabled, perform required processing
1402: -- IF igs_as_val_suaap.genp_val_sdtt_sess('IGS_EN_SU_ATTEMPT_ALL') THEN
1403: IF(p_updating AND
1404: old_references.unit_attempt_status <> new_references.unit_attempt_status) OR
1405: p_inserting THEN
1406: -- update of student IGS_PS_COURSE attempt after student IGS_PS_UNIT attempt is posted
1425:
1426: -- Trigger description :-
1427: -- "OSS_TST".trg_sua_ar_u_hist
1428: -- AFTER UPDATE
1429: -- ON IGS_EN_SU_ATTEMPT_ALL
1430: -- FOR EACH ROW
1431: PROCEDURE AfterRowUpdate4(
1432: p_inserting IN BOOLEAN,
1433: p_updating IN BOOLEAN ,
1490: END AfterRowUpdate4;
1491: -- Trigger description :-
1492: -- "OSS_TST".trg_sua_as_iud
1493: -- AFTER INSERT OR DELETE OR UPDATE
1494: -- ON IGS_EN_SU_ATTEMPT_ALL
1495:
1496:
1497: PROCEDURE Check_Parent_Existance AS
1498: BEGIN
1758: x_uoo_id IN NUMBER
1759: ) RETURN BOOLEAN AS
1760: CURSOR cur_rowid IS
1761: SELECT ROWID
1762: FROM IGS_EN_SU_ATTEMPT_ALL
1763: WHERE person_id = x_person_id
1764: AND course_cd = x_course_cd
1765: AND uoo_id = x_uoo_id
1766: FOR UPDATE NOWAIT;
1784: x_end_dt IN DATE
1785: ) AS
1786: CURSOR cur_rowid IS
1787: SELECT ROWID
1788: FROM IGS_EN_SU_ATTEMPT_ALL
1789: WHERE cal_type= x_cal_type
1790: AND ci_sequence_number = x_sequence_number
1791: AND ci_start_dt = x_start_dt
1792: AND ci_end_dt = x_end_dt ;
1808: x_location_cd IN VARCHAR2
1809: ) AS
1810: CURSOR cur_rowid IS
1811: SELECT ROWID
1812: FROM IGS_EN_SU_ATTEMPT_ALL
1813: WHERE exam_location_cd = x_location_cd ;
1814: lv_rowid cur_rowid%ROWTYPE;
1815: BEGIN
1816: OPEN cur_rowid;
1830: x_gs_version_number IN NUMBER
1831: ) AS
1832: CURSOR cur_rowid IS
1833: SELECT ROWID
1834: FROM IGS_EN_SU_ATTEMPT_ALL
1835: WHERE grading_schema_code = x_grading_schema_code
1836: AND
1837: gs_version_number = x_gs_version_number ;
1838:
1854: x_person_id IN NUMBER
1855: ) AS
1856: CURSOR cur_rowid IS
1857: SELECT ROWID
1858: FROM IGS_EN_SU_ATTEMPT_ALL
1859: WHERE rule_waived_person_id = x_person_id ;
1860: lv_rowid cur_rowid%ROWTYPE;
1861: BEGIN
1862: OPEN cur_rowid;
1876: x_course_cd IN VARCHAR2
1877: ) AS
1878: CURSOR cur_rowid IS
1879: SELECT ROWID
1880: FROM IGS_EN_SU_ATTEMPT_ALL
1881: WHERE person_id = x_person_id
1882: AND course_cd = x_course_cd ;
1883: lv_rowid cur_rowid%ROWTYPE;
1884: BEGIN
1898: x_unit_attempt_status IN VARCHAR2
1899: ) AS
1900: CURSOR cur_rowid IS
1901: SELECT ROWID
1902: FROM IGS_EN_SU_ATTEMPT_ALL
1903: WHERE unit_attempt_status = x_unit_attempt_status ;
1904: lv_rowid cur_rowid%ROWTYPE;
1905: BEGIN
1906: OPEN cur_rowid;
1920: x_version_number IN NUMBER
1921: ) AS
1922: CURSOR cur_rowid IS
1923: SELECT ROWID
1924: FROM IGS_EN_SU_ATTEMPT_ALL
1925: WHERE sup_unit_cd = x_unit_cd
1926: AND sup_version_number = x_version_number
1927: OR (unit_cd = x_unit_cd
1928: AND version_number = x_version_number ) ;
1944: x_unit_cd IN VARCHAR2
1945: ) AS
1946: CURSOR cur_rowid IS
1947: SELECT ROWID
1948: FROM IGS_EN_SU_ATTEMPT_ALL
1949: WHERE unit_cd = x_unit_cd ;
1950: lv_rowid cur_rowid%ROWTYPE;
1951: BEGIN
1952: OPEN cur_rowid;
1970: x_unit_class IN VARCHAR2
1971: ) AS
1972: CURSOR cur_rowid IS
1973: SELECT ROWID
1974: FROM IGS_EN_SU_ATTEMPT_ALL
1975: WHERE unit_cd = x_unit_cd
1976: AND version_number = x_version_number
1977: AND cal_type= x_cal_type
1978: AND ci_sequence_number = x_ci_sequence_number
1996: x_uoo_id IN NUMBER
1997: ) AS
1998: CURSOR cur_rowid IS
1999: SELECT ROWID
2000: FROM IGS_EN_SU_ATTEMPT_ALL
2001: WHERE uoo_id = x_uoo_id ;
2002: lv_rowid cur_rowid%ROWTYPE;
2003: BEGIN
2004: OPEN cur_rowid;
2019: x_unit_cd IN VARCHAR2
2020: ) AS
2021: CURSOR cur_rowid IS
2022: SELECT ROWID
2023: FROM IGS_EN_SU_ATTEMPT_ALL
2024: WHERE version_number = x_version_number
2025: AND grading_schema_code = x_grading_schema_code
2026: AND gs_version_number = x_gs_version_number
2027: AND unit_cd = x_unit_cd ;
2046: x_uoo_id IN NUMBER
2047: ) AS
2048: CURSOR cur_rowid IS
2049: SELECT ROWID
2050: FROM IGS_EN_SU_ATTEMPT_ALL
2051: WHERE grading_schema_code = x_grading_schema_code
2052: AND gs_version_number = x_gs_version_number
2053: AND uoo_id = x_uoo_id ;
2054:
2183: -- add_units_api for Calling Object as 'PLAN' as a part of bug#4666102
2184: ------------------------------------------------------------------------------------
2185: CURSOR cur_rowid IS
2186: SELECT ROWID
2187: FROM IGS_EN_SU_ATTEMPT_ALL
2188: WHERE person_id = x_person_id
2189: AND course_cd = x_course_cd
2190: AND uoo_id = x_uoo_id
2191: AND unit_attempt_status = 'DROPPED';
3061: ---------------------------------------------------------------------------------------*/
3062: -- Changing the parameters X_UNIT_CD, X_CAL_TYPE, X_CI_SEQUENCE_NUMBER TO NEW_REFERENCES
3063: -- in response to the bug 1766230. For further detils please refer to version 115.19 of IGSEI36B.pls
3064:
3065: CURSOR C IS SELECT ROWID FROM IGS_EN_SU_ATTEMPT_ALL
3066: WHERE PERSON_ID = X_PERSON_ID
3067: AND COURSE_CD = X_COURSE_CD
3068: AND UOO_ID = X_UOO_ID;
3069:
3069:
3070:
3071: CURSOR cur_rowid IS
3072: SELECT ROWID
3073: FROM IGS_EN_SU_ATTEMPT_ALL
3074: WHERE person_id = x_person_id
3075: AND course_cd = x_course_cd
3076: AND unit_attempt_status = 'DROPPED'
3077: AND ( uoo_id = x_uoo_id
3292: --
3293: IF (x_mode = 'S') THEN
3294: igs_sc_gen_001.set_ctx('R');
3295: END IF;
3296: INSERT INTO IGS_EN_SU_ATTEMPT_ALL (
3297: PERSON_ID,
3298: COURSE_CD,
3299: UNIT_CD,
3300: VERSION_NUMBER,
3640: -- CORE_INDICATOR_CODE added by ptandon 30-SEP-2003. Enh Bug# 3052432
3641: CORE_INDICATOR_CODE,
3642: UPD_AUDIT_FLAG,
3643: SS_SOURCE_IND
3644: FROM IGS_EN_SU_ATTEMPT_ALL
3645: WHERE ROWID = X_ROWID FOR UPDATE NOWAIT;
3646: tlinfo c1%ROWTYPE;
3647: BEGIN
3648: OPEN c1;
4054:
4055: IF (x_mode = 'S') THEN
4056: igs_sc_gen_001.set_ctx('R');
4057: END IF;
4058: UPDATE IGS_EN_SU_ATTEMPT_ALL SET
4059: VERSION_NUMBER = NEW_REFERENCES.VERSION_NUMBER,
4060: LOCATION_CD = NEW_REFERENCES.LOCATION_CD,
4061: UNIT_CLASS = NEW_REFERENCES.UNIT_CLASS,
4062: CI_START_DT = NEW_REFERENCES.CI_START_DT,
4241: X_CORE_INDICATOR_CODE IN VARCHAR2,
4242: X_UPD_AUDIT_FLAG IN VARCHAR2 ,
4243: X_SS_SOURCE_IND IN VARCHAR2
4244: ) AS
4245: CURSOR c1 IS SELECT ROWID FROM IGS_EN_SU_ATTEMPT_ALL
4246: WHERE PERSON_ID = X_PERSON_ID
4247: AND COURSE_CD = X_COURSE_CD
4248: AND UOO_ID = X_UOO_ID
4249:
4531:
4532: IF (x_mode = 'S') THEN
4533: igs_sc_gen_001.set_ctx('R');
4534: END IF;
4535: DELETE FROM IGS_EN_SU_ATTEMPT_ALL
4536: WHERE ROWID = X_ROWID;
4537:
4538: IF (SQL%NOTFOUND) THEN
4539: fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
4741: x_version_number IN NUMBER
4742: ) RETURN BOOLEAN AS
4743: CURSOR cur_sua IS
4744: SELECT ROWID
4745: FROM IGS_EN_SU_ATTEMPT_ALL
4746: WHERE unit_cd = x_unit_cd
4747: AND cal_type = x_cal_type
4748: AND ci_sequence_number = x_ci_sequence_number
4749: AND location_cd = x_location_cd