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_AS_ITM_EXAM_MTRL
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 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);
-- Validate that inserts are allowed
IF p_inserting THEN
--
-- Cannot create against closed examination_material_type
IF IGS_AS_VAL_AIEM.assp_val_exmt_closed(
new_references.exam_material_type,
v_message_name) = FALSE THEN
FND_MESSAGE.SET_NAME('IGS',V_MESSAGE_NAME);
IF p_inserting OR p_updating THEN
--
-- Can only set quantity_per_student when s_material_type = 'SUPPLIED'
IF IGS_AS_VAL_AIEM.assp_val_aiem_catqty(
new_references.s_material_cat,
new_references.quantity_per_student,
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');
SELECT rowid
FROM IGS_AS_ITM_EXAM_MTRL
WHERE ass_id = x_ass_id
AND exam_material_type = x_exam_material_type
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_AS_ITM_EXAM_MTRL
WHERE ass_id = x_ass_id ;
SELECT rowid
FROM IGS_AS_ITM_EXAM_MTRL
WHERE exam_material_type = x_exam_material_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
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_ass_id,
x_exam_material_type,
x_s_material_cat,
x_quantity_per_student,
x_comments,
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.ass_id ,
new_references.exam_material_type ) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_AS_MATERIAL_ALREADY_EXISTS');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
Check_Constraints;
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_ASS_ID in NUMBER,
X_EXAM_MATERIAL_TYPE in VARCHAR2,
X_S_MATERIAL_CAT in VARCHAR2,
X_QUANTITY_PER_STUDENT in NUMBER,
X_COMMENTS in VARCHAR2,
X_MODE in VARCHAR2 default 'R'
) AS
cursor C is select ROWID from IGS_AS_ITM_EXAM_MTRL
where ASS_ID = X_ASS_ID
and EXAM_MATERIAL_TYPE = X_EXAM_MATERIAL_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;
p_action=>'INSERT',
x_rowid=>X_ROWID,
x_ass_id=>X_ASS_ID,
x_comments=>X_COMMENTS,
x_exam_material_type=>X_EXAM_MATERIAL_TYPE,
x_quantity_per_student=>X_QUANTITY_PER_STUDENT,
x_s_material_cat=>NVL(X_S_MATERIAL_CAT,'ALLOWABLE'),
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_AS_ITM_EXAM_MTRL (
ASS_ID,
EXAM_MATERIAL_TYPE,
S_MATERIAL_CAT,
QUANTITY_PER_STUDENT,
COMMENTS,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) values (
NEW_REFERENCES.ASS_ID,
NEW_REFERENCES.EXAM_MATERIAL_TYPE,
NEW_REFERENCES.S_MATERIAL_CAT,
NEW_REFERENCES.QUANTITY_PER_STUDENT,
NEW_REFERENCES.COMMENTS,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN
);
end INSERT_ROW;
cursor c1 is select
S_MATERIAL_CAT,
QUANTITY_PER_STUDENT,
COMMENTS
from IGS_AS_ITM_EXAM_MTRL
where ROWID = X_ROWID for update nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_ROWID in VARCHAR2,
X_ASS_ID in NUMBER,
X_EXAM_MATERIAL_TYPE in VARCHAR2,
X_S_MATERIAL_CAT in VARCHAR2,
X_QUANTITY_PER_STUDENT 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_ass_id=>X_ASS_ID,
x_comments=>X_COMMENTS,
x_exam_material_type=>X_EXAM_MATERIAL_TYPE,
x_quantity_per_student=>X_QUANTITY_PER_STUDENT,
x_s_material_cat=>X_S_MATERIAL_CAT,
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_AS_ITM_EXAM_MTRL set
S_MATERIAL_CAT = NEW_REFERENCES.S_MATERIAL_CAT,
QUANTITY_PER_STUDENT = NEW_REFERENCES.QUANTITY_PER_STUDENT,
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;
end UPDATE_ROW;
cursor c1 is select rowid from IGS_AS_ITM_EXAM_MTRL
where ASS_ID = X_ASS_ID
and EXAM_MATERIAL_TYPE = X_EXAM_MATERIAL_TYPE
;
INSERT_ROW (
X_ROWID,
X_ASS_ID,
X_EXAM_MATERIAL_TYPE,
X_S_MATERIAL_CAT,
X_QUANTITY_PER_STUDENT,
X_COMMENTS,
X_MODE);
UPDATE_ROW (
X_ROWID,
X_ASS_ID,
X_EXAM_MATERIAL_TYPE,
X_S_MATERIAL_CAT,
X_QUANTITY_PER_STUDENT,
X_COMMENTS,
X_MODE);
procedure DELETE_ROW (
X_ROWID in VARCHAR2) is
begin
Before_DML(
p_action => 'DELETE',
x_rowid => X_ROWID
);
delete from IGS_AS_ITM_EXAM_MTRL
where ROWID = X_ROWID;
end DELETE_ROW;