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_PR_MILESTONE_ALL
WHERE rowid = x_rowid;
IF (cur_old_ref_values%NOTFOUND) AND (p_action not in ('INSERT','VALIDATE_INSERT')) THEN
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 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);
-- 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
IF p_inserting OR
( p_updating AND
old_references.milestone_type <> new_references.milestone_type ) THEN
IF IGS_RE_VAL_MIL.resp_val_mil_mty( new_references.milestone_type,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR
( p_updating AND
NVL(old_references.actual_reached_dt,IGS_GE_DATE.IGSDATE('1900/01/01')) <>
NVL(new_references.actual_reached_dt,IGS_GE_DATE.IGSDATE('1900/01/01'))) THEN
IF IGS_RE_VAL_MIL.resp_val_mil_actual( new_references.milestone_status,
new_references.actual_reached_dt,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR
( p_updating AND
NVL(old_references.ovrd_ntfctn_imminent_days,-1) <>
NVL(new_references.ovrd_ntfctn_imminent_days,-1) OR
NVL(old_references.ovrd_ntfctn_reminder_days,-1) <>
NVL(new_references.ovrd_ntfctn_reminder_days,-1) OR
NVL(old_references.ovrd_ntfctn_re_reminder_days,-1) <>
NVL(new_references.ovrd_ntfctn_re_reminder_days,-1)) THEN
IF IGS_RE_VAL_MIL.resp_val_mil_days( new_references.milestone_type,
new_references.milestone_status,
new_references.due_dt,
old_references.ovrd_ntfctn_imminent_days,
new_references.ovrd_ntfctn_imminent_days,
old_references.ovrd_ntfctn_reminder_days,
new_references.ovrd_ntfctn_reminder_days,
old_references.ovrd_ntfctn_re_reminder_days,
new_references.ovrd_ntfctn_re_reminder_days,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
END BeforeRowInsertUpdateDelete1;
PROCEDURE AfterRowInsertUpdateDelete2(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
v_message_name varchar2(30);
-- update of student IGS_PS_COURSE attempt after student IGS_PS_UNIT attempt is posted
-- to the database
IF p_updating OR p_deleting THEN
IGS_RE_GEN_003.RESP_INS_MIL_HIST(
old_references.person_id,
old_references.ca_sequence_number,
old_references.sequence_number,
old_references.milestone_type,
new_references.milestone_type,
old_references.milestone_status,
new_references.milestone_status,
old_references.due_dt,
new_references.due_dt,
old_references.description,
new_references.description,
old_references.actual_reached_dt,
new_references.actual_reached_dt,
old_references.preced_sequence_number,
new_references.preced_sequence_number,
old_references.ovrd_ntfctn_imminent_days,
new_references.ovrd_ntfctn_imminent_days,
old_references.ovrd_ntfctn_reminder_days,
new_references.ovrd_ntfctn_reminder_days,
old_references.ovrd_ntfctn_re_reminder_days,
new_references.ovrd_ntfctn_re_reminder_days,
old_references.comments,
new_references.comments,
old_references.last_updated_by,
NVL(new_references.last_updated_by,FND_GLOBAL.USER_ID),
old_references.last_update_date,
NVL(new_references.last_update_date,SYSDATE));
IF p_inserting OR (p_updating AND ( new_references.milestone_type <> old_references.milestone_type OR
new_references.milestone_status <> old_references.milestone_status OR
trunc(new_references.due_dt) <> trunc(old_references.due_dt) OR
( new_references.actual_reached_dt IS NOT NULL AND old_references.actual_reached_dt IS NOT NULL
AND trunc(new_references.actual_reached_dt) <> trunc(old_references.actual_reached_dt)) OR
(new_references.actual_reached_dt IS NOT NULL AND old_references.actual_reached_dt IS NULL) OR
(new_references.actual_reached_dt IS NULL AND old_references.actual_reached_dt IS NOT NULL))) THEN
igs_re_workflow.milestone_event(
p_personid => new_references.person_id,
p_ca_seq_num => new_references.ca_sequence_number,
p_milestn_typ => new_references.milestone_type,
p_milestn_stat => new_references.milestone_status,
p_due_dt => new_references.due_dt,
p_dt_reached => new_references.actual_reached_dt,
p_deleted => 'FALSE'
);
p_deleted => 'TRUE'
);
END AfterRowInsertUpdateDelete2;
PROCEDURE AfterStmtInsertUpdate3(
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 preceeding details.
IF IGS_RE_VAL_MIL.resp_val_mil_prcd( new_references.person_id,
new_references.ca_sequence_number,
new_references.sequence_number,
new_references.due_dt,
new_references.preced_sequence_number,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
END AfterStmtInsertUpdate3;
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_PR_MILESTONE_ALL
WHERE person_id = x_person_id
AND ca_sequence_number = x_ca_sequence_number
AND sequence_number = x_sequence_number
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_PR_MILESTONE_ALL
WHERE person_id = x_person_id
AND ca_sequence_number = x_sequence_number ;
SELECT rowid
FROM IGS_PR_MILESTONE_ALL
WHERE person_id = x_person_id
AND ca_sequence_number = x_ca_sequence_number
AND preced_sequence_number = x_sequence_number ;
SELECT rowid
FROM IGS_PR_MILESTONE_ALL
WHERE milestone_status = x_milestone_status ;
SELECT rowid
FROM IGS_PR_MILESTONE_ALL
WHERE milestone_type = x_milestone_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_sequence_number,
x_milestone_type,
x_milestone_status,
x_due_dt,
x_description,
x_actual_reached_dt,
x_preced_sequence_number,
x_ovrd_ntfctn_imminent_days,
x_ovrd_ntfctn_reminder_days,
x_ovrd_ntfctn_re_reminder_days,
x_comments,
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.
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.person_id,
new_references.ca_sequence_number,
new_references.sequence_number
) THEN
Fnd_Message.Set_Name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
Check_Constraints;
ELSIF (p_action = 'VALIDATE_DELETE') THEN
Check_Child_Existance;
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to After Insert.
AfterRowInsertUpdateDelete2 ( p_inserting => TRUE );
AfterStmtInsertUpdate3 ( p_inserting => TRUE );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to After Update.
AfterRowInsertUpdateDelete2 ( p_updating => TRUE );
AfterStmtInsertUpdate3 ( p_updating => TRUE );
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to After Delete.
AfterRowInsertUpdateDelete2 ( p_deleting => TRUE );
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_PERSON_ID in NUMBER,
X_CA_SEQUENCE_NUMBER in NUMBER,
X_SEQUENCE_NUMBER in NUMBER,
X_MILESTONE_TYPE in VARCHAR2,
X_MILESTONE_STATUS in VARCHAR2,
X_DUE_DT in DATE,
X_DESCRIPTION in VARCHAR2,
X_ACTUAL_REACHED_DT in DATE,
X_PRECED_SEQUENCE_NUMBER in NUMBER,
X_OVRD_NTFCTN_IMMINENT_DAYS in NUMBER,
X_OVRD_NTFCTN_REMINDER_DAYS in NUMBER,
X_OVRD_NTFCTN_RE_REMINDER_DAYS in NUMBER,
X_COMMENTS in VARCHAR2,
X_MODE in VARCHAR2 default 'R',
X_ORG_ID in NUMBER
) AS
cursor C is select ROWID from IGS_PR_MILESTONE_ALL
where PERSON_ID = X_PERSON_ID
and CA_SEQUENCE_NUMBER = X_CA_SEQUENCE_NUMBER
and SEQUENCE_NUMBER = X_SEQUENCE_NUMBER;
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_sequence_number =>x_sequence_number ,
x_milestone_type =>x_milestone_type ,
x_milestone_status =>x_milestone_status ,
x_due_dt =>x_due_dt,
x_description =>x_description ,
x_actual_reached_dt =>x_actual_reached_dt ,
x_preced_sequence_number =>x_preced_sequence_number ,
x_ovrd_ntfctn_imminent_days => x_ovrd_ntfctn_imminent_days ,
x_ovrd_ntfctn_reminder_days =>x_ovrd_ntfctn_reminder_days ,
x_ovrd_ntfctn_re_reminder_days =>x_ovrd_ntfctn_re_reminder_days ,
x_comments =>x_comments ,
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_org_id=>igs_ge_gen_003.get_org_id
) ;
insert into IGS_PR_MILESTONE_ALL (
PERSON_ID,
CA_SEQUENCE_NUMBER,
SEQUENCE_NUMBER,
MILESTONE_TYPE,
MILESTONE_STATUS,
DUE_DT,
DESCRIPTION,
ACTUAL_REACHED_DT,
PRECED_SEQUENCE_NUMBER,
OVRD_NTFCTN_IMMINENT_DAYS,
OVRD_NTFCTN_REMINDER_DAYS,
OVRD_NTFCTN_RE_REMINDER_DAYS,
COMMENTS,
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.SEQUENCE_NUMBER,
NEW_REFERENCES.MILESTONE_TYPE,
NEW_REFERENCES.MILESTONE_STATUS,
NEW_REFERENCES.DUE_DT,
NEW_REFERENCES.DESCRIPTION,
NEW_REFERENCES.ACTUAL_REACHED_DT,
NEW_REFERENCES.PRECED_SEQUENCE_NUMBER,
NEW_REFERENCES.OVRD_NTFCTN_IMMINENT_DAYS,
NEW_REFERENCES.OVRD_NTFCTN_REMINDER_DAYS,
NEW_REFERENCES.OVRD_NTFCTN_RE_REMINDER_DAYS,
NEW_REFERENCES.COMMENTS,
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
MILESTONE_TYPE,
MILESTONE_STATUS,
DUE_DT,
DESCRIPTION,
ACTUAL_REACHED_DT,
PRECED_SEQUENCE_NUMBER,
OVRD_NTFCTN_IMMINENT_DAYS,
OVRD_NTFCTN_REMINDER_DAYS,
OVRD_NTFCTN_RE_REMINDER_DAYS,
COMMENTS
from IGS_PR_MILESTONE_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_SEQUENCE_NUMBER in NUMBER,
X_MILESTONE_TYPE in VARCHAR2,
X_MILESTONE_STATUS in VARCHAR2,
X_DUE_DT in DATE,
X_DESCRIPTION in VARCHAR2,
X_ACTUAL_REACHED_DT in DATE,
X_PRECED_SEQUENCE_NUMBER in NUMBER,
X_OVRD_NTFCTN_IMMINENT_DAYS in NUMBER,
X_OVRD_NTFCTN_REMINDER_DAYS in NUMBER,
X_OVRD_NTFCTN_RE_REMINDER_DAYS in NUMBER,
X_COMMENTS 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_sequence_number =>x_sequence_number ,
x_milestone_type =>x_milestone_type ,
x_milestone_status =>x_milestone_status ,
x_due_dt =>x_due_dt,
x_description =>x_description ,
x_actual_reached_dt =>x_actual_reached_dt ,
x_preced_sequence_number =>x_preced_sequence_number ,
x_ovrd_ntfctn_imminent_days => x_ovrd_ntfctn_imminent_days ,
x_ovrd_ntfctn_reminder_days =>x_ovrd_ntfctn_reminder_days ,
x_ovrd_ntfctn_re_reminder_days =>x_ovrd_ntfctn_re_reminder_days ,
x_comments =>x_comments ,
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_PR_MILESTONE_ALL set
MILESTONE_TYPE = NEW_REFERENCES.MILESTONE_TYPE,
MILESTONE_STATUS = NEW_REFERENCES.MILESTONE_STATUS,
DUE_DT = NEW_REFERENCES.DUE_DT,
DESCRIPTION = NEW_REFERENCES.DESCRIPTION,
ACTUAL_REACHED_DT = NEW_REFERENCES.ACTUAL_REACHED_DT,
PRECED_SEQUENCE_NUMBER = NEW_REFERENCES.PRECED_SEQUENCE_NUMBER,
OVRD_NTFCTN_IMMINENT_DAYS = NEW_REFERENCES.OVRD_NTFCTN_IMMINENT_DAYS,
OVRD_NTFCTN_REMINDER_DAYS = NEW_REFERENCES.OVRD_NTFCTN_REMINDER_DAYS,
OVRD_NTFCTN_RE_REMINDER_DAYS = NEW_REFERENCES.OVRD_NTFCTN_RE_REMINDER_DAYS,
COMMENTS = NEW_REFERENCES.COMMENTS,
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',
x_rowid => X_ROWID
);
end UPDATE_ROW;
cursor c1 is select rowid from IGS_PR_MILESTONE_ALL
where PERSON_ID = X_PERSON_ID
and CA_SEQUENCE_NUMBER = X_CA_SEQUENCE_NUMBER
and SEQUENCE_NUMBER = X_SEQUENCE_NUMBER
;
INSERT_ROW (
X_ROWID,
X_PERSON_ID,
X_CA_SEQUENCE_NUMBER,
X_SEQUENCE_NUMBER,
X_MILESTONE_TYPE,
X_MILESTONE_STATUS,
X_DUE_DT,
X_DESCRIPTION,
X_ACTUAL_REACHED_DT,
X_PRECED_SEQUENCE_NUMBER,
X_OVRD_NTFCTN_IMMINENT_DAYS,
X_OVRD_NTFCTN_REMINDER_DAYS,
X_OVRD_NTFCTN_RE_REMINDER_DAYS,
X_COMMENTS,
X_MODE,
X_ORG_ID );
UPDATE_ROW (
X_ROWID,
X_PERSON_ID,
X_CA_SEQUENCE_NUMBER,
X_SEQUENCE_NUMBER,
X_MILESTONE_TYPE,
X_MILESTONE_STATUS,
X_DUE_DT,
X_DESCRIPTION,
X_ACTUAL_REACHED_DT,
X_PRECED_SEQUENCE_NUMBER,
X_OVRD_NTFCTN_IMMINENT_DAYS,
X_OVRD_NTFCTN_REMINDER_DAYS,
X_OVRD_NTFCTN_RE_REMINDER_DAYS,
X_COMMENTS,
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_PR_MILESTONE_ALL
where ROWID = X_ROWID;
p_action => 'DELETE',
x_rowid => X_ROWID
);
end DELETE_ROW;