1: PACKAGE BODY igs_en_timeslot_para_pkg AS
2: /* $Header: IGSEI41B.pls 115.6 2002/11/28 23:42:16 nsidana ship $ */
3:
4: l_rowid VARCHAR2(25);
5: old_references igs_en_timeslot_para%ROWTYPE;
1: PACKAGE BODY igs_en_timeslot_para_pkg AS
2: /* $Header: IGSEI41B.pls 115.6 2002/11/28 23:42:16 nsidana ship $ */
3:
4: l_rowid VARCHAR2(25);
5: old_references igs_en_timeslot_para%ROWTYPE;
6: new_references igs_en_timeslot_para%ROWTYPE;
7:
8: PROCEDURE set_column_values (
9: p_action IN VARCHAR2,
2: /* $Header: IGSEI41B.pls 115.6 2002/11/28 23:42:16 nsidana ship $ */
3:
4: l_rowid VARCHAR2(25);
5: old_references igs_en_timeslot_para%ROWTYPE;
6: new_references igs_en_timeslot_para%ROWTYPE;
7:
8: PROCEDURE set_column_values (
9: p_action IN VARCHAR2,
10: x_rowid IN VARCHAR2 DEFAULT NULL,
7:
8: PROCEDURE set_column_values (
9: p_action IN VARCHAR2,
10: x_rowid IN VARCHAR2 DEFAULT NULL,
11: x_igs_en_timeslot_para_id IN NUMBER DEFAULT NULL,
12: x_program_type_group_cd IN VARCHAR2 DEFAULT NULL,
13: x_cal_type IN VARCHAR2 DEFAULT NULL,
14: x_sequence_number IN NUMBER DEFAULT NULL,
15: x_student_type IN VARCHAR2 DEFAULT NULL,
37: */
38:
39: CURSOR cur_old_ref_values IS
40: SELECT *
41: FROM IGS_EN_TIMESLOT_PARA
42: WHERE rowid = x_rowid;
43:
44: BEGIN
45:
58: END IF;
59: CLOSE cur_old_ref_values;
60:
61: -- Populate New Values.
62: new_references.igs_en_timeslot_para_id := x_igs_en_timeslot_para_id;
63: new_references.program_type_group_cd := x_program_type_group_cd;
64: new_references.cal_type := x_cal_type;
65: new_references.sequence_number := x_sequence_number;
66: new_references.student_type := x_student_type;
127: || (reverse chronological order - newest change first)
128: */
129: BEGIN
130:
131: igs_en_timeslot_rslt_pkg.get_fk_igs_en_timeslot_para (
132: old_references.igs_en_timeslot_para_id
133: );
134:
135: END check_child_existance;
128: */
129: BEGIN
130:
131: igs_en_timeslot_rslt_pkg.get_fk_igs_en_timeslot_para (
132: old_references.igs_en_timeslot_para_id
133: );
134:
135: END check_child_existance;
136:
135: END check_child_existance;
136:
137:
138: FUNCTION get_pk_for_validation (
139: x_igs_en_timeslot_para_id IN NUMBER
140: ) RETURN BOOLEAN AS
141: /*
142: || Created By : nalkumar
143: || Created On : 08-DEC-2000
148: || (reverse chronological order - newest change first)
149: */
150: CURSOR cur_rowid IS
151: SELECT rowid
152: FROM igs_en_timeslot_para
153: WHERE igs_en_timeslot_para_id = x_igs_en_timeslot_para_id
154: FOR UPDATE NOWAIT;
155:
156: lv_rowid cur_rowid%RowType;
149: */
150: CURSOR cur_rowid IS
151: SELECT rowid
152: FROM igs_en_timeslot_para
153: WHERE igs_en_timeslot_para_id = x_igs_en_timeslot_para_id
154: FOR UPDATE NOWAIT;
155:
156: lv_rowid cur_rowid%RowType;
157:
188: || (reverse chronological order - newest change first)
189: */
190: CURSOR cur_rowid IS
191: SELECT rowid
192: FROM igs_en_timeslot_para
193: WHERE program_type_group_cd = x_program_type_group_cd
194: AND cal_type = x_cal_type
195: AND sequence_number = x_sequence_number
196: AND student_type = x_student_type
228: */
229:
230: CURSOR cur_rowid IS
231: SELECT rowid
232: FROM IGS_EN_TIMESLOT_PARA
233: WHERE TIMESLOT_CALENDAR = X_TIMESLOT_NAME;
234:
235: lv_rowid cur_rowid%RowType;
236:
252:
253: PROCEDURE before_dml (
254: p_action IN VARCHAR2,
255: x_rowid IN VARCHAR2 DEFAULT NULL,
256: x_igs_en_timeslot_para_id IN NUMBER DEFAULT NULL,
257: x_program_type_group_cd IN VARCHAR2 DEFAULT NULL,
258: x_cal_type IN VARCHAR2 DEFAULT NULL,
259: x_sequence_number IN NUMBER DEFAULT NULL,
260: x_student_type IN VARCHAR2 DEFAULT NULL,
285:
286: set_column_values (
287: p_action,
288: x_rowid,
289: x_igs_en_timeslot_para_id,
290: x_program_type_group_cd,
291: x_cal_type,
292: x_sequence_number,
293: x_student_type,
307:
308: IF (p_action = 'INSERT') THEN
309: -- Call all the procedures related to Before Insert.
310: IF ( get_pk_for_validation(
311: new_references.igs_en_timeslot_para_id
312: )
313: ) THEN
314: fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
315: igs_ge_msg_stack.add;
324: check_child_existance;
325: ELSIF (p_action = 'VALIDATE_INSERT') THEN
326: -- Call all the procedures related to Before Insert.
327: IF ( get_pk_for_validation (
328: new_references.igs_en_timeslot_para_id
329: )
330: ) THEN
331: fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
332: igs_ge_msg_stack.add;
343:
344:
345: PROCEDURE insert_row (
346: x_rowid IN OUT NOCOPY VARCHAR2,
347: x_igs_en_timeslot_para_id IN OUT NOCOPY NUMBER,
348: x_program_type_group_cd IN VARCHAR2,
349: x_cal_type IN VARCHAR2,
350: x_sequence_number IN NUMBER,
351: x_student_type IN VARCHAR2,
370: || in before dml as part of bug# 2457599
371: */
372: CURSOR c IS
373: SELECT rowid
374: FROM igs_en_timeslot_para
375: WHERE igs_en_timeslot_para_id = x_igs_en_timeslot_para_id;
376:
377: x_last_update_date DATE;
378: x_last_updated_by NUMBER;
371: */
372: CURSOR c IS
373: SELECT rowid
374: FROM igs_en_timeslot_para
375: WHERE igs_en_timeslot_para_id = x_igs_en_timeslot_para_id;
376:
377: x_last_update_date DATE;
378: x_last_updated_by NUMBER;
379: x_last_update_login NUMBER;
415: app_exception.raise_exception;
416: END IF;
417:
418:
419: SELECT IGS_EN_TIMESLOT_PARA_S.NEXTVAL
420: INTO x_igs_en_timeslot_para_id
421: FROM DUAL;
422:
423: before_dml(
416: END IF;
417:
418:
419: SELECT IGS_EN_TIMESLOT_PARA_S.NEXTVAL
420: INTO x_igs_en_timeslot_para_id
421: FROM DUAL;
422:
423: before_dml(
424: p_action => 'INSERT',
422:
423: before_dml(
424: p_action => 'INSERT',
425: x_rowid => x_rowid,
426: x_igs_en_timeslot_para_id => x_igs_en_timeslot_para_id,
427: x_program_type_group_cd => x_program_type_group_cd,
428: x_cal_type => x_cal_type,
429: x_sequence_number => x_sequence_number,
430: x_student_type => x_student_type,
441: x_last_update_login => x_last_update_login,
442: x_org_id => igs_ge_gen_003.get_org_id
443: );
444:
445: INSERT INTO igs_en_timeslot_para (
446: igs_en_timeslot_para_id,
447: program_type_group_cd,
448: cal_type,
449: sequence_number,
442: x_org_id => igs_ge_gen_003.get_org_id
443: );
444:
445: INSERT INTO igs_en_timeslot_para (
446: igs_en_timeslot_para_id,
447: program_type_group_cd,
448: cal_type,
449: sequence_number,
450: student_type,
464: program_application_id,
465: program_update_date,
466: org_id
467: ) VALUES (
468: new_references.igs_en_timeslot_para_id,
469: new_references.program_type_group_cd,
470: new_references.cal_type,
471: new_references.sequence_number,
472: new_references.student_type,
500:
501:
502: PROCEDURE lock_row (
503: x_rowid IN VARCHAR2,
504: x_igs_en_timeslot_para_id IN NUMBER,
505: x_program_type_group_cd IN VARCHAR2,
506: x_cal_type IN VARCHAR2,
507: x_sequence_number IN NUMBER,
508: x_student_type IN VARCHAR2,
533: timeslot_end_time,
534: ts_mode,
535: max_head_count,
536: length_of_time
537: FROM igs_en_timeslot_para
538: WHERE rowid = x_rowid
539: FOR UPDATE NOWAIT;
540:
541: tlinfo c1%ROWTYPE;
578:
579:
580: PROCEDURE update_row (
581: x_rowid IN VARCHAR2,
582: x_igs_en_timeslot_para_id IN NUMBER,
583: x_program_type_group_cd IN VARCHAR2,
584: x_cal_type IN VARCHAR2,
585: x_sequence_number IN NUMBER,
586: x_student_type IN VARCHAR2,
632:
633: before_dml(
634: p_action => 'UPDATE',
635: x_rowid => x_rowid,
636: x_igs_en_timeslot_para_id => x_igs_en_timeslot_para_id,
637: x_program_type_group_cd => x_program_type_group_cd,
638: x_cal_type => x_cal_type,
639: x_sequence_number => x_sequence_number,
640: x_student_type => x_student_type,
664: x_program_update_date := SYSDATE;
665: END IF;
666: END IF;
667:
668: UPDATE igs_en_timeslot_para
669: SET
670: program_type_group_cd = new_references.program_type_group_cd,
671: cal_type = new_references.cal_type,
672: sequence_number = new_references.sequence_number,
694:
695:
696: PROCEDURE add_row (
697: x_rowid IN OUT NOCOPY VARCHAR2,
698: x_igs_en_timeslot_para_id IN OUT NOCOPY NUMBER,
699: x_program_type_group_cd IN VARCHAR2,
700: x_cal_type IN VARCHAR2,
701: x_sequence_number IN NUMBER,
702: x_student_type IN VARCHAR2,
719: || (reverse chronological order - newest change first)
720: */
721: CURSOR c1 IS
722: SELECT rowid
723: FROM igs_en_timeslot_para
724: WHERE igs_en_timeslot_para_id = x_igs_en_timeslot_para_id;
725:
726: BEGIN
727:
720: */
721: CURSOR c1 IS
722: SELECT rowid
723: FROM igs_en_timeslot_para
724: WHERE igs_en_timeslot_para_id = x_igs_en_timeslot_para_id;
725:
726: BEGIN
727:
728: OPEN c1;
731: CLOSE c1;
732:
733: insert_row (
734: x_rowid,
735: x_igs_en_timeslot_para_id,
736: x_program_type_group_cd,
737: x_cal_type,
738: x_sequence_number,
739: x_student_type,
751: CLOSE c1;
752:
753: update_row (
754: x_rowid,
755: x_igs_en_timeslot_para_id,
756: x_program_type_group_cd,
757: x_cal_type,
758: x_sequence_number,
759: x_student_type,
787: p_action => 'DELETE',
788: x_rowid => x_rowid
789: );
790:
791: DELETE FROM igs_en_timeslot_para
792: WHERE rowid = x_rowid;
793:
794: IF (SQL%NOTFOUND) THEN
795: RAISE NO_DATA_FOUND;
797:
798: END delete_row;
799:
800:
801: END igs_en_timeslot_para_pkg;