The following lines contain the word 'select', 'insert', 'update' or 'delete':
x_last_update_date IN DATE DEFAULT NULL,
x_last_updated_by IN NUMBER DEFAULT NULL,
x_last_update_login IN NUMBER DEFAULT NULL
) AS
CURSOR cur_old_ref_values IS
SELECT *
FROM IGS_FI_FEE_AS_RT
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;
PROCEDURE BeforeRowInsertUpdate1(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
v_message_name varchar2(30);
IF p_inserting THEN
IF IGS_FI_VAL_CFAR.finp_val_cfar_ins(
new_references.person_id,
new_references.course_cd,
new_references.fee_type,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR
(p_updating AND new_references.end_dt IS NOT NULL AND
(new_references.start_dt <> old_references.start_dt OR new_references.end_dt <> old_references.end_dt)) THEN
IF IGS_FI_VAL_CFAR.finp_val_cfar_end_dt(
new_references.start_dt,
new_references.end_dt,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR (p_updating AND
new_references.fee_type <> old_references.fee_type) THEN
IF IGS_FI_VAL_CFAR.finp_val_ft_closed(
new_references.fee_type,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR (p_updating AND
new_references.attendance_type <> old_references.attendance_type) THEN
IF IGS_FI_VAL_CFAR.finp_val_att_closed(
new_references.attendance_type,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR (p_updating AND
new_references.attendance_mode <> old_references.attendance_mode) THEN
IF IGS_FI_VAL_CFAR.finp_val_am_closed(
new_references.attendance_mode,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR (p_updating AND
new_references.location_cd <> old_references.location_cd) THEN
IF IGS_FI_VAL_CFAR.finp_val_loc_closed(
new_references.location_cd,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
END BeforeRowInsertUpdate1;
PROCEDURE AfterRowUpdate3(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
BEGIN
-- create a history
IGS_FI_GEN_002.finp_ins_cfar_hist(old_references.person_id,
old_references.course_cd,
old_references.fee_type,
old_references.start_dt,
new_references.end_dt,
old_references.end_dt,
new_references.location_cd,
old_references.location_cd,
new_references.attendance_type,
old_references.attendance_type,
new_references.attendance_mode,
old_references.attendance_mode,
new_references.chg_rate,
old_references.chg_rate,
new_references.lower_nrml_rate_ovrd_ind,
old_references.lower_nrml_rate_ovrd_ind,
new_references.last_updated_by,
old_references.last_updated_by,
new_references.last_update_date,
old_references.last_update_date);
END AfterRowUpdate3;
PROCEDURE AfterStmtInsertUpdate4(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
v_message_name varchar2(30);
IF p_inserting OR p_updating THEN
IF new_references.end_dt IS NULL THEN
IF IGS_FI_VAL_CFAR.finp_val_cfar_open (
new_references.person_id,
new_references.course_cd,
new_references.fee_type,
new_references.start_dt,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
END AfterStmtInsertUpdate4;
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_FI_FEE_AS_RT
WHERE person_id = x_person_id
AND course_cd = x_course_cd
AND fee_type = x_fee_type
AND start_dt = x_start_dt
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_FI_FEE_AS_RT
WHERE attendance_mode = x_attendance_mode ;
SELECT rowid
FROM IGS_FI_FEE_AS_RT
WHERE attendance_type = x_attendance_type ;
SELECT rowid
FROM IGS_FI_FEE_AS_RT
WHERE location_cd = x_location_cd ;
SELECT rowid
FROM IGS_FI_FEE_AS_RT
WHERE person_id = x_person_id
AND course_cd = x_course_cd ;
x_last_update_date IN DATE DEFAULT NULL,
x_last_updated_by IN NUMBER DEFAULT NULL,
x_last_update_login IN NUMBER DEFAULT NULL
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_person_id,
x_course_cd,
x_fee_type,
x_start_dt,
x_end_dt,
x_location_cd,
x_attendance_type,
x_attendance_mode,
x_chg_rate,
x_lower_nrml_rate_ovrd_ind,
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.
BeforeRowInsertUpdate1 ( p_inserting => TRUE );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
BeforeRowInsertUpdate1 ( p_updating => TRUE );
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to Before Delete.
Null;
ELSIF (p_action = 'VALIDATE_INSERT') THEN
IF Get_PK_For_Validation (
new_references.person_id ,
new_references.course_cd ,
new_references.fee_type ,
new_references.start_dt
) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_FI_CONTRACT_EXISTS_FEETYP');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
Check_Constraints;
ELSIF (p_action = 'VALIDATE_DELETE') THEN
Null;
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to After Insert.
AfterStmtInsertUpdate4 ( p_inserting => TRUE );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to After Update.
AfterRowUpdate3 ( p_updating => TRUE );
AfterStmtInsertUpdate4 ( p_updating => TRUE );
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to After Delete.
Null;
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_PERSON_ID in NUMBER,
X_COURSE_CD in VARCHAR2,
X_FEE_TYPE in VARCHAR2,
X_START_DT in DATE,
X_END_DT in DATE,
X_LOCATION_CD in VARCHAR2,
X_ATTENDANCE_TYPE in VARCHAR2,
X_ATTENDANCE_MODE in VARCHAR2,
X_CHG_RATE in NUMBER,
X_LOWER_NRML_RATE_OVRD_IND in VARCHAR2,
X_MODE in VARCHAR2 default 'R'
) as
cursor C is select ROWID from IGS_FI_FEE_AS_RT
where PERSON_ID = X_PERSON_ID
and COURSE_CD = X_COURSE_CD
and FEE_TYPE = X_FEE_TYPE
and START_DT = X_START_DT;
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;
p_action=>'INSERT',
x_rowid=>X_ROWID,
x_attendance_mode=>X_ATTENDANCE_MODE,
x_attendance_type=>X_ATTENDANCE_TYPE,
x_chg_rate=>X_CHG_RATE,
x_course_cd=>X_COURSE_CD,
x_end_dt=>X_END_DT,
x_fee_type=>X_FEE_TYPE,
x_location_cd=>X_LOCATION_CD,
x_lower_nrml_rate_ovrd_ind=>NVL(X_LOWER_NRML_RATE_OVRD_IND,'N'),
x_person_id=>X_PERSON_ID,
x_start_dt=>X_START_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_FI_FEE_AS_RT (
PERSON_ID,
COURSE_CD,
FEE_TYPE,
START_DT,
END_DT,
LOCATION_CD,
ATTENDANCE_TYPE,
ATTENDANCE_MODE,
CHG_RATE,
LOWER_NRML_RATE_OVRD_IND,
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.PERSON_ID,
NEW_REFERENCES.COURSE_CD,
NEW_REFERENCES.FEE_TYPE,
NEW_REFERENCES.START_DT,
NEW_REFERENCES.END_DT,
NEW_REFERENCES.LOCATION_CD,
NEW_REFERENCES.ATTENDANCE_TYPE,
NEW_REFERENCES.ATTENDANCE_MODE,
NEW_REFERENCES.CHG_RATE,
NEW_REFERENCES.LOWER_NRML_RATE_OVRD_IND,
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
);
p_action => 'INSERT',
x_rowid => X_ROWID
);
end INSERT_ROW;
cursor c1 is select
END_DT,
LOCATION_CD,
ATTENDANCE_TYPE,
ATTENDANCE_MODE,
CHG_RATE,
LOWER_NRML_RATE_OVRD_IND
from IGS_FI_FEE_AS_RT
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_COURSE_CD in VARCHAR2,
X_FEE_TYPE in VARCHAR2,
X_START_DT in DATE,
X_END_DT in DATE,
X_LOCATION_CD in VARCHAR2,
X_ATTENDANCE_TYPE in VARCHAR2,
X_ATTENDANCE_MODE in VARCHAR2,
X_CHG_RATE in NUMBER,
X_LOWER_NRML_RATE_OVRD_IND in VARCHAR2,
X_MODE in VARCHAR2 default 'R'
) as
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;
p_action=>'UPDATE',
x_rowid=>X_ROWID,
x_attendance_mode=>X_ATTENDANCE_MODE,
x_attendance_type=>X_ATTENDANCE_TYPE,
x_chg_rate=>X_CHG_RATE,
x_course_cd=>X_COURSE_CD,
x_end_dt=>X_END_DT,
x_fee_type=>X_FEE_TYPE,
x_location_cd=>X_LOCATION_CD,
x_lower_nrml_rate_ovrd_ind=>X_LOWER_NRML_RATE_OVRD_IND,
x_person_id=>X_PERSON_ID,
x_start_dt=>X_START_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
);
X_PROGRAM_UPDATE_DATE := OLD_REFERENCES.PROGRAM_UPDATE_DATE;
X_PROGRAM_UPDATE_DATE := SYSDATE;
update IGS_FI_FEE_AS_RT set
END_DT = NEW_REFERENCES.END_DT,
LOCATION_CD = NEW_REFERENCES.LOCATION_CD,
ATTENDANCE_TYPE = NEW_REFERENCES.ATTENDANCE_TYPE,
ATTENDANCE_MODE = NEW_REFERENCES.ATTENDANCE_MODE,
CHG_RATE = NEW_REFERENCES.CHG_RATE,
LOWER_NRML_RATE_OVRD_IND = NEW_REFERENCES.LOWER_NRML_RATE_OVRD_IND,
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;
p_action => 'UPDATE',
x_rowid => X_ROWID
);
end UPDATE_ROW;
cursor c1 is select rowid from IGS_FI_FEE_AS_RT
where PERSON_ID = X_PERSON_ID
and COURSE_CD = X_COURSE_CD
and FEE_TYPE = X_FEE_TYPE
and START_DT = X_START_DT
;
INSERT_ROW (
X_ROWID,
X_PERSON_ID,
X_COURSE_CD,
X_FEE_TYPE,
X_START_DT,
X_END_DT,
X_LOCATION_CD,
X_ATTENDANCE_TYPE,
X_ATTENDANCE_MODE,
X_CHG_RATE,
X_LOWER_NRML_RATE_OVRD_IND,
X_MODE);
UPDATE_ROW (
X_ROWID,
X_PERSON_ID,
X_COURSE_CD,
X_FEE_TYPE,
X_START_DT,
X_END_DT,
X_LOCATION_CD,
X_ATTENDANCE_TYPE,
X_ATTENDANCE_MODE,
X_CHG_RATE,
X_LOWER_NRML_RATE_OVRD_IND,
X_MODE);
procedure DELETE_ROW (
X_ROWID in VARCHAR2,
x_mode IN VARCHAR2
) as
begin
Before_DML(
p_action => 'DELETE',
x_rowid => X_ROWID
);
delete from IGS_FI_FEE_AS_RT
where ROWID = X_ROWID;
p_action => 'DELETE',
x_rowid => X_ROWID
);
END delete_row;