The following lines contain the word 'select', 'insert', 'update' or 'delete':
x_last_update_date IN DATE ,
x_last_updated_by IN NUMBER ,
x_last_update_login IN NUMBER ,
X_CORE_IND IN VARCHAR2
) AS
CURSOR cur_old_ref_values IS
SELECT *
FROM IGS_PS_PAT_STUDY_UNT
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,
p_updating IN BOOLEAN,
p_deleting IN BOOLEAN
) AS
v_message_name VARCHAR2(30);
-- Validate the insert/update/delete
IF p_inserting OR p_updating THEN
IF IGS_PS_VAL_CRS.crsp_val_iud_crv_dtl(
new_references.course_cd,
new_references.version_number,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
-- Validate the insert/update
IF p_inserting OR p_updating THEN
-- Validate the UnitCode
IF (new_references.unit_cd IS NOT NULL AND (p_inserting OR
(p_updating AND new_references.unit_cd <> old_references.unit_cd))) THEN
IF IGS_PS_VAL_POSu.crsp_val_uv_active (
new_references.unit_cd,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
IF (new_references.unit_location_cd IS NOT NULL AND (p_inserting OR
(p_updating AND new_references.unit_location_cd <> old_references.unit_location_cd))) THEN
-- As part of the bug# 1956374 changed to the below call from IGS_PS_VAL_POSu.crsp_val_loc_cd
IF IGS_PS_VAL_UOO.crsp_val_loc_cd (
new_references.unit_location_cd,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
IF (new_references.unit_class IS NOT NULL AND (p_inserting OR
(p_updating AND new_references.unit_class<> old_references.unit_class))) THEN
-- As part of the bug# 1956374 changed to the below call from IGS_PS_VAL_POSu.crsp_val_ucl_closed
IF IGS_AS_VAL_UAI.crsp_val_ucl_closed (
new_references.unit_class,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
END BeforeRowInsertUpdateDelete1;
PROCEDURE AfterRowInsertUpdate2(
p_inserting IN BOOLEAN,
p_updating IN BOOLEAN,
p_deleting IN BOOLEAN
) AS
v_message_name VARCHAR2(30);
END AfterRowInsertUpdate2;
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_PAT_STUDY_UNT
WHERE course_cd = x_course_cd
AND version_number = x_version_number
AND cal_type = x_cal_type
AND pos_sequence_number = x_pos_sequence_number
AND posp_sequence_number = x_posp_sequence_number
AND sequence_number = x_sequence_number
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_PS_PAT_STUDY_UNT
WHERE unit_location_cd = x_location_cd ;
SELECT rowid
FROM IGS_PS_PAT_STUDY_UNT
WHERE course_cd = x_course_cd
AND version_number = x_version_number
AND cal_type = x_cal_type
AND pos_sequence_number = x_pos_sequence_number
AND posp_sequence_number = x_sequence_number ;
SELECT rowid
FROM IGS_PS_PAT_STUDY_UNT
WHERE unit_cd = x_unit_cd ;
x_last_update_date IN DATE ,
x_last_updated_by IN NUMBER ,
x_last_update_login IN NUMBER ,
x_core_ind IN VARCHAR2
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_course_cd,
x_version_number,
x_cal_type,
x_pos_sequence_number,
x_posp_sequence_number,
x_sequence_number,
x_unit_cd,
x_unit_location_cd,
x_unit_class,
x_description,
x_creation_date,
x_created_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login,
x_core_ind
);
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to Before Insert.
BeforeRowInsertUpdateDelete1 ( p_inserting => TRUE,
p_updating => FALSE,
p_deleting => FALSE );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
BeforeRowInsertUpdateDelete1 ( p_updating => TRUE,
p_inserting => FALSE,
p_deleting => FALSE );
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to Before Delete.
BeforeRowInsertUpdateDelete1 ( p_deleting => TRUE,
p_inserting => FALSE,
p_updating => FALSE );
ELSIF (p_action = 'VALIDATE_INSERT') THEN
IF Get_PK_For_Validation (
new_references.course_cd,
new_references.version_number,
new_references.cal_type,
new_references.pos_sequence_number,
new_references.posp_sequence_number,
new_references.sequence_number
) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
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,
p_updating => FALSE,
p_deleting => FALSE );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to After Update.
AfterRowInsertUpdate2 ( p_updating => TRUE,
p_inserting => FALSE,
p_deleting => FALSE );
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_COURSE_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_POS_SEQUENCE_NUMBER in NUMBER,
X_SEQUENCE_NUMBER in NUMBER,
X_POSP_SEQUENCE_NUMBER in NUMBER,
X_CAL_TYPE in VARCHAR2,
X_UNIT_CD in VARCHAR2,
X_UNIT_LOCATION_CD in VARCHAR2,
X_UNIT_CLASS in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_MODE in VARCHAR2,
X_CORE_IND IN VARCHAR2
) as
cursor C is select ROWID from IGS_PS_PAT_STUDY_UNT
where COURSE_CD = X_COURSE_CD
and VERSION_NUMBER = X_VERSION_NUMBER
and POS_SEQUENCE_NUMBER = X_POS_SEQUENCE_NUMBER
and SEQUENCE_NUMBER = X_SEQUENCE_NUMBER
and POSP_SEQUENCE_NUMBER = X_POSP_SEQUENCE_NUMBER
and CAL_TYPE = X_CAL_TYPE;
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_course_cd => X_COURSE_CD,
x_version_number => X_VERSION_NUMBER,
x_cal_type => X_CAL_TYPE,
x_pos_sequence_number => X_POS_SEQUENCE_NUMBER,
x_posp_sequence_number => X_POSP_SEQUENCE_NUMBER,
x_sequence_number => X_SEQUENCE_NUMBER,
x_unit_cd => X_UNIT_CD,
x_unit_location_cd => X_UNIT_LOCATION_CD,
x_unit_class => X_UNIT_CLASS,
x_description => X_DESCRIPTION,
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_core_ind => NVL(X_CORE_IND,'N')
);
insert into IGS_PS_PAT_STUDY_UNT (
COURSE_CD,
VERSION_NUMBER,
CAL_TYPE,
POS_SEQUENCE_NUMBER,
POSP_SEQUENCE_NUMBER,
SEQUENCE_NUMBER,
UNIT_CD,
UNIT_LOCATION_CD,
UNIT_CLASS,
DESCRIPTION,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
CORE_IND
) values (
NEW_REFERENCES.COURSE_CD,
NEW_REFERENCES.VERSION_NUMBER,
NEW_REFERENCES.CAL_TYPE,
NEW_REFERENCES.POS_SEQUENCE_NUMBER,
NEW_REFERENCES.POSP_SEQUENCE_NUMBER,
NEW_REFERENCES.SEQUENCE_NUMBER,
NEW_REFERENCES.UNIT_CD,
NEW_REFERENCES.UNIT_LOCATION_CD,
NEW_REFERENCES.UNIT_CLASS,
NEW_REFERENCES.DESCRIPTION,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
NEW_REFERENCES.CORE_IND
);
p_action => 'INSERT',
x_rowid => X_ROWID
);
end INSERT_ROW;
cursor c1 is select
UNIT_CD,
UNIT_LOCATION_CD,
UNIT_CLASS,
DESCRIPTION,
CORE_IND
from IGS_PS_PAT_STUDY_UNT
where ROWID = X_ROWID for update nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_ROWID in VARCHAR2,
X_COURSE_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_POS_SEQUENCE_NUMBER in NUMBER,
X_SEQUENCE_NUMBER in NUMBER,
X_POSP_SEQUENCE_NUMBER in NUMBER,
X_CAL_TYPE in VARCHAR2,
X_UNIT_CD in VARCHAR2,
X_UNIT_LOCATION_CD in VARCHAR2,
X_UNIT_CLASS in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_MODE in VARCHAR2,
X_CORE_IND IN VARCHAR2
) 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_course_cd => X_COURSE_CD,
x_version_number => X_VERSION_NUMBER,
x_cal_type => X_CAL_TYPE,
x_pos_sequence_number => X_POS_SEQUENCE_NUMBER,
x_posp_sequence_number => X_POSP_SEQUENCE_NUMBER,
x_sequence_number => X_SEQUENCE_NUMBER,
x_unit_cd => X_UNIT_CD,
x_unit_location_cd => X_UNIT_LOCATION_CD,
x_unit_class => X_UNIT_CLASS,
x_description => X_DESCRIPTION,
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_core_ind => NVL(X_CORE_IND,'N')
);
update IGS_PS_PAT_STUDY_UNT set
UNIT_CD = NEW_REFERENCES.UNIT_CD,
UNIT_LOCATION_CD = NEW_REFERENCES.UNIT_LOCATION_CD,
UNIT_CLASS = NEW_REFERENCES.UNIT_CLASS,
DESCRIPTION = NEW_REFERENCES.DESCRIPTION,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
CORE_IND = new_references.CORE_IND
where ROWID = X_ROWID
;
p_action => 'UPDATE',
x_rowid => X_ROWID
);
end UPDATE_ROW;
cursor c1 is select rowid from IGS_PS_PAT_STUDY_UNT
where COURSE_CD = X_COURSE_CD
and VERSION_NUMBER = X_VERSION_NUMBER
and POS_SEQUENCE_NUMBER = X_POS_SEQUENCE_NUMBER
and SEQUENCE_NUMBER = X_SEQUENCE_NUMBER
and POSP_SEQUENCE_NUMBER = X_POSP_SEQUENCE_NUMBER
and CAL_TYPE = X_CAL_TYPE
;
INSERT_ROW (
X_ROWID,
X_COURSE_CD,
X_VERSION_NUMBER,
X_POS_SEQUENCE_NUMBER,
X_SEQUENCE_NUMBER,
X_POSP_SEQUENCE_NUMBER,
X_CAL_TYPE,
X_UNIT_CD,
X_UNIT_LOCATION_CD,
X_UNIT_CLASS,
X_DESCRIPTION,
X_MODE,
X_CORE_IND);
UPDATE_ROW (
X_ROWID,
X_COURSE_CD,
X_VERSION_NUMBER,
X_POS_SEQUENCE_NUMBER,
X_SEQUENCE_NUMBER,
X_POSP_SEQUENCE_NUMBER,
X_CAL_TYPE,
X_UNIT_CD,
X_UNIT_LOCATION_CD,
X_UNIT_CLASS,
X_DESCRIPTION,
X_MODE,
X_CORE_IND);
procedure DELETE_ROW (
X_ROWID in VARCHAR2
) as
begin
Before_DML( p_action => 'DELETE',
x_rowid => X_ROWID
);
delete from IGS_PS_PAT_STUDY_UNT
where ROWID = X_ROWID;
p_action => 'DELETE',
x_rowid => X_ROWID
);
end DELETE_ROW;