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 : Navin Sinha
|| Created On : 16-JUN-2003
|| 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_pnmembr_dtls
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;
fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
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_ad_pnmembr_dtls
WHERE panel_dtls_id = x_panel_dtls_id
AND member_person_id = x_member_person_id
FOR UPDATE NOWAIT;
SELECT rowid
FROM igs_ad_pnmembr_dtls
WHERE ((panel_dtls_id = x_panel_dtls_id));
SELECT rowid
FROM igs_ad_pnmembr_dtls
WHERE ((member_decision_code = x_name) AND
(member_decision_type = x_class));
SELECT rowid
FROM igs_ad_pnmembr_dtls
WHERE ((location_cd = x_location_cd));
SELECT rowid
FROM igs_ad_pnmembr_dtls
WHERE ((room_id = x_room_id));
PROCEDURE beforerowinsertupdatedelete1 (
p_inserting BOOLEAN,
p_updating BOOLEAN,
p_deleting BOOLEAN ) IS
----------------------------------------------------------------
--Created by : Navin Sinha
--Date created: 16-Jun-03
--
--Purpose: BUG NO : 1366894 - Interview Build.
--
--
--Known limitations/enhancements and/or remarks:
--
--Change History:
--Who When What
----------------------------------------------------------------
-- Cursor to check if person type of interviewer exists.
CURSOR c_interviewer_exist IS
SELECT 'x'
FROM IGS_PE_TYP_INSTANCES_ALL TI,
IGS_PE_PERSON_TYPES PT
WHERE ti.person_id = new_references.member_person_id
AND pt.system_type = 'INTERVIEWER'
AND (ti.end_date is NULL OR (ti.end_date IS NOT NULL AND trunc(ti.end_date) > trunc(SYSDATE)))
AND TI.PERSON_TYPE_CODE = PT.PERSON_TYPE_CODE;
SELECT appl_dt
FROM igs_ad_panel_dtls pd,
igs_ad_appl aa
WHERE pd.panel_dtls_id = new_references.panel_dtls_id
AND pd.admission_appl_number = aa.admission_appl_number
AND pd.person_id = aa.person_id;
SELECT *
FROM igs_ad_panel_dtls
WHERE panel_dtls_id = cp_panel_dtls_id;
SELECT *
FROM igs_ad_code_classes
WHERE system_status = 'PENDING'
AND name = new_references.member_decision_code
AND class = new_references.member_decision_type
AND closed_ind = 'N'
AND CLASS_TYPE_CODE='ADM_CODE_CLASSES';
SELECT person_id,admission_appl_number,nominated_course_Cd,sequence_number
FROM igs_ad_panel_dtls pdtls,
igs_Ad_pnmembr_Dtls pmbr
WHERE pdtls.panel_Dtls_id = pmbr.panel_dtls_id
AND pmbr.panel_dtls_id = NVL(old_references.panel_dtls_id, new_references.panel_dtls_id);
SELECT 'X'
FROM igs_ad_intvw_pnls pnls,
igs_ad_panel_dtls pdtls
WHERE pnls.panel_type_code='INTERVIEW'
AND pnls.panel_code = pdtls.panel_code
AND pdtls.person_id = cp_instance_rec.person_id
AND pdtls.admission_appl_number = cp_instance_rec.admission_appl_number
AND pdtls.nominated_course_Cd = cp_instance_rec.nominated_course_Cd
AND pdtls.sequence_number = cp_instance_rec.sequence_number;
SELECT *
FROM igs_ad_code_classes
WHERE system_status = 'PENDING'
AND class = cp_panel_type_code --'INTERVIEW', 'SCREENING', 'FINAL_SCREENING', 'FINAL_INTERVIEW'
AND NVL(system_default, 'N') = 'Y'
AND closed_ind = 'N'
AND CLASS_TYPE_CODE='ADM_CODE_CLASSES';
SELECT ip.panel_type_Code
FROM igs_ad_intvw_pnls ip,
igs_ad_panel_dtls pd
WHERE ip.panel_code = pd.panel_code
AND pd.panel_dtls_id = new_references.panel_dtls_id;
SELECT meaning
FROM igs_lookups_view
WHERE lookup_type = cp_lookup_type
AND lookup_code = cp_lookup_code;
IF NVL(p_inserting,FALSE) THEN
-- A Person added to a panel must have the system person type of Interviewer. Else raise an error message.
OPEN c_interviewer_exist;
IF NVL(p_inserting,FALSE) OR NVL(p_updating,FALSE) THEN
-- Check if member Decisions is mapped to the system defaulted Decisions of 'PENDING'
OPEN cur_dflt_panl_cd;
fnd_message.set_name('IGS','IGS_AD_PNL_FNL_DECISION_EXITS'); -- Message: Cannot update/insert panel member's information when the panel final decision is already recorded.
IF NVL(p_inserting,FALSE) OR NVL(p_updating,FALSE) OR NVL(p_deleting,FALSE) THEN
IF new_references.member_decision_type = 'SCREENING' OR old_references.member_decision_type = 'SCREENING' THEN
OPEN c_instance_dets;
fnd_message.set_name('IGS','IGS_AD_INTVW_PNL_EXITS'); -- Message: Cannot update screening information when interview panel is already associated to the application instance.
fnd_message.set_name('IGS','IGS_AD_PNL_IS_CLOSED'); -- Message: Cannot update or delete a closed panel.
fnd_message.set_name('IGS','IGS_AD_NO_UPD_VOID_DECISION'); -- Message: Cannot update the reviewer's decision as it is mapped to a status of Voided.
fnd_message.set_name('IGS','IGS_AD_PNL_DECISION_EXITS'); -- Message: Cannot delete the panel member when the decision is already recorded.
END beforerowinsertupdatedelete1;
x_last_update_date IN DATE,
x_last_updated_by IN NUMBER,
x_last_update_login IN NUMBER
) AS
/*
|| Created By : Navin Sinha
|| Created On : 16-JUN-2003
|| 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_panel_dtls_id,
x_role_type_code,
x_member_person_id,
x_interview_date,
x_interview_time,
x_location_cd,
x_room_id,
x_member_decision_code,
x_member_decision_type,
x_member_decision_date,
x_attribute_category,
x_attribute1,
x_attribute2,
x_attribute3,
x_attribute4,
x_attribute5,
x_attribute6,
x_attribute7,
x_attribute8,
x_attribute9,
x_attribute10,
x_attribute11,
x_attribute12,
x_attribute13,
x_attribute14,
x_attribute15,
x_attribute16,
x_attribute17,
x_attribute18,
x_attribute19,
x_attribute20,
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.panel_dtls_id,
new_references.member_person_id
)
) THEN
fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
beforerowinsertupdatedelete1( p_inserting => TRUE , p_updating => FALSE, p_deleting=> FALSE);
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
beforerowinsertupdatedelete1( p_inserting => FALSE , p_updating => TRUE, p_deleting=> FALSE);
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to Before Delete.
beforerowinsertupdatedelete1( p_inserting => FALSE , p_updating => FALSE, p_deleting=> TRUE);
ELSIF (p_action = 'VALIDATE_INSERT') THEN
-- Call all the procedures related to Before Insert.
IF ( get_pk_for_validation (
new_references.panel_dtls_id,
new_references.member_person_id
)
) THEN
fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
beforerowinsertupdatedelete1( p_inserting => TRUE , p_updating => FALSE, p_deleting=> FALSE);
ELSIF (p_action = 'VALIDATE_DELETE') THEN
beforerowinsertupdatedelete1( p_inserting => FALSE , p_updating => FALSE, p_deleting=> TRUE);
PROCEDURE insert_row (
x_rowid IN OUT NOCOPY VARCHAR2,
x_panel_dtls_id IN NUMBER,
x_role_type_code IN VARCHAR2,
x_member_person_id IN NUMBER,
x_interview_date IN DATE,
x_interview_time IN DATE,
x_location_cd IN VARCHAR2,
x_room_id IN NUMBER,
x_member_decision_code IN VARCHAR2,
x_member_decision_type IN VARCHAR2,
x_member_decision_date IN DATE,
x_attribute_category IN VARCHAR2,
x_attribute1 IN VARCHAR2,
x_attribute2 IN VARCHAR2,
x_attribute3 IN VARCHAR2,
x_attribute4 IN VARCHAR2,
x_attribute5 IN VARCHAR2,
x_attribute6 IN VARCHAR2,
x_attribute7 IN VARCHAR2,
x_attribute8 IN VARCHAR2,
x_attribute9 IN VARCHAR2,
x_attribute10 IN VARCHAR2,
x_attribute11 IN VARCHAR2,
x_attribute12 IN VARCHAR2,
x_attribute13 IN VARCHAR2,
x_attribute14 IN VARCHAR2,
x_attribute15 IN VARCHAR2,
x_attribute16 IN VARCHAR2,
x_attribute17 IN VARCHAR2,
x_attribute18 IN VARCHAR2,
x_attribute19 IN VARCHAR2,
x_attribute20 IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By : Navin Sinha
|| Created On : 16-JUN-2003
|| Purpose : Handles the INSERT DML logic for the table.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| ravishar 05/27/05 Security related changes
|| (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_PNMEMBR_DTLS_PKG.INSERT_ROW');
p_action => 'INSERT',
x_rowid => x_rowid,
x_panel_dtls_id => x_panel_dtls_id,
x_role_type_code => x_role_type_code,
x_member_person_id => x_member_person_id,
x_interview_date => x_interview_date,
x_interview_time => x_interview_time,
x_location_cd => x_location_cd,
x_room_id => x_room_id,
x_member_decision_code => x_member_decision_code,
x_member_decision_type => x_member_decision_type,
x_member_decision_date => x_member_decision_date,
x_attribute_category => x_attribute_category,
x_attribute1 => x_attribute1,
x_attribute2 => x_attribute2,
x_attribute3 => x_attribute3,
x_attribute4 => x_attribute4,
x_attribute5 => x_attribute5,
x_attribute6 => x_attribute6,
x_attribute7 => x_attribute7,
x_attribute8 => x_attribute8,
x_attribute9 => x_attribute9,
x_attribute10 => x_attribute10,
x_attribute11 => x_attribute11,
x_attribute12 => x_attribute12,
x_attribute13 => x_attribute13,
x_attribute14 => x_attribute14,
x_attribute15 => x_attribute15,
x_attribute16 => x_attribute16,
x_attribute17 => x_attribute17,
x_attribute18 => x_attribute18,
x_attribute19 => x_attribute19,
x_attribute20 => x_attribute20,
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_pnmembr_dtls (
panel_dtls_id,
role_type_code,
member_person_id,
interview_date,
interview_time,
location_cd,
room_id,
member_decision_code,
member_decision_type,
member_decision_date,
attribute_category,
attribute1,
attribute2,
attribute3,
attribute4,
attribute5,
attribute6,
attribute7,
attribute8,
attribute9,
attribute10,
attribute11,
attribute12,
attribute13,
attribute14,
attribute15,
attribute16,
attribute17,
attribute18,
attribute19,
attribute20,
creation_date,
created_by,
last_update_date,
last_updated_by,
last_update_login
) VALUES (
new_references.panel_dtls_id,
new_references.role_type_code,
new_references.member_person_id,
new_references.interview_date,
new_references.interview_time,
new_references.location_cd,
new_references.room_id,
new_references.member_decision_code,
new_references.member_decision_type,
new_references.member_decision_date,
new_references.attribute_category,
new_references.attribute1,
new_references.attribute2,
new_references.attribute3,
new_references.attribute4,
new_references.attribute5,
new_references.attribute6,
new_references.attribute7,
new_references.attribute8,
new_references.attribute9,
new_references.attribute10,
new_references.attribute11,
new_references.attribute12,
new_references.attribute13,
new_references.attribute14,
new_references.attribute15,
new_references.attribute16,
new_references.attribute17,
new_references.attribute18,
new_references.attribute19,
new_references.attribute20,
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;
END insert_row;
SELECT
role_type_code,
interview_date,
interview_time,
location_cd,
room_id,
member_decision_code,
member_decision_type,
member_decision_date,
attribute_category,
attribute1,
attribute2,
attribute3,
attribute4,
attribute5,
attribute6,
attribute7,
attribute8,
attribute9,
attribute10,
attribute11,
attribute12,
attribute13,
attribute14,
attribute15,
attribute16,
attribute17,
attribute18,
attribute19,
attribute20
FROM igs_ad_pnmembr_dtls
WHERE rowid = x_rowid
FOR UPDATE NOWAIT;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
PROCEDURE update_row (
x_rowid IN VARCHAR2,
x_panel_dtls_id IN NUMBER,
x_role_type_code IN VARCHAR2,
x_member_person_id IN NUMBER,
x_interview_date IN DATE,
x_interview_time IN DATE,
x_location_cd IN VARCHAR2,
x_room_id IN NUMBER,
x_member_decision_code IN VARCHAR2,
x_member_decision_type IN VARCHAR2,
x_member_decision_date IN DATE,
x_attribute_category IN VARCHAR2,
x_attribute1 IN VARCHAR2,
x_attribute2 IN VARCHAR2,
x_attribute3 IN VARCHAR2,
x_attribute4 IN VARCHAR2,
x_attribute5 IN VARCHAR2,
x_attribute6 IN VARCHAR2,
x_attribute7 IN VARCHAR2,
x_attribute8 IN VARCHAR2,
x_attribute9 IN VARCHAR2,
x_attribute10 IN VARCHAR2,
x_attribute11 IN VARCHAR2,
x_attribute12 IN VARCHAR2,
x_attribute13 IN VARCHAR2,
x_attribute14 IN VARCHAR2,
x_attribute15 IN VARCHAR2,
x_attribute16 IN VARCHAR2,
x_attribute17 IN VARCHAR2,
x_attribute18 IN VARCHAR2,
x_attribute19 IN VARCHAR2,
x_attribute20 IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By : Navin Sinha
|| Created On : 16-JUN-2003
|| Purpose : Handles the UPDATE DML logic for the table.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| ravishar 05/27/05 Security related changes
|| (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_PNMEMBR_DTLS_PKG.UPDATE_ROW');
p_action => 'UPDATE',
x_rowid => x_rowid,
x_panel_dtls_id => x_panel_dtls_id,
x_role_type_code => x_role_type_code,
x_member_person_id => x_member_person_id,
x_interview_date => x_interview_date,
x_interview_time => x_interview_time,
x_location_cd => x_location_cd,
x_room_id => x_room_id,
x_member_decision_code => x_member_decision_code,
x_member_decision_type => x_member_decision_type,
x_member_decision_date => x_member_decision_date,
x_attribute_category => x_attribute_category,
x_attribute1 => x_attribute1,
x_attribute2 => x_attribute2,
x_attribute3 => x_attribute3,
x_attribute4 => x_attribute4,
x_attribute5 => x_attribute5,
x_attribute6 => x_attribute6,
x_attribute7 => x_attribute7,
x_attribute8 => x_attribute8,
x_attribute9 => x_attribute9,
x_attribute10 => x_attribute10,
x_attribute11 => x_attribute11,
x_attribute12 => x_attribute12,
x_attribute13 => x_attribute13,
x_attribute14 => x_attribute14,
x_attribute15 => x_attribute15,
x_attribute16 => x_attribute16,
x_attribute17 => x_attribute17,
x_attribute18 => x_attribute18,
x_attribute19 => x_attribute19,
x_attribute20 => x_attribute20,
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_pnmembr_dtls
SET
role_type_code = new_references.role_type_code,
interview_date = new_references.interview_date,
interview_time = new_references.interview_time,
location_cd = new_references.location_cd,
room_id = new_references.room_id,
member_decision_code = new_references.member_decision_code,
member_decision_type = new_references.member_decision_type,
member_decision_date = new_references.member_decision_date,
attribute_category = new_references.attribute_category,
attribute1 = new_references.attribute1,
attribute2 = new_references.attribute2,
attribute3 = new_references.attribute3,
attribute4 = new_references.attribute4,
attribute5 = new_references.attribute5,
attribute6 = new_references.attribute6,
attribute7 = new_references.attribute7,
attribute8 = new_references.attribute8,
attribute9 = new_references.attribute9,
attribute10 = new_references.attribute10,
attribute11 = new_references.attribute11,
attribute12 = new_references.attribute12,
attribute13 = new_references.attribute13,
attribute14 = new_references.attribute14,
attribute15 = new_references.attribute15,
attribute16 = new_references.attribute16,
attribute17 = new_references.attribute17,
attribute18 = new_references.attribute18,
attribute19 = new_references.attribute19,
attribute20 = new_references.attribute20,
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;
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_pnmembr_dtls
WHERE panel_dtls_id = x_panel_dtls_id
AND member_person_id = x_member_person_id;
insert_row (
x_rowid,
x_panel_dtls_id,
x_role_type_code,
x_member_person_id,
x_interview_date,
x_interview_time,
x_location_cd,
x_room_id,
x_member_decision_code,
x_member_decision_type,
x_member_decision_date,
x_attribute_category,
x_attribute1,
x_attribute2,
x_attribute3,
x_attribute4,
x_attribute5,
x_attribute6,
x_attribute7,
x_attribute8,
x_attribute9,
x_attribute10,
x_attribute11,
x_attribute12,
x_attribute13,
x_attribute14,
x_attribute15,
x_attribute16,
x_attribute17,
x_attribute18,
x_attribute19,
x_attribute20,
l_mode
);
update_row (
x_rowid,
x_panel_dtls_id,
x_role_type_code,
x_member_person_id,
x_interview_date,
x_interview_time,
x_location_cd,
x_room_id,
x_member_decision_code,
x_member_decision_type,
x_member_decision_date,
x_attribute_category,
x_attribute1,
x_attribute2,
x_attribute3,
x_attribute4,
x_attribute5,
x_attribute6,
x_attribute7,
x_attribute8,
x_attribute9,
x_attribute10,
x_attribute11,
x_attribute12,
x_attribute13,
x_attribute14,
x_attribute15,
x_attribute16,
x_attribute17,
x_attribute18,
x_attribute19,
x_attribute20,
l_mode
);
PROCEDURE delete_row (
x_rowid IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By : Navin Sinha
|| Created On : 16-JUN-2003
|| Purpose : Handles the DELETE DML logic for the table.
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| ravishar 5/30/2005 Security related changes
|| (reverse chronological order - newest change first)
*/
BEGIN
before_dml (
p_action => 'DELETE',
x_rowid => x_rowid
);
DELETE FROM igs_ad_pnmembr_dtls
WHERE rowid = x_rowid;
END delete_row;