The following lines contain the word 'select', 'insert', 'update' or 'delete':
Procedure affected : Insert_Row, Add_Row
Purpose : The parameter Coo_Id is being generated from procedure BeforeRowInsert2,
and it is not being copied into the corresponding item in the form IGSPS022.
Hence it is made an IN OUT NOCOPY parameter in the above 2 procedures and copied into the form.
*/
l_rowid VARCHAR2(25);
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_OF_OPT_UNT_ST
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 BeforeRowInsert1(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
v_message_name VARCHAR2(30);
-- Validate that inserts
IF p_inserting THEN
--
-- Can only create against ACTIVE or PLANNED IGS_PS_COURSE versions
IF IGS_PS_VAL_CRS.crsp_val_iud_crv_dtl (
new_references.course_cd,
new_references.crv_version_number,
v_message_name) = FALSE THEN
FND_MESSAGE.SET_NAME('IGS',v_message_name);
END BeforeRowInsert1;
PROCEDURE BeforeRowInsert2(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
BEGIN
-- Call routine to fill in exam session key.
IGS_PS_GEN_003.CRSP_GET_COO_KEY(
new_references.coo_id,
new_references.course_cd,
new_references.crv_version_number,
new_references.cal_type,
new_references.location_cd,
new_references.attendance_mode,
new_references.attendance_type);
END BeforeRowInsert2;
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_OF_OPT_UNT_ST
WHERE course_cd = x_course_cd
AND crv_version_number = x_crv_version_number
AND cal_type = x_cal_type
AND location_cd = x_location_cd
AND attendance_mode = x_attendance_mode
AND attendance_type = x_attendance_type
AND unit_set_cd = x_unit_set_cd
AND us_version_number = x_us_version_number
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_PS_OF_OPT_UNT_ST
WHERE course_cd = x_course_cd
AND crv_version_number = x_version_number
AND cal_type = x_cal_type
AND location_cd = x_location_cd
AND attendance_mode = x_attendance_mode
AND attendance_type = x_attendance_type ;
SELECT rowid
FROM IGS_PS_OF_OPT_UNT_ST
WHERE coo_id = x_coo_id ;
SELECT rowid
FROM IGS_PS_OF_OPT_UNT_ST
WHERE course_cd = x_course_cd
AND crv_version_number = x_crv_version_number
AND cal_type = x_cal_type
AND unit_set_cd = x_unit_set_cd
AND us_version_number = x_us_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
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_course_cd,
x_crv_version_number,
x_cal_type,
x_location_cd,
x_attendance_mode,
x_attendance_type,
x_unit_set_cd,
x_us_version_number,
x_coo_id,
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.
BeforeRowInsert1 ( p_inserting => TRUE );
BeforeRowInsert2 ( p_inserting => TRUE );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
Check_Constraints;
ELSIF (p_action = 'VALIDATE_INSERT') THEN
IF Get_PK_For_Validation (
new_references.course_cd,
new_references.crv_version_number,
new_references.cal_type,
new_references.location_cd,
new_references.attendance_mode,
new_references.attendance_type,
new_references.unit_set_cd,
new_references.us_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_COURSE_CD in VARCHAR2,
X_LOCATION_CD in VARCHAR2,
X_ATTENDANCE_MODE in VARCHAR2,
X_CAL_TYPE in VARCHAR2,
X_CRV_VERSION_NUMBER in NUMBER,
X_ATTENDANCE_TYPE in VARCHAR2,
X_US_VERSION_NUMBER in NUMBER,
X_UNIT_SET_CD in VARCHAR2,
X_COO_ID in out NOCOPY NUMBER,
X_MODE in VARCHAR2 default 'R'
) AS
cursor C is select ROWID from IGS_PS_OF_OPT_UNT_ST
where COURSE_CD = X_COURSE_CD
and LOCATION_CD = X_LOCATION_CD
and ATTENDANCE_MODE = X_ATTENDANCE_MODE
and CAL_TYPE = X_CAL_TYPE
and CRV_VERSION_NUMBER = X_CRV_VERSION_NUMBER
and ATTENDANCE_TYPE = X_ATTENDANCE_TYPE
and US_VERSION_NUMBER = X_US_VERSION_NUMBER
and UNIT_SET_CD = X_UNIT_SET_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_course_cd => X_COURSE_CD,
x_crv_version_number => X_CRV_VERSION_NUMBER,
x_cal_type => X_CAL_TYPE,
x_location_cd => X_LOCATION_CD,
x_attendance_mode => X_ATTENDANCE_MODE,
x_attendance_type => X_ATTENDANCE_TYPE,
x_unit_set_cd => X_UNIT_SET_CD,
x_us_version_number => X_US_VERSION_NUMBER,
x_coo_id => X_COO_ID,
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_OF_OPT_UNT_ST (
COURSE_CD,
CRV_VERSION_NUMBER,
CAL_TYPE,
LOCATION_CD,
ATTENDANCE_MODE,
ATTENDANCE_TYPE,
UNIT_SET_CD,
US_VERSION_NUMBER,
COO_ID,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) values (
NEW_REFERENCES.COURSE_CD,
NEW_REFERENCES.CRV_VERSION_NUMBER,
NEW_REFERENCES.CAL_TYPE,
NEW_REFERENCES.LOCATION_CD,
NEW_REFERENCES.ATTENDANCE_MODE,
NEW_REFERENCES.ATTENDANCE_TYPE,
NEW_REFERENCES.UNIT_SET_CD,
NEW_REFERENCES.US_VERSION_NUMBER,
NEW_REFERENCES.COO_ID,
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
COO_ID
from IGS_PS_OF_OPT_UNT_ST
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_LOCATION_CD in VARCHAR2,
X_ATTENDANCE_MODE in VARCHAR2,
X_CAL_TYPE in VARCHAR2,
X_CRV_VERSION_NUMBER in NUMBER,
X_ATTENDANCE_TYPE in VARCHAR2,
X_US_VERSION_NUMBER in NUMBER,
X_UNIT_SET_CD in VARCHAR2,
X_COO_ID in NUMBER,
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_course_cd => X_COURSE_CD,
x_crv_version_number => X_CRV_VERSION_NUMBER,
x_cal_type => X_CAL_TYPE,
x_location_cd => X_LOCATION_CD,
x_attendance_mode => X_ATTENDANCE_MODE,
x_attendance_type => X_ATTENDANCE_TYPE,
x_unit_set_cd => X_UNIT_SET_CD,
x_us_version_number => X_US_VERSION_NUMBER,
x_coo_id => X_COO_ID,
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_OF_OPT_UNT_ST set
COO_ID = NEW_REFERENCES.COO_ID,
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_OF_OPT_UNT_ST
where COURSE_CD = X_COURSE_CD
and LOCATION_CD = X_LOCATION_CD
and ATTENDANCE_MODE = X_ATTENDANCE_MODE
and CAL_TYPE = X_CAL_TYPE
and CRV_VERSION_NUMBER = X_CRV_VERSION_NUMBER
and ATTENDANCE_TYPE = X_ATTENDANCE_TYPE
and US_VERSION_NUMBER = X_US_VERSION_NUMBER
and UNIT_SET_CD = X_UNIT_SET_CD
;
INSERT_ROW (
X_ROWID,
X_COURSE_CD,
X_LOCATION_CD,
X_ATTENDANCE_MODE,
X_CAL_TYPE,
X_CRV_VERSION_NUMBER,
X_ATTENDANCE_TYPE,
X_US_VERSION_NUMBER,
X_UNIT_SET_CD,
X_COO_ID,
X_MODE);
UPDATE_ROW (
X_ROWID,
X_COURSE_CD,
X_LOCATION_CD,
X_ATTENDANCE_MODE,
X_CAL_TYPE,
X_CRV_VERSION_NUMBER,
X_ATTENDANCE_TYPE,
X_US_VERSION_NUMBER,
X_UNIT_SET_CD,
X_COO_ID,
X_MODE);
procedure DELETE_ROW (
X_ROWID in VARCHAR2
) AS
begin
Before_DML( p_action => 'DELETE',
x_rowid => X_ROWID
);
delete from IGS_PS_OF_OPT_UNT_ST
where ROWID = X_ROWID;
p_action => 'DELETE',
x_rowid => X_ROWID
);
end DELETE_ROW;