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_PS_STDNT_APV_ALT
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 OR p_updating THEN
-- Validate completing an alternative exit IGS_PS_COURSE
IF p_inserting OR
(p_updating AND
new_references.rqrmnts_complete_ind <> old_references.rqrmnts_complete_ind) THEN
IF new_references.rqrmnts_complete_ind = 'Y' THEN
-- Validate that SCA Status is not 'COMPLETED' or 'UNCONFIRM'.
IF IGS_PR_VAL_SCA.prgp_val_sca_status (
new_references.person_id,
new_references.course_cd,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
IF p_inserting OR
(p_updating AND
((new_references.rqrmnts_complete_dt IS NULL AND
old_references.rqrmnts_complete_dt IS NOT NULL) OR
(new_references.rqrmnts_complete_dt IS NOT NULL AND
old_references.rqrmnts_complete_dt IS NULL) OR
(new_references.rqrmnts_complete_dt IS NOT NULL AND
old_references.rqrmnts_complete_dt <>new_references.rqrmnts_complete_dt))) THEN
IF IGS_PR_VAL_SCAAE.prgp_val_scaae_cmplt(
new_references.rqrmnts_complete_ind,
new_references.rqrmnts_complete_dt,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
END BeforeRowInsertUpdate1;
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_PS_STDNT_APV_ALT
WHERE person_id = x_person_id
AND course_cd = x_course_cd
AND exit_course_cd = x_exit_course_cd
AND exit_version_number = x_exit_version_number
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_PS_STDNT_APV_ALT
WHERE course_cd = x_course_cd
AND version_number = x_version_number
AND exit_course_cd = x_exit_course_cd ;
SELECT rowid
FROM IGS_PS_STDNT_APV_ALT
WHERE (exit_course_cd = x_course_cd
AND exit_version_number = x_version_number)
OR (course_cd = x_course_cd
AND version_number = x_version_number);
SELECT rowid
FROM IGS_PS_STDNT_APV_ALT
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_exit_course_cd,
x_exit_version_number,
x_version_number,
x_rqrmnts_complete_ind,
x_rqrmnts_complete_dt,
x_s_completed_source_type,
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 = 'VALIDATE_INSERT') THEN
IF Get_PK_For_Validation (
new_references.person_id,
new_references.course_cd,
new_references.exit_course_cd,
new_references.exit_version_number
) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
Check_Constraints;
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_PERSON_ID in NUMBER,
X_EXIT_COURSE_CD in VARCHAR2,
X_EXIT_VERSION_NUMBER in NUMBER,
X_COURSE_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_RQRMNTS_COMPLETE_IND in VARCHAR2,
X_RQRMNTS_COMPLETE_DT in DATE,
X_S_COMPLETED_SOURCE_TYPE in VARCHAR2,
X_MODE in VARCHAR2 default 'R'
) as
cursor C is select ROWID from IGS_PS_STDNT_APV_ALT
where PERSON_ID = X_PERSON_ID
and EXIT_COURSE_CD = X_EXIT_COURSE_CD
and EXIT_VERSION_NUMBER = X_EXIT_VERSION_NUMBER
and COURSE_CD = X_COURSE_CD;
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;
Before_DML( p_action => 'INSERT',
x_rowid => X_ROWID,
x_person_id => X_PERSON_ID,
x_course_cd => X_COURSE_CD,
x_exit_course_cd => X_EXIT_COURSE_CD,
x_exit_version_number => X_EXIT_VERSION_NUMBER,
x_version_number => X_VERSION_NUMBER,
x_rqrmnts_complete_ind => NVL(X_RQRMNTS_COMPLETE_IND,'N'),
x_rqrmnts_complete_dt => X_RQRMNTS_COMPLETE_DT,
x_s_completed_source_type => X_S_COMPLETED_SOURCE_TYPE,
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_PS_STDNT_APV_ALT (
PERSON_ID,
COURSE_CD,
EXIT_COURSE_CD,
EXIT_VERSION_NUMBER,
VERSION_NUMBER,
RQRMNTS_COMPLETE_IND,
RQRMNTS_COMPLETE_DT,
S_COMPLETED_SOURCE_TYPE,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) values (
NEW_REFERENCES.PERSON_ID,
NEW_REFERENCES.COURSE_CD,
NEW_REFERENCES.EXIT_COURSE_CD,
NEW_REFERENCES.EXIT_VERSION_NUMBER,
NEW_REFERENCES.VERSION_NUMBER,
NEW_REFERENCES.RQRMNTS_COMPLETE_IND,
NEW_REFERENCES.RQRMNTS_COMPLETE_DT,
NEW_REFERENCES.S_COMPLETED_SOURCE_TYPE,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN
);
p_action => 'INSERT',
x_rowid => X_ROWID
);
end INSERT_ROW;
cursor c1 is select
VERSION_NUMBER,
RQRMNTS_COMPLETE_IND,
RQRMNTS_COMPLETE_DT,
S_COMPLETED_SOURCE_TYPE
from IGS_PS_STDNT_APV_ALT
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_EXIT_COURSE_CD in VARCHAR2,
X_EXIT_VERSION_NUMBER in NUMBER,
X_COURSE_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_RQRMNTS_COMPLETE_IND in VARCHAR2,
X_RQRMNTS_COMPLETE_DT in DATE,
X_S_COMPLETED_SOURCE_TYPE 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;
Before_DML( p_action => 'UPDATE',
x_rowid => X_ROWID,
x_person_id => X_PERSON_ID,
x_course_cd => X_COURSE_CD,
x_exit_course_cd => X_EXIT_COURSE_CD,
x_exit_version_number => X_EXIT_VERSION_NUMBER,
x_version_number => X_VERSION_NUMBER,
x_rqrmnts_complete_ind => X_RQRMNTS_COMPLETE_IND,
x_rqrmnts_complete_dt => X_RQRMNTS_COMPLETE_DT,
x_s_completed_source_type => X_S_COMPLETED_SOURCE_TYPE,
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_PS_STDNT_APV_ALT set
VERSION_NUMBER = NEW_REFERENCES.VERSION_NUMBER,
RQRMNTS_COMPLETE_IND = NEW_REFERENCES.RQRMNTS_COMPLETE_IND,
RQRMNTS_COMPLETE_DT = NEW_REFERENCES.RQRMNTS_COMPLETE_DT,
S_COMPLETED_SOURCE_TYPE = NEW_REFERENCES.S_COMPLETED_SOURCE_TYPE,
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_PS_STDNT_APV_ALT
where PERSON_ID = X_PERSON_ID
and EXIT_COURSE_CD = X_EXIT_COURSE_CD
and EXIT_VERSION_NUMBER = X_EXIT_VERSION_NUMBER
and COURSE_CD = X_COURSE_CD
;
INSERT_ROW (
X_ROWID,
X_PERSON_ID,
X_EXIT_COURSE_CD,
X_EXIT_VERSION_NUMBER,
X_COURSE_CD,
X_VERSION_NUMBER,
X_RQRMNTS_COMPLETE_IND,
X_RQRMNTS_COMPLETE_DT,
X_S_COMPLETED_SOURCE_TYPE,
X_MODE);
UPDATE_ROW (
X_ROWID,
X_PERSON_ID,
X_EXIT_COURSE_CD,
X_EXIT_VERSION_NUMBER,
X_COURSE_CD,
X_VERSION_NUMBER,
X_RQRMNTS_COMPLETE_IND,
X_RQRMNTS_COMPLETE_DT,
X_S_COMPLETED_SOURCE_TYPE,
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_PS_STDNT_APV_ALT
where ROWID = X_ROWID;
p_action => 'DELETE',
x_rowid => X_ROWID
);
end DELETE_ROW;