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 : prabhat.patel
|| Created On : 09-OCT-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_pe_fund_excl
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_pe_fund_excl
WHERE fund_excl_id = x_fund_excl_id
FOR UPDATE NOWAIT;
SELECT rowid
FROM igs_pe_fund_excl
WHERE person_id = x_person_id
AND encumbrance_type = x_encumbrance_type
AND pen_start_dt = x_pen_start_dt
AND s_encmb_effect_type = x_s_encmb_effect_type
AND pee_start_dt = x_pee_start_dt
AND pee_sequence_number = x_pee_sequence_number
AND fund_code = x_fund_code
AND pfe_start_dt = x_pfe_start_dt
AND ((l_rowid IS NULL) OR (rowid <> l_rowid));
SELECT rowid
FROM igs_pe_fund_excl
WHERE ((fund_code = x_fund_code));
SELECT rowid
FROM igs_pe_fund_excl
WHERE ((encumbrance_type = x_encumbrance_type) AND
(pee_sequence_number = x_sequence_number) AND
(pee_start_dt = x_pee_start_dt) AND
(pen_start_dt = x_pen_start_dt) AND
(person_id = x_person_id) AND
(s_encmb_effect_type = x_s_encmb_effect_type));
PROCEDURE BeforeRowInsertUpdate(
p_inserting IN BOOLEAN,
p_updating IN BOOLEAN,
p_deleting IN BOOLEAN
) AS
l_message_name VARCHAR2(30);
(p_inserting OR (p_updating AND
(old_references.pfe_start_dt <> new_references.pfe_start_dt)))
THEN
IF igs_en_val_pce.enrp_val_encmb_dt (
new_references.pfe_start_dt,
l_message_name) = FALSE THEN
FND_MESSAGE.SET_NAME('IGS', l_message_name);
IF p_inserting THEN
IF igs_en_val_pce.enrp_val_encmb_dts (
new_references.pee_start_dt,
new_references.pfe_start_dt,
l_message_name) = FALSE THEN
FND_MESSAGE.SET_NAME('IGS', l_message_name);
(p_inserting OR (p_updating AND
(NVL(old_references.expiry_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))
<> new_references.expiry_dt)))
THEN
IF igs_en_val_pce.enrp_val_strt_exp_dt (
new_references.pfe_start_dt,
new_references.expiry_dt,
l_message_name) = FALSE THEN
FND_MESSAGE.SET_NAME('IGS', l_message_name);
IF p_inserting THEN
IF new_references.s_encmb_effect_type NOT IN ('EX_AWD','EX_DISB','EX_SP_AWD','EX_SP_DISB') THEN
FND_MESSAGE.SET_NAME('IGS', 'IGS_EN_CANT_CREATE_REC_ENCUMB');
END BeforeRowInsertUpdate;
PROCEDURE AfterRowInsertUpdateDelete(
p_inserting IN BOOLEAN,
p_updating IN BOOLEAN,
p_deleting IN BOOLEAN
) IS
l_check VARCHAR2(1);
SELECT 'X'
FROM igs_pe_fund_excl
WHERE person_id = new_references.person_id AND
encumbrance_type = new_references.encumbrance_type AND
pen_start_dt = new_references.pen_start_dt AND
s_encmb_effect_type = new_references.s_encmb_effect_type AND
pee_start_dt = new_references.pee_start_dt AND
fund_code = new_references.fund_code AND
expiry_dt IS NULL AND
pfe_start_dt <> new_references.pfe_start_dt;
END AfterRowInsertUpdateDelete;
x_last_update_date IN DATE,
x_last_updated_by IN NUMBER,
x_last_update_login IN NUMBER
) AS
/*
|| Created By : prabhat.patel
|| Created On : 09-OCT-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_fund_excl_id,
x_person_id,
x_encumbrance_type,
x_pen_start_dt,
x_s_encmb_effect_type,
x_pee_start_dt,
x_pee_sequence_number,
x_fund_code,
x_pfe_start_dt,
x_expiry_dt,
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.
beforerowinsertupdate(
p_inserting => TRUE,
p_updating => FALSE,
p_deleting => FALSE);
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
beforerowinsertupdate(
p_inserting => FALSE,
p_updating => TRUE,
p_deleting => FALSE);
ELSIF (p_action = 'VALIDATE_INSERT') THEN
-- Call all the procedures related to Before Insert.
beforerowinsertupdate(
p_inserting => TRUE,
p_updating => FALSE,
p_deleting => FALSE);
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
beforerowinsertupdate(
p_inserting => FALSE,
p_updating => TRUE,
p_deleting => FALSE);
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to After Insert.
AfterRowInsertUpdateDelete
( p_inserting => TRUE,
p_updating => FALSE,
p_deleting => FALSE);
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to After Update.
AfterRowInsertUpdateDelete
( p_inserting => FALSE,
p_updating => TRUE,
p_deleting => FALSE);
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to After Delete.
NULL;
PROCEDURE insert_row (
x_rowid IN OUT NOCOPY VARCHAR2,
x_fund_excl_id IN OUT NOCOPY NUMBER,
x_person_id IN NUMBER,
x_encumbrance_type IN VARCHAR2,
x_pen_start_dt IN DATE,
x_s_encmb_effect_type IN VARCHAR2,
x_pee_start_dt IN DATE,
x_pee_sequence_number IN NUMBER,
x_fund_code IN VARCHAR2,
x_pfe_start_dt IN DATE,
x_expiry_dt IN DATE,
x_mode IN VARCHAR2
) AS
/*
|| Created By : prabhat.patel
|| Created On : 09-OCT-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_fund_excl_id => x_fund_excl_id,
x_person_id => x_person_id,
x_encumbrance_type => x_encumbrance_type,
x_pen_start_dt => x_pen_start_dt,
x_s_encmb_effect_type => x_s_encmb_effect_type,
x_pee_start_dt => x_pee_start_dt,
x_pee_sequence_number => x_pee_sequence_number,
x_fund_code => x_fund_code,
x_pfe_start_dt => x_pfe_start_dt,
x_expiry_dt => x_expiry_dt,
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_pe_fund_excl (
fund_excl_id,
person_id,
encumbrance_type,
pen_start_dt,
s_encmb_effect_type,
pee_start_dt,
pee_sequence_number,
fund_code,
pfe_start_dt,
expiry_dt,
creation_date,
created_by,
last_update_date,
last_updated_by,
last_update_login
) VALUES (
igs_pe_fund_excl_s.NEXTVAL,
new_references.person_id,
new_references.encumbrance_type,
new_references.pen_start_dt,
new_references.s_encmb_effect_type,
new_references.pee_start_dt,
new_references.pee_sequence_number,
new_references.fund_code,
new_references.pfe_start_dt,
new_references.expiry_dt,
x_last_update_date,
x_last_updated_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login
) RETURNING ROWID, fund_excl_id INTO x_rowid, x_fund_excl_id;
p_action => 'INSERT'
);
END insert_row;
SELECT
person_id,
encumbrance_type,
pen_start_dt,
s_encmb_effect_type,
pee_start_dt,
pee_sequence_number,
fund_code,
pfe_start_dt,
expiry_dt
FROM igs_pe_fund_excl
WHERE rowid = x_rowid
FOR UPDATE NOWAIT;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
PROCEDURE update_row (
x_rowid IN VARCHAR2,
x_fund_excl_id IN NUMBER,
x_person_id IN NUMBER,
x_encumbrance_type IN VARCHAR2,
x_pen_start_dt IN DATE,
x_s_encmb_effect_type IN VARCHAR2,
x_pee_start_dt IN DATE,
x_pee_sequence_number IN NUMBER,
x_fund_code IN VARCHAR2,
x_pfe_start_dt IN DATE,
x_expiry_dt IN DATE,
x_mode IN VARCHAR2
) AS
/*
|| Created By : prabhat.patel
|| Created On : 09-OCT-2002
|| 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_fund_excl_id => x_fund_excl_id,
x_person_id => x_person_id,
x_encumbrance_type => x_encumbrance_type,
x_pen_start_dt => x_pen_start_dt,
x_s_encmb_effect_type => x_s_encmb_effect_type,
x_pee_start_dt => x_pee_start_dt,
x_pee_sequence_number => x_pee_sequence_number,
x_fund_code => x_fund_code,
x_pfe_start_dt => x_pfe_start_dt,
x_expiry_dt => x_expiry_dt,
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_pe_fund_excl
SET
person_id = new_references.person_id,
encumbrance_type = new_references.encumbrance_type,
pen_start_dt = new_references.pen_start_dt,
s_encmb_effect_type = new_references.s_encmb_effect_type,
pee_start_dt = new_references.pee_start_dt,
pee_sequence_number = new_references.pee_sequence_number,
fund_code = new_references.fund_code,
pfe_start_dt = new_references.pfe_start_dt,
expiry_dt = new_references.expiry_dt,
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'
);
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_pe_fund_excl
WHERE fund_excl_id = x_fund_excl_id;
insert_row (
x_rowid,
x_fund_excl_id,
x_person_id,
x_encumbrance_type,
x_pen_start_dt,
x_s_encmb_effect_type,
x_pee_start_dt,
x_pee_sequence_number,
x_fund_code,
x_pfe_start_dt,
x_expiry_dt,
x_mode
);
update_row (
x_rowid,
x_fund_excl_id,
x_person_id,
x_encumbrance_type,
x_pen_start_dt,
x_s_encmb_effect_type,
x_pee_start_dt,
x_pee_sequence_number,
x_fund_code,
x_pfe_start_dt,
x_expiry_dt,
x_mode
);
PROCEDURE delete_row (
x_rowid IN VARCHAR2
) AS
/*
|| Created By : prabhat.patel
|| Created On : 09-OCT-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_pe_fund_excl
WHERE rowid = x_rowid;
END delete_row;