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
) AS
/*
|| Created By : [email protected]
|| Created On : 05-AUG-2005
|| 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_ad_appqual_code
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;
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to After Insert.
null;
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to After Update.
--Raise the Qual code update Business Event
IF new_references.QUALIFYING_CODE_ID <> old_references.QUALIFYING_CODE_ID
OR new_references.QUALIFYING_VALUE <> old_references.QUALIFYING_VALUE THEN
igs_ad_wf_001.APP_INST_QUALIFYING_CODE_EVENT
(
P_PERSON_ID => new_references.PERSON_ID,
P_ADMISSION_APPL_NUMBER => new_references.ADMISSION_APPL_NUMBER,
P_NOMINATED_COURSE_CD => new_references.NOMINATED_COURSE_CD,
P_SEQUENCE_NUMBER => new_references.SEQUENCE_NUMBER,
P_QUALIFYING_TYPE_CODE => new_references.QUALIFYING_TYPE_CODE,
P_QUALIFYING_CODE_ID_NEW => new_references.QUALIFYING_CODE_ID,
P_QUALIFYING_CODE_ID_OLD => old_references.QUALIFYING_CODE_ID,
P_QUALIFYING_VALUE_NEW => new_references.QUALIFYING_VALUE,
P_QUALIFYING_VALUE_OLD => old_references.QUALIFYING_VALUE
);
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to After Delete.
Null;
fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
SELECT rowid
FROM igs_ad_appqual_code
WHERE person_id = x_person_id
AND admission_appl_number = x_admission_appl_number
AND nominated_course_cd = x_nominated_course_cd
AND sequence_number = x_sequence_number
AND qualifying_type_code = x_qualifying_type_code
FOR UPDATE NOWAIT;
SELECT rowid
FROM igs_ad_appqual_code
WHERE ((admission_appl_number = x_admission_appl_number) AND
(nominated_course_cd = x_nominated_course_cd) AND
(person_id = x_person_id) AND
(sequence_number = x_sequence_number));
x_last_update_date IN DATE,
x_last_updated_by IN NUMBER,
x_last_update_login IN NUMBER
) AS
/*
|| Created By : [email protected]
|| Created On : 05-AUG-2005
|| 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_admission_appl_number,
x_nominated_course_cd,
x_sequence_number,
x_qualifying_type_code,
x_qualifying_code_id,
x_qualifying_value,
x_creation_date,
x_created_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login
);
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to Before Insert.
IF ( get_pk_for_validation(
new_references.person_id,
new_references.admission_appl_number,
new_references.nominated_course_cd,
new_references.sequence_number,
new_references.qualifying_type_code
)
) 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 = 'VALIDATE_INSERT') THEN
-- Call all the procedures related to Before Insert.
IF ( get_pk_for_validation (
new_references.person_id,
new_references.admission_appl_number,
new_references.nominated_course_cd,
new_references.sequence_number,
new_references.qualifying_type_code
)
) THEN
fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
PROCEDURE insert_row (
x_rowid IN OUT NOCOPY VARCHAR2,
x_person_id IN NUMBER,
x_admission_appl_number IN NUMBER,
x_nominated_course_cd IN VARCHAR2,
x_sequence_number IN NUMBER,
x_qualifying_type_code IN VARCHAR2,
x_qualifying_code_id IN NUMBER,
x_qualifying_value IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By : [email protected]
|| Created On : 05-AUG-2005
|| 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)
*/
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;
fnd_message.set_token ('ROUTINE', 'IGS_AD_APPQUAL_CODE_PKG.INSERT_ROW');
p_action => 'INSERT',
x_rowid => x_rowid,
x_person_id => x_person_id,
x_admission_appl_number => x_admission_appl_number,
x_nominated_course_cd => x_nominated_course_cd,
x_sequence_number => x_sequence_number,
x_qualifying_type_code => x_qualifying_type_code,
x_qualifying_code_id => x_qualifying_code_id,
x_qualifying_value => x_qualifying_value,
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
);
INSERT INTO igs_ad_appqual_code (
person_id,
admission_appl_number,
nominated_course_cd,
sequence_number,
qualifying_type_code,
qualifying_code_id,
qualifying_value,
creation_date,
created_by,
last_update_date,
last_updated_by,
last_update_login
) VALUES (
new_references.person_id,
new_references.admission_appl_number,
new_references.nominated_course_cd,
new_references.sequence_number,
new_references.qualifying_type_code,
new_references.qualifying_code_id,
new_references.qualifying_value,
x_last_update_date,
x_last_updated_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login
) RETURNING ROWID INTO x_rowid;
p_action => 'INSERT',
x_rowid => x_rowid
);
END insert_row;
SELECT
qualifying_code_id,
qualifying_value
FROM igs_ad_appqual_code
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_admission_appl_number IN NUMBER,
x_nominated_course_cd IN VARCHAR2,
x_sequence_number IN NUMBER,
x_qualifying_type_code IN VARCHAR2,
x_qualifying_code_id IN NUMBER,
x_qualifying_value IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By : [email protected]
|| Created On : 05-AUG-2005
|| 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;
fnd_message.set_token ('ROUTINE', 'IGS_AD_APPQUAL_CODE_PKG.UPDATE_ROW');
p_action => 'UPDATE',
x_rowid => x_rowid,
x_person_id => x_person_id,
x_admission_appl_number => x_admission_appl_number,
x_nominated_course_cd => x_nominated_course_cd,
x_sequence_number => x_sequence_number,
x_qualifying_type_code => x_qualifying_type_code,
x_qualifying_code_id => x_qualifying_code_id,
x_qualifying_value => x_qualifying_value,
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
);
UPDATE igs_ad_appqual_code
SET
qualifying_code_id = new_references.qualifying_code_id,
qualifying_value = new_references.qualifying_value,
last_update_date = x_last_update_date,
last_updated_by = x_last_updated_by,
last_update_login = x_last_update_login
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_ad_appqual_code
WHERE person_id = x_person_id
AND admission_appl_number = x_admission_appl_number
AND nominated_course_cd = x_nominated_course_cd
AND sequence_number = x_sequence_number
AND qualifying_type_code = x_qualifying_type_code;
insert_row (
x_rowid,
x_person_id,
x_admission_appl_number,
x_nominated_course_cd,
x_sequence_number,
x_qualifying_type_code,
x_qualifying_code_id,
x_qualifying_value,
x_mode
);
update_row (
x_rowid,
x_person_id,
x_admission_appl_number,
x_nominated_course_cd,
x_sequence_number,
x_qualifying_type_code,
x_qualifying_code_id,
x_qualifying_value,
x_mode
);
PROCEDURE delete_row (
x_rowid IN VARCHAR2
) AS
/*
|| Created By : [email protected]
|| Created On : 05-AUG-2005
|| 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_ad_appqual_code
WHERE rowid = x_rowid;
p_action => 'DELETE',
x_rowid => x_rowid
);
END delete_row;
SELECT rowid
FROM igs_ad_appqual_code
WHERE qualifying_code_id = x_code_id ;