The following lines contain the word 'select', 'insert', 'update' or 'delete':
x_last_update_date IN DATE ,
x_last_updated_by IN NUMBER ,
x_last_update_login IN NUMBER ,
x_award_mark IN NUMBER,
x_award_grade IN VARCHAR2,
x_grading_schema_cd IN VARCHAR2,
x_gs_version_number IN NUMBER
) AS
/*
|| Created By : [email protected]
|| Created On : 22-NOV-2001
|| Purpose : Initialises the Old and New references for the columns of the table.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| (reverse chronological order - newest change first)
*/
CURSOR cur_old_ref_values IS
SELECT *
FROM igs_en_spa_awd_aim
WHERE rowid = x_rowid;
IF ((cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT'))) THEN
CLOSE cur_old_ref_values;
fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
IF (p_action = 'UPDATE') THEN
new_references.creation_date := old_references.creation_date;
new_references.last_update_date := x_last_update_date;
new_references.last_updated_by := x_last_updated_by;
new_references.last_update_login := x_last_update_login;
igs_en_spaa_hist_pkg.insert_row (
x_rowid => l_rowid,
x_person_id => old_references.person_id,
x_course_cd => old_references.course_cd,
x_award_cd => old_references.award_cd,
x_start_date => old_references.start_dt,
x_end_date => old_references.end_dt,
x_complete_flag => old_references.complete_ind,
x_conferral_date => old_references.conferral_date,
x_award_mark => old_references.award_mark,
x_award_grade => old_references.award_grade,
x_grading_schema_cd => old_references.grading_schema_cd,
x_gs_version_number => old_references.gs_version_number,
x_mode => 'R');
SELECT spaah.rowid
FROM igs_en_spa_awd_aim spaa,
igs_en_spaa_hist spaah
WHERE spaa.rowid = p_rowid AND
spaa.person_id = spaah.person_id AND
spaa.course_cd = spaah.course_cd AND
spaa.award_cd = spaah.award_cd;
igs_en_spaa_hist_pkg.delete_row(x_rowid => cur_spaah_rec.rowid);
PROCEDURE AfterRowInsertUpdate1(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
v_message_name VARCHAR2(30);
END AfterRowInsertUpdate1;
PROCEDURE AfterRowInsertUpdate( p_inserting IN BOOLEAN,
p_updating IN BOOLEAN,
p_deleting IN BOOLEAN,
p_rowid IN VARCHAR2 DEFAULT NULL
) AS
/*
|| Created By : shimitta
|| Created On : 27-JUN-2006
|| Purpose : Changing the person type depending on the conferral date as per bug# 2691653.
|| Change History :
|| Who When What
*/
-- Cursor to fetch active Person Type Instance Record
CURSOR cur_typ_id_inst(p_PERSON_ID NUMBER,p_COURSE_CD VARCHAR2,p_PERSON_TYPE_CODE VARCHAR2) IS
SELECT pti.*
FROM igs_pe_typ_instances_all pti
WHERE pti.PERSON_ID = p_PERSON_ID AND
pti.COURSE_CD = p_COURSE_CD AND
pti.PERSON_TYPE_CODE = p_PERSON_TYPE_CODE AND
pti.END_DATE IS NULL;
SELECT PERSON_TYPE_CODE
FROM igs_pe_person_types
WHERE SYSTEM_TYPE = p_system_type AND
CLOSED_IND = 'N';
SELECT pti.rowid row_id ,pti.*
FROM igs_pe_typ_instances_all pti,
igs_pe_person_types pty
WHERE pti.person_id = p_person_id AND
pti.course_cd = p_course_cd AND
pti.end_date IS NULL AND
pty.person_type_code = pti.person_type_code AND
pty.system_type = p_system_type;
SELECT pti.rowid row_id ,pti.*
FROM igs_pe_typ_instances_all pti,
igs_pe_person_types pty
WHERE pti.person_id = p_person_id AND
pti.course_cd = p_course_cd AND
pti.end_date = p_date AND
pty.person_type_code = pti.person_type_code AND
pty.system_type = p_system_type;
SELECT *
FROM IGS_EN_SPA_AWD_AIM
WHERE ROWID = p_rowid ;
-- Select Person type Code for the System type GRADUATE
OPEN cur_pers_type('GRADUATE');
igs_pe_typ_instances_pkg.insert_row(
X_ROWID => l_ROWID,
X_PERSON_ID => new_references.PERSON_ID,
X_COURSE_CD => new_references.COURSE_CD,
X_TYPE_INSTANCE_ID => l_TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => l_person_type,
X_CC_VERSION_NUMBER => NULL,
X_FUNNEL_STATUS => NULL,
X_ADMISSION_APPL_NUMBER => NULL,
X_NOMINATED_COURSE_CD => NULL,
X_NCC_VERSION_NUMBER => NULL,
X_SEQUENCE_NUMBER => NULL,
X_START_DATE => new_references.conferral_date,
X_END_DATE => NULL,
X_CREATE_METHOD => l_method,
X_ENDED_BY => NULL,
X_END_METHOD => NULL,
X_MODE => 'R',
X_ORG_ID => NULL,
X_EMPLMNT_CATEGORY_CODE => NULL
);
igs_pe_typ_instances_pkg.update_row(
X_ROWID => cur_pe_typ_inst_rec.ROW_ID,
X_PERSON_ID => cur_pe_typ_inst_rec.PERSON_ID,
X_COURSE_CD => cur_pe_typ_inst_rec.COURSE_CD,
X_TYPE_INSTANCE_ID => cur_pe_typ_inst_rec.TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => cur_pe_typ_inst_rec.PERSON_TYPE_CODE,
X_CC_VERSION_NUMBER => cur_pe_typ_inst_rec.CC_VERSION_NUMBER,
X_FUNNEL_STATUS => cur_pe_typ_inst_rec.FUNNEL_STATUS,
X_ADMISSION_APPL_NUMBER => cur_pe_typ_inst_rec.ADMISSION_APPL_NUMBER,
X_NOMINATED_COURSE_CD => cur_pe_typ_inst_rec.NOMINATED_COURSE_CD,
X_NCC_VERSION_NUMBER => cur_pe_typ_inst_rec.NCC_VERSION_NUMBER,
X_SEQUENCE_NUMBER => cur_pe_typ_inst_rec.SEQUENCE_NUMBER,
X_START_DATE => new_references.conferral_date,
X_END_DATE => NULL,
X_CREATE_METHOD => cur_pe_typ_inst_rec.CREATE_METHOD,
X_ENDED_BY => NULL,
X_END_METHOD => NULL,
X_MODE => 'R' ,
X_EMPLMNT_CATEGORY_CODE => cur_pe_typ_inst_rec.emplmnt_category_code);
igs_pe_typ_instances_pkg.update_row(
X_ROWID => cur_per_typ_dt_rec.ROW_ID,
X_PERSON_ID => cur_per_typ_dt_rec.PERSON_ID,
X_COURSE_CD => cur_per_typ_dt_rec.COURSE_CD,
X_TYPE_INSTANCE_ID => cur_per_typ_dt_rec.TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => cur_per_typ_dt_rec.PERSON_TYPE_CODE,
X_CC_VERSION_NUMBER => cur_per_typ_dt_rec.CC_VERSION_NUMBER,
X_FUNNEL_STATUS => cur_per_typ_dt_rec.FUNNEL_STATUS,
X_ADMISSION_APPL_NUMBER => cur_per_typ_dt_rec.ADMISSION_APPL_NUMBER,
X_NOMINATED_COURSE_CD => cur_per_typ_dt_rec.NOMINATED_COURSE_CD,
X_NCC_VERSION_NUMBER => cur_per_typ_dt_rec.NCC_VERSION_NUMBER,
X_SEQUENCE_NUMBER => cur_per_typ_dt_rec.SEQUENCE_NUMBER,
X_START_DATE => cur_per_typ_dt_rec.START_DATE,
X_END_DATE => new_references.conferral_date,
X_CREATE_METHOD => cur_per_typ_dt_rec.CREATE_METHOD,
X_ENDED_BY => cur_per_typ_dt_rec.ENDED_BY,
X_END_METHOD => l_method,
X_MODE => 'R' ,
X_EMPLMNT_CATEGORY_CODE => cur_per_typ_dt_rec.emplmnt_category_code);
igs_pe_typ_instances_pkg.update_row(
X_ROWID => cur_pe_typ_inst_rec.ROW_ID,
X_PERSON_ID => cur_pe_typ_inst_rec.PERSON_ID,
X_COURSE_CD => cur_pe_typ_inst_rec.COURSE_CD,
X_TYPE_INSTANCE_ID => cur_pe_typ_inst_rec.TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => cur_pe_typ_inst_rec.PERSON_TYPE_CODE,
X_CC_VERSION_NUMBER => cur_pe_typ_inst_rec.CC_VERSION_NUMBER,
X_FUNNEL_STATUS => cur_pe_typ_inst_rec.FUNNEL_STATUS,
X_ADMISSION_APPL_NUMBER => cur_pe_typ_inst_rec.ADMISSION_APPL_NUMBER,
X_NOMINATED_COURSE_CD => cur_pe_typ_inst_rec.NOMINATED_COURSE_CD,
X_NCC_VERSION_NUMBER => cur_pe_typ_inst_rec.NCC_VERSION_NUMBER,
X_SEQUENCE_NUMBER => cur_pe_typ_inst_rec.SEQUENCE_NUMBER,
X_START_DATE => cur_pe_typ_inst_rec.START_DATE,
X_END_DATE => new_references.conferral_date,
X_CREATE_METHOD => cur_pe_typ_inst_rec.CREATE_METHOD,
X_ENDED_BY => cur_pe_typ_inst_rec.ENDED_BY,
X_END_METHOD => l_method,
X_MODE => 'R' ,
X_EMPLMNT_CATEGORY_CODE => cur_pe_typ_inst_rec.emplmnt_category_code);
-- Select Person type Code for the System type GRADUATE
OPEN cur_pers_type('GRADUATE');
igs_pe_typ_instances_pkg.update_row(
X_ROWID => cur_pe_typ_inst_rec.ROW_ID,
X_PERSON_ID => cur_pe_typ_inst_rec.PERSON_ID,
X_COURSE_CD => cur_pe_typ_inst_rec.COURSE_CD,
X_TYPE_INSTANCE_ID => cur_pe_typ_inst_rec.TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => cur_pe_typ_inst_rec.PERSON_TYPE_CODE,
X_CC_VERSION_NUMBER => cur_pe_typ_inst_rec.CC_VERSION_NUMBER,
X_FUNNEL_STATUS => cur_pe_typ_inst_rec.FUNNEL_STATUS,
X_ADMISSION_APPL_NUMBER => cur_pe_typ_inst_rec.ADMISSION_APPL_NUMBER,
X_NOMINATED_COURSE_CD => cur_pe_typ_inst_rec.NOMINATED_COURSE_CD,
X_NCC_VERSION_NUMBER => cur_pe_typ_inst_rec.NCC_VERSION_NUMBER,
X_SEQUENCE_NUMBER => cur_pe_typ_inst_rec.SEQUENCE_NUMBER,
X_START_DATE => cur_pe_typ_inst_rec.START_DATE,
X_END_DATE => l_date, --- what should be the end date
X_CREATE_METHOD => cur_pe_typ_inst_rec.CREATE_METHOD,
X_ENDED_BY => cur_pe_typ_inst_rec.ENDED_BY,
X_END_METHOD => l_method,
X_MODE => 'R' ,
X_EMPLMNT_CATEGORY_CODE => cur_pe_typ_inst_rec.emplmnt_category_code);
igs_pe_typ_instances_pkg.insert_row(
X_ROWID => l_ROWID,
X_PERSON_ID => new_references.PERSON_ID,
X_COURSE_CD => new_references.COURSE_CD,
X_TYPE_INSTANCE_ID => l_TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => l_person_type,
X_CC_VERSION_NUMBER => NULL,
X_FUNNEL_STATUS => NULL,
X_ADMISSION_APPL_NUMBER => NULL,
X_NOMINATED_COURSE_CD => NULL,
X_NCC_VERSION_NUMBER => NULL,
X_SEQUENCE_NUMBER => NULL,
X_START_DATE => l_date, -- what should be the start date
X_END_DATE => NULL,
X_CREATE_METHOD => l_method,
X_ENDED_BY => NULL,
X_END_METHOD => NULL,
X_MODE => 'R',
X_ORG_ID => NULL,
X_EMPLMNT_CATEGORY_CODE => NULL
);
igs_pe_typ_instances_pkg.update_row(
X_ROWID => cur_per_typ_dt_rec.ROW_ID,
X_PERSON_ID => cur_per_typ_dt_rec.PERSON_ID,
X_COURSE_CD => cur_per_typ_dt_rec.COURSE_CD,
X_TYPE_INSTANCE_ID => cur_per_typ_dt_rec.TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => cur_per_typ_dt_rec.PERSON_TYPE_CODE,
X_CC_VERSION_NUMBER => cur_per_typ_dt_rec.CC_VERSION_NUMBER,
X_FUNNEL_STATUS => cur_per_typ_dt_rec.FUNNEL_STATUS,
X_ADMISSION_APPL_NUMBER => cur_per_typ_dt_rec.ADMISSION_APPL_NUMBER,
X_NOMINATED_COURSE_CD => cur_per_typ_dt_rec.NOMINATED_COURSE_CD,
X_NCC_VERSION_NUMBER => cur_per_typ_dt_rec.NCC_VERSION_NUMBER,
X_SEQUENCE_NUMBER => cur_per_typ_dt_rec.SEQUENCE_NUMBER,
X_START_DATE => cur_per_typ_dt_rec.START_DATE,
X_END_DATE => NULL, --- what should be the end date
X_CREATE_METHOD => cur_per_typ_dt_rec.CREATE_METHOD,
X_ENDED_BY => NULL,
X_END_METHOD => NULL,
X_MODE => 'R' ,
X_EMPLMNT_CATEGORY_CODE => cur_per_typ_dt_rec.emplmnt_category_code);
igs_pe_typ_instances_pkg.update_row(
X_ROWID => cur_pe_typ_inst_rec.ROW_ID,
X_PERSON_ID => cur_pe_typ_inst_rec.PERSON_ID,
X_COURSE_CD => cur_pe_typ_inst_rec.COURSE_CD,
X_TYPE_INSTANCE_ID => cur_pe_typ_inst_rec.TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => cur_pe_typ_inst_rec.PERSON_TYPE_CODE,
X_CC_VERSION_NUMBER => cur_pe_typ_inst_rec.CC_VERSION_NUMBER,
X_FUNNEL_STATUS => cur_pe_typ_inst_rec.FUNNEL_STATUS,
X_ADMISSION_APPL_NUMBER => cur_pe_typ_inst_rec.ADMISSION_APPL_NUMBER,
X_NOMINATED_COURSE_CD => cur_pe_typ_inst_rec.NOMINATED_COURSE_CD,
X_NCC_VERSION_NUMBER => cur_pe_typ_inst_rec.NCC_VERSION_NUMBER,
X_SEQUENCE_NUMBER => cur_pe_typ_inst_rec.SEQUENCE_NUMBER,
X_START_DATE => cur_pe_typ_inst_rec.START_DATE,
X_END_DATE => l_date,
X_CREATE_METHOD => cur_pe_typ_inst_rec.CREATE_METHOD,
X_ENDED_BY => cur_pe_typ_inst_rec.ENDED_BY,
X_END_METHOD => l_method,
X_MODE => 'R' ,
X_EMPLMNT_CATEGORY_CODE => cur_pe_typ_inst_rec.emplmnt_category_code);
igs_pe_typ_instances_pkg.insert_row(
X_ROWID => l_ROWID,
X_PERSON_ID => cur_conf_dt_rec.PERSON_ID,
X_COURSE_CD => cur_conf_dt_rec.COURSE_CD,
X_TYPE_INSTANCE_ID => l_TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => l_person_type,
X_CC_VERSION_NUMBER => NULL,
X_FUNNEL_STATUS => NULL,
X_ADMISSION_APPL_NUMBER => NULL,
X_NOMINATED_COURSE_CD => NULL,
X_NCC_VERSION_NUMBER => NULL,
X_SEQUENCE_NUMBER => NULL,
X_START_DATE => SYSDATE, -- what should be the start date
X_END_DATE => NULL,
X_CREATE_METHOD => l_method,
X_ENDED_BY => NULL,
X_END_METHOD => NULL,
X_MODE => 'R',
X_ORG_ID => NULL,--new_references.ORG_ID,
X_EMPLMNT_CATEGORY_CODE => NULL
);
igs_pe_typ_instances_pkg.update_row(
X_ROWID => cur_per_typ_dt_rec.ROW_ID,
X_PERSON_ID => cur_per_typ_dt_rec.PERSON_ID,
X_COURSE_CD => cur_per_typ_dt_rec.COURSE_CD,
X_TYPE_INSTANCE_ID => cur_per_typ_dt_rec.TYPE_INSTANCE_ID,
X_PERSON_TYPE_CODE => cur_per_typ_dt_rec.PERSON_TYPE_CODE,
X_CC_VERSION_NUMBER => cur_per_typ_dt_rec.CC_VERSION_NUMBER,
X_FUNNEL_STATUS => cur_per_typ_dt_rec.FUNNEL_STATUS,
X_ADMISSION_APPL_NUMBER => cur_per_typ_dt_rec.ADMISSION_APPL_NUMBER,
X_NOMINATED_COURSE_CD => cur_per_typ_dt_rec.NOMINATED_COURSE_CD,
X_NCC_VERSION_NUMBER => cur_per_typ_dt_rec.NCC_VERSION_NUMBER,
X_SEQUENCE_NUMBER => cur_per_typ_dt_rec.SEQUENCE_NUMBER,
X_START_DATE => cur_per_typ_dt_rec.START_DATE,
X_END_DATE => NULL, --- what should be the end date
X_CREATE_METHOD => cur_per_typ_dt_rec.CREATE_METHOD,
X_ENDED_BY => NULL,
X_END_METHOD => NULL,
X_MODE => 'R' ,
X_EMPLMNT_CATEGORY_CODE => cur_per_typ_dt_rec.emplmnt_category_code);
END AfterRowInsertUpdate;
fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
SELECT rowid
FROM igs_en_spa_awd_aim
WHERE award_cd = x_award_cd
AND course_cd = x_course_cd
AND person_id = x_person_id
FOR UPDATE NOWAIT;
SELECT rowid
FROM igs_en_spa_awd_aim
WHERE ((course_cd = x_course_cd) AND
(person_id = x_person_id));
SELECT rowid
FROM igs_en_spa_awd_aim
WHERE (( grading_schema_cd = x_grading_schema_cd) AND
(gs_version_number = x_gs_version_number));
x_last_update_date IN DATE ,
x_last_updated_by IN NUMBER ,
x_last_update_login IN NUMBER ,
x_award_mark IN NUMBER,
x_award_grade IN VARCHAR2,
x_grading_schema_cd IN VARCHAR2,
x_gs_version_number IN NUMBER
) AS
/*
|| Created By : [email protected]
|| Created On : 22-NOV-2001
|| Purpose : Initialises the columns, Checks Constraints, Calls the
|| Trigger Handlers for the table, before any DML operation.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| (reverse chronological order - newest change first)
*/
BEGIN
set_column_values (
p_action,
x_rowid,
x_person_id,
x_course_cd,
x_award_cd,
x_start_dt,
x_end_dt,
x_complete_ind,
x_conferral_date,
x_creation_date,
x_created_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login ,
x_award_mark,
x_award_grade,
x_grading_schema_cd,
x_gs_version_number
);
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to Before Insert.
IF ( get_pk_for_validation(
new_references.award_cd,
new_references.course_cd,
new_references.person_id
)
) THEN
fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
check_parent_existance;
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to Before Delete.
AfterRowInsertUpdate( p_rowid => x_rowid,
p_inserting => FALSE,
p_updating => FALSE,
p_deleting => TRUE );
ELSIF (p_action = 'VALIDATE_DELETE') THEN
-- Call all the procedures related to Before Delete.
Check_Child_Existance;
ELSIF (p_action = 'VALIDATE_INSERT') THEN
-- Call all the procedures related to Before Insert.
IF ( get_pk_for_validation (
new_references.award_cd,
new_references.course_cd,
new_references.person_id
)
) THEN
fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
IF (p_action = 'UPDATE') THEN
-- Call all the procedures related to After Update.
AfterRowInsertUpdate1 ( p_updating => TRUE );
AfterRowInsertUpdate( p_inserting => FALSE,
p_updating => TRUE,
p_deleting => FALSE );
PROCEDURE insert_row (
x_rowid IN OUT NOCOPY VARCHAR2,
x_person_id IN NUMBER,
x_course_cd IN VARCHAR2,
x_award_cd IN VARCHAR2,
x_start_dt IN DATE,
x_end_dt IN DATE,
x_complete_ind IN VARCHAR2,
x_honours_level IN VARCHAR2,
x_conferral_date IN DATE ,
x_mode IN VARCHAR2 ,
x_award_mark IN NUMBER,
x_award_grade IN VARCHAR2,
x_grading_schema_cd IN VARCHAR2,
x_gs_version_number IN NUMBER
) AS
/*
|| Created By : [email protected]
|| Created On : 22-NOV-2001
|| Purpose : Handles the INSERT DML logic for the table.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| (reverse chronological order - newest change first)
*/
CURSOR c IS
SELECT rowid
FROM igs_en_spa_awd_aim
WHERE award_cd = x_award_cd
AND course_cd = x_course_cd
AND person_id = x_person_id;
x_last_update_date DATE;
x_last_updated_by NUMBER;
x_last_update_login NUMBER;
x_last_update_date := SYSDATE;
x_last_updated_by := 1;
x_last_update_login := 0;
x_last_updated_by := fnd_global.user_id;
IF (x_last_updated_by IS NULL) THEN
x_last_updated_by := -1;
x_last_update_login := fnd_global.login_id;
IF (x_last_update_login IS NULL) THEN
x_last_update_login := -1;
p_action => 'INSERT',
x_rowid => x_rowid,
x_person_id => x_person_id,
x_course_cd => x_course_cd,
x_award_cd => x_award_cd,
x_start_dt => x_start_dt,
x_end_dt => x_end_dt,
x_complete_ind => x_complete_ind,
x_conferral_date => x_conferral_date,
x_creation_date => x_last_update_date,
x_created_by => x_last_updated_by,
x_last_update_date => x_last_update_date,
x_last_updated_by => x_last_updated_by,
x_last_update_login => x_last_update_login ,
x_award_mark => x_award_mark,
x_award_grade => x_award_grade,
x_grading_schema_cd => x_grading_schema_cd,
x_gs_version_number => x_gs_version_number
);
INSERT INTO igs_en_spa_awd_aim (
person_id,
course_cd,
award_cd,
start_dt,
end_dt,
complete_ind,
conferral_date,
creation_date,
created_by,
last_update_date,
last_updated_by,
last_update_login,
award_mark,
award_grade,
grading_schema_cd,
gs_version_number
) VALUES (
new_references.person_id,
new_references.course_cd,
new_references.award_cd,
new_references.start_dt,
new_references.end_dt,
new_references.complete_ind,
new_references.conferral_date,
x_last_update_date,
x_last_updated_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login ,
new_references.award_mark,
new_references.award_grade,
new_references.grading_schema_cd,
new_references.gs_version_number
);
END insert_row;
SELECT
start_dt,
end_dt,
complete_ind,
conferral_date
FROM igs_en_spa_awd_aim
WHERE rowid = x_rowid
FOR UPDATE NOWAIT;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
PROCEDURE update_row (
x_rowid IN VARCHAR2,
x_person_id IN NUMBER,
x_course_cd IN VARCHAR2,
x_award_cd IN VARCHAR2,
x_start_dt IN DATE,
x_end_dt IN DATE,
x_complete_ind IN VARCHAR2,
x_honours_level IN VARCHAR2,
x_conferral_date IN DATE,
x_mode IN VARCHAR2 ,
x_award_mark IN NUMBER,
x_award_grade IN VARCHAR2,
x_grading_schema_cd IN VARCHAR2,
x_gs_version_number IN NUMBER
) AS
/*
|| Created By : [email protected]
|| Created On : 22-NOV-2001
|| Purpose : Handles the UPDATE DML logic for the table.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| (reverse chronological order - newest change first)
*/
x_last_update_date DATE ;
x_last_updated_by NUMBER;
x_last_update_login NUMBER;
x_last_update_date := SYSDATE;
x_last_updated_by := 1;
x_last_update_login := 0;
x_last_updated_by := fnd_global.user_id;
IF x_last_updated_by IS NULL THEN
x_last_updated_by := -1;
x_last_update_login := fnd_global.login_id;
IF (x_last_update_login IS NULL) THEN
x_last_update_login := -1;
p_action => 'UPDATE',
x_rowid => x_rowid,
x_person_id => x_person_id,
x_course_cd => x_course_cd,
x_award_cd => x_award_cd,
x_start_dt => x_start_dt,
x_end_dt => x_end_dt,
x_complete_ind => x_complete_ind,
x_conferral_date => x_conferral_date,
x_creation_date => x_last_update_date,
x_created_by => x_last_updated_by,
x_last_update_date => x_last_update_date,
x_last_updated_by => x_last_updated_by,
x_last_update_login => x_last_update_login ,
x_award_mark => x_award_mark,
x_award_grade => x_award_grade,
x_grading_schema_cd => x_grading_schema_cd,
x_gs_version_number => x_gs_version_number
);
UPDATE igs_en_spa_awd_aim
SET
award_cd = new_references.award_cd,
start_dt = new_references.start_dt,
end_dt = new_references.end_dt,
complete_ind = new_references.complete_ind,
conferral_date = new_references.conferral_date,
last_update_date = x_last_update_date,
last_updated_by = x_last_updated_by,
last_update_login = x_last_update_login ,
award_mark = new_references.award_mark,
award_grade = new_references.award_grade,
grading_schema_cd = new_references.grading_schema_cd,
gs_version_number = new_references.gs_version_number
WHERE rowid = x_rowid;
p_action => 'UPDATE',
x_rowid => x_rowid
);
END update_row;
|| Purpose : Adds a row if there is no existing row, otherwise updates existing row in the table.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| (reverse chronological order - newest change first)
*/
CURSOR c1 IS
SELECT rowid
FROM igs_en_spa_awd_aim
WHERE award_cd = x_award_cd
AND course_cd = x_course_cd
AND person_id = x_person_id;
insert_row (
x_rowid,
x_person_id,
x_course_cd,
x_award_cd,
x_start_dt,
x_end_dt,
x_complete_ind,
x_conferral_date,
x_mode,
x_award_mark,
x_award_grade,
x_grading_schema_cd,
x_gs_version_number
);
update_row (
x_rowid,
x_person_id,
x_course_cd,
x_award_cd,
x_start_dt,
x_end_dt,
x_complete_ind,
x_conferral_date,
x_mode,
x_award_mark,
x_award_grade,
x_grading_schema_cd ,
x_gs_version_number
);
PROCEDURE delete_row (
x_rowid IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By : [email protected]
|| Created On : 22-NOV-2001
|| Purpose : Handles the DELETE DML logic for the table.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| (reverse chronological order - newest change first)
*/
BEGIN
before_dml (
p_action => 'DELETE',
x_rowid => x_rowid
);
DELETE FROM igs_en_spa_awd_aim
WHERE rowid = x_rowid;
END delete_row;