The following lines contain the word 'select', 'insert', 'update' or 'delete':
x_logical_delete_dt IN DATE DEFAULT NULL,
x_creation_date IN DATE DEFAULT NULL,
x_created_by IN NUMBER DEFAULT NULL,
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_ELM_RANGE
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');
new_references.logical_delete_dt := x_logical_delete_dt;
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 BeforeRowInsertUpdateDelete1(
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_FEE_TYPE.s_fee_trigger_cat = 'INSTITUTN' or
-- IGS_FI_FEE_TYPE.s_fee_type = 'HECS', then element ranges
-- can only be defined against FTCI's.
IF new_references.s_relation_type <> 'FTCI' THEN
IF IGS_FI_VAL_ER.finp_val_er_ins (
new_references.fee_type,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR p_updating THEN
IF IGS_FI_VAL_ER.finp_val_er_rltn (
new_references.s_relation_type,
new_references.fee_cat,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
END BeforeRowInsertUpdateDelete1;
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_ER_HIST(old_references.fee_type,
old_references.fee_cal_type,
old_references.fee_ci_sequence_number,
old_references.s_relation_type,
old_references.range_number,
new_references.fee_cat,
old_references.fee_cat,
new_references.lower_range,
old_references.lower_range,
new_references.upper_range,
old_references.upper_range,
new_references.s_chg_method_type,
old_references.s_chg_method_type,
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 IGS_FI_VAL_ER.finp_val_er_defn(new_references.fee_type,
new_references.fee_cal_type,
new_references.fee_ci_sequence_number,
new_references.s_relation_type,
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');
SELECT rowid
FROM IGS_FI_ELM_RANGE
WHERE ER_ID = x_ER_ID
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_FI_ELM_RANGE
WHERE fee_type = x_fee_type
AND fee_cal_type = x_fee_cal_type
AND fee_ci_sequence_number = x_fee_ci_sequence_number
AND range_number = x_range_number
AND fee_cat = x_fee_cat
AND ((l_rowid IS NULL) OR (rowid <> l_rowid))
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_FI_ELM_RANGE
WHERE fee_type = x_fee_type
AND fee_cal_type = x_fee_cal_type
AND fee_ci_sequence_number = x_fee_ci_sequence_number
AND s_relation_type = x_s_relation_type
AND range_number = x_range_number
AND ( fee_cat = x_fee_cat or fee_cat is null)
AND ((l_rowid IS NULL) OR (rowid <> l_rowid))
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_FI_ELM_RANGE
WHERE er_id = x_er_id
AND ((l_rowid IS NULL) OR (rowid <> l_rowid))
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_FI_ELM_RANGE
WHERE s_chg_method_type = x_s_chg_method_type ;
x_logical_delete_dt IN DATE DEFAULT NULL,
x_creation_date IN DATE DEFAULT NULL,
x_created_by IN NUMBER DEFAULT NULL,
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_ER_ID,
x_fee_type,
x_fee_cal_type,
x_fee_ci_sequence_number,
x_s_relation_type,
x_range_number,
x_fee_cat,
x_lower_range,
x_upper_range,
x_s_chg_method_type,
x_logical_delete_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.
BeforeRowInsertUpdateDelete1 ( p_inserting => TRUE );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
BeforeRowInsertUpdateDelete1 ( p_updating => TRUE );
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to Before Delete.
BeforeRowInsertUpdateDelete1 ( p_deleting => TRUE );
ELSIF (p_action = 'VALIDATE_INSERT') THEN
IF (Get_PK_For_Validation (
new_references.er_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') 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 );
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_ER_ID IN OUT NOCOPY NUMBER,
X_FEE_TYPE in VARCHAR2,
X_FEE_CAL_TYPE in VARCHAR2,
X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
X_S_RELATION_TYPE in VARCHAR2,
X_RANGE_NUMBER in NUMBER,
X_FEE_CAT in VARCHAR2,
X_LOWER_RANGE in NUMBER,
X_UPPER_RANGE in NUMBER,
X_S_CHG_METHOD_TYPE in VARCHAR2,
X_LOGICAL_DELETE_DT in DATE,
X_MODE in VARCHAR2 default 'R'
) AS
cursor C (cp_range_id IN NUMBER) is select ROWID from IGS_FI_ELM_RANGE
where ER_ID = cp_range_id;
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;
SELECT IGS_FI_ELM_RANGE_ER_ID_S.NextVal
INTO X_ER_ID
FROM dual;
p_action=>'INSERT',
x_rowid=>X_ROWID,
x_ER_ID => X_ER_ID,
x_fee_cal_type=>X_FEE_CAL_TYPE,
x_fee_cat=>X_FEE_CAT,
x_fee_ci_sequence_number=>X_FEE_CI_SEQUENCE_NUMBER,
x_fee_type=>X_FEE_TYPE,
x_logical_delete_dt=>X_LOGICAL_DELETE_DT,
x_lower_range=>X_LOWER_RANGE,
x_range_number=>X_RANGE_NUMBER,
x_s_chg_method_type=>X_S_CHG_METHOD_TYPE,
x_s_relation_type=>X_S_RELATION_TYPE,
x_upper_range=>X_UPPER_RANGE,
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_ELM_RANGE (
ER_ID,
FEE_TYPE,
FEE_CAL_TYPE,
FEE_CI_SEQUENCE_NUMBER,
S_RELATION_TYPE,
RANGE_NUMBER,
FEE_CAT,
LOWER_RANGE,
UPPER_RANGE,
S_CHG_METHOD_TYPE,
LOGICAL_DELETE_DT,
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.ER_ID,
NEW_REFERENCES.FEE_TYPE,
NEW_REFERENCES.FEE_CAL_TYPE,
NEW_REFERENCES.FEE_CI_SEQUENCE_NUMBER,
NEW_REFERENCES.S_RELATION_TYPE,
NEW_REFERENCES.RANGE_NUMBER,
NEW_REFERENCES.FEE_CAT,
NEW_REFERENCES.LOWER_RANGE,
NEW_REFERENCES.UPPER_RANGE,
NEW_REFERENCES.S_CHG_METHOD_TYPE,
NEW_REFERENCES.LOGICAL_DELETE_DT,
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;
X_LOGICAL_DELETE_DT in DATE
) AS
cursor c1 is select
FEE_TYPE,
FEE_CAL_TYPE,
FEE_CI_SEQUENCE_NUMBER,
S_RELATION_TYPE,
RANGE_NUMBER,
FEE_CAT,
LOWER_RANGE,
UPPER_RANGE,
S_CHG_METHOD_TYPE,
LOGICAL_DELETE_DT
from IGS_FI_ELM_RANGE
where ROWID=X_ROWID
for update nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
AND ((tlinfo.LOGICAL_DELETE_DT = X_LOGICAL_DELETE_DT)
OR ((tlinfo.LOGICAL_DELETE_DT is null)
AND (X_LOGICAL_DELETE_DT is null)))
) then
null;
procedure UPDATE_ROW (
X_ROWID in VARCHAR2,
X_ER_ID IN NUMBER,
X_FEE_TYPE in VARCHAR2,
X_FEE_CAL_TYPE in VARCHAR2,
X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
X_S_RELATION_TYPE in VARCHAR2,
X_RANGE_NUMBER in NUMBER,
X_FEE_CAT in VARCHAR2,
X_LOWER_RANGE in NUMBER,
X_UPPER_RANGE in NUMBER,
X_S_CHG_METHOD_TYPE in VARCHAR2,
X_LOGICAL_DELETE_DT in DATE,
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;
X_PROGRAM_UPDATE_DATE:=OLD_REFERENCES.PROGRAM_UPDATE_DATE;
X_PROGRAM_UPDATE_DATE:=SYSDATE;
p_action=>'UPDATE',
x_rowid=>X_ROWID,
x_ER_ID => X_ER_ID,
x_fee_cal_type=>X_FEE_CAL_TYPE,
x_fee_cat=>X_FEE_CAT,
x_fee_ci_sequence_number=>X_FEE_CI_SEQUENCE_NUMBER,
x_fee_type=>X_FEE_TYPE,
x_logical_delete_dt=>X_LOGICAL_DELETE_DT,
x_lower_range=>X_LOWER_RANGE,
x_range_number=>X_RANGE_NUMBER,
x_s_chg_method_type=>X_S_CHG_METHOD_TYPE,
x_s_relation_type=>X_S_RELATION_TYPE,
x_upper_range=>X_UPPER_RANGE,
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_FI_ELM_RANGE set
FEE_CAL_TYPE = NEW_REFERENCES.FEE_CAL_TYPE,
FEE_CI_SEQUENCE_NUMBER = NEW_REFERENCES.FEE_CI_SEQUENCE_NUMBER,
FEE_TYPE = NEW_REFERENCES.FEE_TYPE,
S_RELATION_TYPE = NEW_REFERENCES.S_RELATION_TYPE,
RANGE_NUMBER = NEW_REFERENCES.RANGE_NUMBER,
FEE_CAT = NEW_REFERENCES.FEE_CAT,
LOWER_RANGE = NEW_REFERENCES.LOWER_RANGE,
UPPER_RANGE = NEW_REFERENCES.UPPER_RANGE,
S_CHG_METHOD_TYPE = NEW_REFERENCES.S_CHG_METHOD_TYPE,
LOGICAL_DELETE_DT = NEW_REFERENCES.LOGICAL_DELETE_DT,
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;
X_LOGICAL_DELETE_DT in DATE,
X_MODE in VARCHAR2 default 'R'
) AS
cursor c1 is select rowid from IGS_FI_ELM_RANGE
where ER_ID = X_ER_ID;
INSERT_ROW (
X_ROWID,
X_ER_ID,
X_FEE_TYPE,
X_FEE_CAL_TYPE,
X_FEE_CI_SEQUENCE_NUMBER,
X_S_RELATION_TYPE,
X_RANGE_NUMBER,
X_FEE_CAT,
X_LOWER_RANGE,
X_UPPER_RANGE,
X_S_CHG_METHOD_TYPE,
X_LOGICAL_DELETE_DT,
X_MODE);
UPDATE_ROW (
X_ROWID,
X_ER_ID,
X_FEE_TYPE,
X_FEE_CAL_TYPE,
X_FEE_CI_SEQUENCE_NUMBER,
X_S_RELATION_TYPE,
X_RANGE_NUMBER,
X_FEE_CAT,
X_LOWER_RANGE,
X_UPPER_RANGE,
X_S_CHG_METHOD_TYPE,
X_LOGICAL_DELETE_DT,
X_MODE);
procedure DELETE_ROW (
X_ROWID in VARCHAR2
) AS
begin
Before_DML(
p_action =>'DELETE',
x_rowid => X_ROWID
);
delete from IGS_FI_ELM_RANGE
where ROWID=X_ROWID;
end DELETE_ROW;