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 ,
x_org_id IN NUMBER DEFAULT NULL
) AS
CURSOR cur_old_ref_values IS
SELECT *
FROM IGS_RE_SCHOLARSHIP_ALL
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);
-- Turn off trigger validation when performing insert of IGS_RE_CANDIDATURE details
-- as a result of IGS_PS_COURSE transfer
IF igs_as_val_suaap.genp_val_sdtt_sess('ENRP_INS_CA_TRNSFR') THEN
-- Validate that inserts are allowed
IF p_inserting THEN
-- Validate if IGS_RE_SCHOLARSHIP type is closed
IF IGS_RE_VAL_SCH.resp_val_scht_closed ( new_references.scholarship_type,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name ('IGS', v_message_name);
-- Validate that inserts/updates are allowed
IF p_inserting OR p_updating THEN
-- Validate if start date is before end date
IF igs_ad_val_edtl.genp_val_strt_end_dt ( new_references.start_dt,
new_references.end_dt,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name ('IGS', v_message_name);
END BeforeRowInsertUpdate1;
PROCEDURE AfterRowInsertUpdate2(
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
-- Save the rowid of the current row.
-- Validate dates do not overlap
IF IGS_RE_VAL_SCH.resp_val_sch_ovrlp (
new_references.person_id,
new_references.ca_sequence_number,
new_references.scholarship_type,
new_references.start_dt,
new_references.end_dt,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name ('IGS', v_message_name);
END AfterRowInsertUpdate2;
Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
SELECT rowid
FROM IGS_RE_SCHOLARSHIP_ALL
WHERE person_id = x_person_id
AND ca_sequence_number = x_ca_sequence_number
AND scholarship_type = x_scholarship_type
AND start_dt = x_start_dt
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_RE_SCHOLARSHIP_ALL
WHERE person_id = x_person_id
AND ca_sequence_number = x_sequence_number ;
SELECT rowid
FROM IGS_RE_SCHOLARSHIP_ALL
WHERE scholarship_type = x_scholarship_type ;
x_last_update_date IN DATE DEFAULT NULL,
x_last_updated_by IN NUMBER DEFAULT NULL,
x_last_update_login IN NUMBER DEFAULT NULL,
x_org_id IN NUMBER DEFAULT NULL
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_person_id,
x_ca_sequence_number,
x_scholarship_type,
x_start_dt,
x_end_dt,
x_dollar_value,
x_description,
x_other_benefits,
x_conditions,
x_creation_date,
x_created_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login ,
x_org_id
);
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 = 'VALIDATE_INSERT') THEN
IF Get_PK_For_Validation (
new_references.person_id,
new_references.ca_sequence_number,
new_references.scholarship_type,
new_references.start_dt
) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
Check_Constraints;
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to After Insert.
AfterRowInsertUpdate2 ( p_inserting => TRUE );
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_PERSON_ID in NUMBER,
X_CA_SEQUENCE_NUMBER in NUMBER,
X_SCHOLARSHIP_TYPE in VARCHAR2,
X_START_DT in DATE,
X_END_DT in DATE,
X_DOLLAR_VALUE in NUMBER,
X_DESCRIPTION in VARCHAR2,
X_OTHER_BENEFITS in VARCHAR2,
X_CONDITIONS in VARCHAR2,
X_MODE in VARCHAR2 default 'R',
X_ORG_ID in NUMBER
) as
cursor C is select ROWID from IGS_RE_SCHOLARSHIP_ALL
where PERSON_ID = X_PERSON_ID
and CA_SEQUENCE_NUMBER = X_CA_SEQUENCE_NUMBER
and SCHOLARSHIP_TYPE = X_SCHOLARSHIP_TYPE
and START_DT = X_START_DT;
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_person_id => X_PERSON_ID,
x_ca_sequence_number => X_CA_SEQUENCE_NUMBER,
x_scholarship_type => X_SCHOLARSHIP_TYPE,
x_start_dt => X_START_DT,
x_end_dt => X_END_DT,
x_dollar_value => X_DOLLAR_VALUE,
x_description => X_DESCRIPTION,
x_other_benefits => X_OTHER_BENEFITS,
x_conditions => X_CONDITIONS,
x_created_by => X_LAST_UPDATED_BY ,
x_creation_date => X_LAST_UPDATE_DATE,
x_last_updated_by => X_LAST_UPDATED_BY,
x_last_update_date => X_LAST_UPDATE_DATE,
x_last_update_login => X_LAST_UPDATE_LOGIN,
x_org_id => igs_ge_gen_003.get_org_id
);
insert into IGS_RE_SCHOLARSHIP_ALL (
PERSON_ID,
CA_SEQUENCE_NUMBER,
SCHOLARSHIP_TYPE,
START_DT,
END_DT,
DOLLAR_VALUE,
DESCRIPTION,
OTHER_BENEFITS,
CONDITIONS,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
ORG_ID
) values (
NEW_REFERENCES.PERSON_ID,
NEW_REFERENCES.CA_SEQUENCE_NUMBER,
NEW_REFERENCES.SCHOLARSHIP_TYPE,
NEW_REFERENCES.START_DT,
NEW_REFERENCES.END_DT,
NEW_REFERENCES.DOLLAR_VALUE,
NEW_REFERENCES.DESCRIPTION,
NEW_REFERENCES.OTHER_BENEFITS,
NEW_REFERENCES.CONDITIONS,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
NEW_REFERENCES.ORG_ID
);
p_action => 'INSERT',
x_rowid => X_ROWID
);
end INSERT_ROW;
cursor c1 is select
END_DT,
DOLLAR_VALUE,
DESCRIPTION,
OTHER_BENEFITS,
CONDITIONS
from IGS_RE_SCHOLARSHIP_ALL
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_CA_SEQUENCE_NUMBER in NUMBER,
X_SCHOLARSHIP_TYPE in VARCHAR2,
X_START_DT in DATE,
X_END_DT in DATE,
X_DOLLAR_VALUE in NUMBER,
X_DESCRIPTION in VARCHAR2,
X_OTHER_BENEFITS in VARCHAR2,
X_CONDITIONS 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_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_person_id => X_PERSON_ID,
x_ca_sequence_number => X_CA_SEQUENCE_NUMBER,
x_scholarship_type => X_SCHOLARSHIP_TYPE,
x_start_dt => X_START_DT,
x_end_dt => X_END_DT,
x_dollar_value => X_DOLLAR_VALUE,
x_description => X_DESCRIPTION,
x_other_benefits => X_OTHER_BENEFITS,
x_conditions => X_CONDITIONS,
x_created_by => X_LAST_UPDATED_BY ,
x_creation_date => X_LAST_UPDATE_DATE,
x_last_updated_by => X_LAST_UPDATED_BY,
x_last_update_date => X_LAST_UPDATE_DATE,
x_last_update_login => X_LAST_UPDATE_LOGIN
);
update IGS_RE_SCHOLARSHIP_ALL set
END_DT = NEW_REFERENCES.END_DT,
DOLLAR_VALUE = NEW_REFERENCES.DOLLAR_VALUE,
DESCRIPTION = NEW_REFERENCES.DESCRIPTION,
OTHER_BENEFITS = NEW_REFERENCES.OTHER_BENEFITS,
CONDITIONS = NEW_REFERENCES.CONDITIONS,
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
;
end UPDATE_ROW;
cursor c1 is select rowid from IGS_RE_SCHOLARSHIP_ALL
where PERSON_ID = X_PERSON_ID
and CA_SEQUENCE_NUMBER = X_CA_SEQUENCE_NUMBER
and SCHOLARSHIP_TYPE = X_SCHOLARSHIP_TYPE
and START_DT = X_START_DT
;
INSERT_ROW (
X_ROWID,
X_PERSON_ID,
X_CA_SEQUENCE_NUMBER,
X_SCHOLARSHIP_TYPE,
X_START_DT,
X_END_DT,
X_DOLLAR_VALUE,
X_DESCRIPTION,
X_OTHER_BENEFITS,
X_CONDITIONS,
X_MODE,
X_ORG_ID);
UPDATE_ROW (
X_ROWID,
X_PERSON_ID,
X_CA_SEQUENCE_NUMBER,
X_SCHOLARSHIP_TYPE,
X_START_DT,
X_END_DT,
X_DOLLAR_VALUE,
X_DESCRIPTION,
X_OTHER_BENEFITS,
X_CONDITIONS,
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_RE_SCHOLARSHIP_ALL
where ROWID = X_ROWID;
end DELETE_ROW;