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 :
|| Created On : 08-MAR-2006
|| 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_svs_auth
WHERE rowid = x_rowid;
SELECT SEVIS_AUTHORIZATION_NO
FROM igs_en_svs_auth esa1
WHERE person_id = cp_person_id
AND SEVIS_AUTHORIZATION_NO = (SELECT max(SEVIS_AUTHORIZATION_NO)
FROM igs_en_svs_auth esa2
WHERE esa2.person_id = esa1.person_id)
FOR UPDATE;
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 = 'INSERT' THEN
OPEN c_max_auth_no(x_person_id);
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');
SELECT rowid
FROM igs_en_svs_auth
WHERE sevis_auth_id = x_sevis_auth_id
FOR UPDATE NOWAIT;
SELECT rowid
FROM igs_en_svs_auth
WHERE person_id = x_person_id
AND sevis_authorization_code = x_sevis_authorization_code
AND start_dt = x_start_dt
AND cancel_flag <> 'Y'
AND ((l_rowid IS NULL) OR (rowid <> l_rowid));
SELECT sac.rowid row_id
FROM IGS_EN_SVS_AUTH_CAL sac
WHERE sevis_auth_id = x_sevis_auth_id;
IGS_EN_SVS_AUTH_CAL_PKG.DELETE_ROW(c_auth_cal_rec.row_id);
x_last_update_date IN DATE,
x_last_updated_by IN NUMBER,
x_last_update_login IN NUMBER
) AS
/*
|| Created By :
|| Created On : 08-MAR-2006
|| 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)
*/
l_no_of_months NUMBER;
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.sevis_auth_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_uniqueness;
ELSIF (p_action = '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.sevis_auth_id
)
) THEN
fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
check_uniqueness;
ELSIF (p_action = 'VALIDATE_DELETE') THEN
check_child_existance;
IF (p_action = 'INSERT' OR p_action = 'UPDATE') THEN
IF igs_en_sevis.is_auth_rec_duration_exceeds(new_references.person_id,
new_references.start_dt,
new_references.end_dt,
l_no_of_months) THEN
FND_MESSAGE.Set_name('IGS', 'IGS_EN_AUTH_PERIOD_VAL');
IF (p_action = 'UPDATE') AND new_references.cancel_flag = 'Y'
AND new_references.cancel_flag <> old_references.cancel_flag THEN
beforeudpate1(new_references.sevis_auth_id);
PROCEDURE insert_row (
x_rowid IN OUT NOCOPY VARCHAR2,
x_sevis_authorization_code IN VARCHAR2,
x_start_dt IN DATE,
x_end_dt IN DATE,
x_comments IN VARCHAR2,
x_sevis_auth_id IN OUT NOCOPY NUMBER,
x_sevis_authorization_no IN OUT NOCOPY NUMBER,
x_person_id IN NUMBER,
x_cancel_flag IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By :
|| Created On : 08-MAR-2006
|| 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_program_update_date DATE;
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;
x_program_update_date := NULL;
x_program_update_date := SYSDATE;
fnd_message.set_token ('ROUTINE', 'IGS_EN_SVS_AUTH_PKG.INSERT_ROW');
p_action => 'INSERT',
x_rowid => x_rowid,
x_sevis_authorization_code => x_sevis_authorization_code,
x_start_dt => x_start_dt,
x_end_dt => x_end_dt,
x_comments => x_comments,
x_sevis_auth_id => x_sevis_auth_id,
x_sevis_authorization_no => x_sevis_authorization_no,
x_person_id => x_person_id,
x_cancel_flag => x_cancel_flag,
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_en_svs_auth (
sevis_authorization_code,
start_dt,
end_dt,
comments,
sevis_auth_id,
sevis_authorization_no,
person_id,
cancel_flag,
creation_date,
created_by,
last_update_date,
last_updated_by,
last_update_login,
request_id,
program_id,
program_application_id,
program_update_date
) VALUES (
new_references.sevis_authorization_code,
new_references.start_dt,
new_references.end_dt,
new_references.comments,
igs_en_svs_auth_s.NEXTVAL,
new_references.sevis_authorization_no,
new_references.person_id,
new_references.cancel_flag,
x_last_update_date,
x_last_updated_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login ,
x_request_id,
x_program_id,
x_program_application_id,
x_program_update_date
) RETURNING ROWID, sevis_auth_id,sevis_authorization_no
INTO x_rowid, x_sevis_auth_id, x_sevis_authorization_no;
END insert_row;
SELECT
sevis_authorization_code,
start_dt,
end_dt,
comments,
sevis_authorization_no,
person_id,
cancel_flag
FROM igs_en_svs_auth
WHERE rowid = x_rowid
FOR UPDATE NOWAIT;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
PROCEDURE update_row (
x_rowid IN VARCHAR2,
x_sevis_authorization_code IN VARCHAR2,
x_start_dt IN DATE,
x_end_dt IN DATE,
x_comments IN VARCHAR2,
x_sevis_auth_id IN NUMBER,
x_sevis_authorization_no IN NUMBER,
x_person_id IN NUMBER,
x_cancel_flag IN VARCHAR2,
x_mode IN VARCHAR2
) AS
/*
|| Created By :
|| Created On : 08-MAR-2006
|| 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_program_update_date DATE;
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_EN_SVS_AUTH_PKG.UPDATE_ROW');
p_action => 'UPDATE',
x_rowid => x_rowid,
x_sevis_authorization_code => x_sevis_authorization_code,
x_start_dt => x_start_dt,
x_end_dt => x_end_dt,
x_comments => x_comments,
x_sevis_auth_id => x_sevis_auth_id,
x_sevis_authorization_no => x_sevis_authorization_no,
x_person_id => x_person_id,
x_cancel_flag => x_cancel_flag,
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_program_update_date := old_references.program_update_date;
x_program_update_date := SYSDATE;
UPDATE igs_en_svs_auth
SET
sevis_authorization_code = new_references.sevis_authorization_code,
start_dt = new_references.start_dt,
end_dt = new_references.end_dt,
comments = new_references.comments,
sevis_authorization_no = new_references.sevis_authorization_no,
person_id = new_references.person_id,
cancel_flag = new_references.cancel_flag,
last_update_date = x_last_update_date,
last_updated_by = x_last_updated_by,
last_update_login = x_last_update_login ,
request_id = x_request_id,
program_id = x_program_id,
program_application_id = x_program_application_id,
program_update_date = x_program_update_date
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_en_svs_auth
WHERE sevis_auth_id = x_sevis_auth_id;
insert_row (
x_rowid,
x_sevis_authorization_code,
x_start_dt,
x_end_dt,
x_comments,
x_sevis_auth_id,
x_sevis_authorization_no,
x_person_id,
x_cancel_flag,
x_mode
);
update_row (
x_rowid,
x_sevis_authorization_code,
x_start_dt,
x_end_dt,
x_comments,
x_sevis_auth_id,
x_sevis_authorization_no,
x_person_id,
x_cancel_flag,
x_mode
);
PROCEDURE delete_row (
x_rowid IN VARCHAR2
) AS
/*
|| Created By :
|| Created On : 08-MAR-2006
|| 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_svs_auth
WHERE rowid = x_rowid;
END delete_row;