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 ,
X_COURSE_CD VARCHAR2 DEFAULT NULL,
X_COURSE_VERSION_NUMBER NUMBER DEFAULT NULL
) AS
CURSOR cur_old_ref_values IS
SELECT *
FROM IGS_PS_UNIT_LVL_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 BeforeRowInsertUpdateDelete1(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
v_unit_cd IGS_PS_UNIT_LVL_ALL.unit_cd%TYPE;
ELSE -- p_inserting or p_updating
v_unit_cd := new_references.unit_cd;
-- Validate the insert/update/delete.
IF IGS_PS_VAL_UNIT.crsp_val_iud_uv_dtl (
v_unit_cd,
v_version_number,
v_message_name) = FALSE THEN
FND_MESSAGE.SET_NAME('IGS',v_message_name);
IF p_inserting OR (p_updating AND (old_references.unit_level <> new_references.unit_level)) THEN
-- As part of the bug# 1956374 changed to the below call from IGS_PS_VAL_CUL.crsp_val_unit_lvl
IF IGS_PS_VAL_UV.crsp_val_unit_lvl (
new_references.unit_level,
v_message_name) = FALSE THEN
FND_MESSAGE.SET_NAME('IGS',v_message_name);
-- Insert history record on update.
IF p_updating THEN
IF old_references.unit_level <> new_references.unit_level OR
NVL(old_references.wam_weighting,999999) <> NVL(new_references.wam_weighting,999999) THEN
SELECT
DECODE(old_references.unit_level,new_references.unit_level,NULL,old_references.unit_level),
DECODE(NVL(old_references.wam_weighting,999999),NVL(new_references.wam_weighting,999999),
NULL,old_references.wam_weighting)
INTO v_unit_level,
v_wam_weighting
FROM dual;
-- Create history record for update
IGS_PS_GEN_007.CRSP_INS_CUL_HIST(
p_unit_cd => old_references.unit_cd,
p_version_number => old_references.version_number,
p_course_type => NULL,
p_last_update_on => old_references.last_update_date,
p_update_on => new_references.last_update_date,
p_last_update_who => old_references.last_updated_by,
p_unit_level => v_unit_level,
p_wam_weighting => v_wam_weighting,
p_course_cd => old_references.course_cd,
p_course_version_number => old_references.course_version_number);
p_last_update_on => old_references.last_update_date,
p_update_on => SYSDATE,
p_last_update_who => old_references.last_updated_by,
p_unit_level => old_references.unit_level,
p_wam_weighting => old_references.wam_weighting,
p_course_cd => old_references.course_cd,
p_course_version_number => old_references.course_version_number);
END BeforeRowInsertUpdateDelete1;
SELECT rowid
FROM igs_ps_unit_lvl_all
WHERE course_cd = x_course_cd
AND course_version_number = x_course_version_number;
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_UNIT_LVL_ALL
WHERE unit_cd = x_unit_cd
AND version_number = x_version_number
AND course_cd = x_course_cd
AND course_version_number = x_course_version_number
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_PS_UNIT_LVL_ALL
WHERE unit_cd = x_unit_cd
AND version_number = x_version_number ;
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,
x_course_cd IN VARCHAR2 DEFAULT NULL,
x_course_version_number IN NUMBER DEFAULT NULL
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_unit_cd,
x_version_number,
x_course_type,
x_unit_level,
x_wam_weighting,
x_creation_date,
x_created_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login,
x_org_id,
x_course_cd,
x_course_version_number
);
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.unit_cd,
new_references.version_number,
new_references.course_cd,
new_references.course_version_number) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
Check_Constraints;
PROCEDURE insert_row (
X_ROWID in out NOCOPY VARCHAR2,
X_UNIT_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_COURSE_TYPE in VARCHAR2 DEFAULT NULL,
X_UNIT_LEVEL in VARCHAR2,
X_WAM_WEIGHTING in NUMBER,
X_MODE in VARCHAR2 default 'R',
X_ORG_ID in NUMBER,
X_COURSE_CD IN VARCHAR2,
X_COURSE_VERSION_NUMBER IN NUMBER
) AS
CURSOR C IS
SELECT ROWID
FROM igs_ps_unit_lvl_all
WHERE unit_cd = x_unit_cd
AND version_number = x_version_number
AND course_cd = x_course_cd
AND course_version_number = x_course_version_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;
Before_DML( p_action => 'INSERT',
x_rowid => X_ROWID,
x_unit_cd => X_UNIT_CD,
x_version_number => X_VERSION_NUMBER,
x_course_type => X_COURSE_TYPE,
x_unit_level => X_UNIT_LEVEL,
x_wam_weighting => X_WAM_WEIGHTING,
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,
x_course_cd => X_COURSE_CD,
x_course_version_number => X_COURSE_VERSION_NUMBER
);
insert into IGS_PS_UNIT_LVL_ALL (
UNIT_CD,
VERSION_NUMBER,
UNIT_LEVEL,
WAM_WEIGHTING,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
ORG_ID,
COURSE_CD ,
COURSE_VERSION_NUMBER
) values (
NEW_REFERENCES.UNIT_CD,
NEW_REFERENCES.VERSION_NUMBER,
NEW_REFERENCES.UNIT_LEVEL,
NEW_REFERENCES.WAM_WEIGHTING,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
NEW_REFERENCES.ORG_ID,
NEW_REFERENCES.COURSE_CD,
NEW_REFERENCES.COURSE_VERSION_NUMBER
);
p_action => 'INSERT',
x_rowid => X_ROWID
);
end INSERT_ROW;
cursor c1 is select
UNIT_LEVEL,
WAM_WEIGHTING
from IGS_PS_UNIT_LVL_ALL
where ROWID = X_ROWID for update nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_ROWID in VARCHAR2,
X_UNIT_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_COURSE_TYPE in VARCHAR2 DEFAULT NULL,
X_UNIT_LEVEL in VARCHAR2,
X_WAM_WEIGHTING in NUMBER,
X_MODE in VARCHAR2 default 'R',
X_COURSE_CD VARCHAR2,
X_COURSE_VERSION_NUMBER NUMBER
) 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_unit_cd => X_UNIT_CD,
x_version_number => X_VERSION_NUMBER,
x_course_type => X_COURSE_TYPE,
x_unit_level => X_UNIT_LEVEL,
x_wam_weighting => X_WAM_WEIGHTING,
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_course_cd => X_COURSE_CD,
x_course_version_number => X_COURSE_VERSION_NUMBER
);
update IGS_PS_UNIT_LVL_ALL set
UNIT_LEVEL = NEW_REFERENCES.UNIT_LEVEL,
WAM_WEIGHTING = NEW_REFERENCES.WAM_WEIGHTING,
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;
SELECT rowid
FROM igs_ps_unit_lvl_all
WHERE unit_cd = x_unit_cd
AND version_number = x_version_number
AND course_cd = x_course_cd
AND course_version_number = x_course_version_number;
INSERT_ROW (
X_ROWID,
X_UNIT_CD,
X_VERSION_NUMBER,
X_COURSE_TYPE,
X_UNIT_LEVEL,
X_WAM_WEIGHTING,
X_MODE,
X_ORG_ID,
X_COURSE_CD,
X_COURSE_VERSION_NUMBER);
UPDATE_ROW (
X_ROWID,
X_UNIT_CD,
X_VERSION_NUMBER,
X_COURSE_TYPE,
X_UNIT_LEVEL,
X_WAM_WEIGHTING,
X_MODE,
X_COURSE_CD,
X_COURSE_VERSION_NUMBER);
procedure DELETE_ROW (
X_ROWID in VARCHAR2
) AS
begin
Before_DML( p_action => 'DELETE',
x_rowid => X_ROWID
);
delete from IGS_PS_UNIT_LVL_ALL
where ROWID = X_ROWID;
p_action => 'DELETE',
x_rowid => X_ROWID
);
END delete_row;