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 : 11-NOV-2002
|| 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_pr_ou_fnd
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');
SELECT rowid
FROM igs_pr_ou_fnd
WHERE progression_rule_cat = x_progression_rule_cat
AND pra_sequence_number = x_pra_sequence_number
AND pro_sequence_number = x_pro_sequence_number
AND fund_code = x_fund_code
FOR UPDATE NOWAIT;
SELECT rowid
FROM igs_pr_ou_fnd
WHERE ((pra_sequence_number = x_pra_sequence_number) AND
(progression_rule_cat = x_progression_rule_cat) AND
(pro_sequence_number = x_sequence_number));
SELECT rowid
FROM igs_pr_ou_fnd
WHERE ((fund_code = x_fund_code));
PROCEDURE BeforeInsertUpdate( p_action VARCHAR2 ) AS
/*
|| Created By : anilk
|| Created On : 25-FEB-2003
|| Known limitations, enhancements or remarks :
|| Change History :
|| Who When What
|| (reverse chronological order - newest change first)
*/
CURSOR c_parent (
cp_progression_rule_cat IGS_PR_RU_OU.progression_rule_cat%TYPE,
cp_pra_sequence_number IGS_PR_RU_OU.pra_sequence_number%TYPE,
cp_sequence_number IGS_PR_RU_OU.sequence_number%TYPE ) IS
SELECT 1
FROM IGS_PR_RU_OU pro
WHERE pro.progression_rule_cat = cp_progression_rule_cat AND
pro.pra_sequence_number = cp_pra_sequence_number AND
pro.sequence_number = cp_sequence_number AND
pro.logical_delete_dt is NULL;
IF (p_action = 'INSERT') THEN
OPEN c_parent( new_references.progression_rule_cat, new_references.pra_sequence_number, new_references.pro_sequence_number );
FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
ELSIF(p_action = 'UPDATE') THEN
IF new_references.progression_rule_cat <> old_references.progression_rule_cat OR
new_references.pra_sequence_number <> old_references.pra_sequence_number OR
new_references.pro_sequence_number <> old_references.pro_sequence_number THEN
OPEN c_parent( new_references.progression_rule_cat, new_references.pra_sequence_number, new_references.pro_sequence_number );
FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
END BeforeInsertUpdate;
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 : 11-NOV-2002
|| 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_progression_rule_cat,
x_pra_sequence_number,
x_pro_sequence_number,
x_fund_code,
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.progression_rule_cat,
new_references.pra_sequence_number,
new_references.pro_sequence_number,
new_references.fund_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.progression_rule_cat,
new_references.pra_sequence_number,
new_references.pro_sequence_number,
new_references.fund_code
)
) THEN
fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
BeforeInsertUpdate(p_action);
PROCEDURE insert_row (
x_rowid IN OUT NOCOPY VARCHAR2,
x_progression_rule_cat IN VARCHAR2,
x_pra_sequence_number IN NUMBER,
x_pro_sequence_number IN NUMBER,
x_fund_code IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By : [email protected]
|| Created On : 11-NOV-2002
|| 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;
p_action => 'INSERT',
x_rowid => x_rowid,
x_progression_rule_cat => x_progression_rule_cat,
x_pra_sequence_number => x_pra_sequence_number,
x_pro_sequence_number => x_pro_sequence_number,
x_fund_code => x_fund_code,
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_pr_ou_fnd (
progression_rule_cat,
pra_sequence_number,
pro_sequence_number,
fund_code,
creation_date,
created_by,
last_update_date,
last_updated_by,
last_update_login
) VALUES (
new_references.progression_rule_cat,
new_references.pra_sequence_number,
new_references.pro_sequence_number,
new_references.fund_code,
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
rowid
FROM igs_pr_ou_fnd
WHERE rowid = x_rowid
FOR UPDATE NOWAIT;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
PROCEDURE delete_row (
x_rowid IN VARCHAR2
) AS
/*
|| Created By : [email protected]
|| Created On : 11-NOV-2002
|| 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_pr_ou_fnd
WHERE rowid = x_rowid;
END delete_row;