The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE beforerowdelete;
PROCEDURE beforerowupdate;
x_last_update_date IN DATE ,
x_last_updated_by IN NUMBER ,
x_last_update_login IN NUMBER ,
x_ss_displayed IN VARCHAR2 ,
x_description IN VARCHAR2 ,
x_ivr_display_ind IN VARCHAR2,
x_term_instruction_time IN NUMBER ,
X_PLANNING_FLAG in VARCHAR2 ,
X_SCHEDULE_FLAG in VARCHAR2 ,
X_ADMIN_FLAG in VARCHAR2
) AS
CURSOR cur_old_ref_values IS
SELECT *
FROM IGS_CA_INST_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 BeforeRowInsertUpdate1(
p_inserting IN BOOLEAN ,
p_updating IN BOOLEAN ,
p_deleting IN BOOLEAN
) AS
-- BUG - 2563531
-- CURSOR added to check uniqueness for alternate code for calendar categories
-- load , academic and teaching
CURSOR alt_code_unique IS
SELECT count(*)
FROM IGS_CA_INST CI , IGS_CA_TYPE CAT
WHERE CAT.CAL_TYPE = CI.CAL_TYPE
AND CAT.S_CAL_CAT IN ('LOAD','TEACHING','ACADEMIC')
AND NEW_REFERENCES.ALTERNATE_CODE = CI.ALTERNATE_CODE
AND ((l_rowid IS NULL) OR (CI.ROW_ID <> l_rowid)) ;
IF p_inserting OR
(new_references.cal_status <> old_references.cal_status) THEN
-- Validate calendar status
IF IGS_CA_VAL_CI.calp_val_cs_closed(
new_references.cal_status,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
IF p_inserting OR p_updating THEN
OPEN alt_code_unique;
END BeforeRowInsertUpdate1;
PROCEDURE AfterRowInsertUpdate2(
p_inserting IN BOOLEAN ,
p_updating IN BOOLEAN ,
p_deleting IN BOOLEAN
) AS
v_message_name VARCHAR2(30);
END AfterRowInsertUpdate2;
PROCEDURE AfterStmtInsertUpdateDelete3(
p_inserting IN BOOLEAN ,
p_updating IN BOOLEAN ,
p_deleting IN BOOLEAN
) AS
v_message_name VARCHAR2(30);
IF p_inserting OR p_updating THEN
-- Validate calendar instance status
-- not all parameters are included in the call to calp_val_ci_status
IF IGS_CA_VAL_CI.calp_val_ci_status (p_cal_type => NVL (new_references.cal_type, old_references.cal_type),
p_sequence_number => NVL (new_references.sequence_number, old_references.sequence_number),
p_old_cal_status => '',
p_new_cal_status => NVL (new_references.cal_status, old_references.cal_status),
p_message_name => v_message_name) = FALSE
THEN
Fnd_Message.Set_Name('IGS',v_message_name);
END AfterStmtInsertUpdateDelete3;
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 s.s_cal_status
FROM igs_ca_stat s,
igs_ca_inst_all ci
WHERE ci.cal_status = s.cal_status
AND ci.cal_type = x_cal_type
AND ci.sequence_number = x_sequence_number;
SELECT ROWID
FROM igs_ca_inst_all
WHERE cal_type = x_cal_type
AND sequence_number = x_sequence_number
FOR UPDATE NOWAIT;
SELECT ROWID
FROM igs_ca_inst_all
WHERE cal_type = x_cal_type
AND sequence_number = x_sequence_number;
SELECT ROWID
FROM IGS_CA_INST_ALL
WHERE cal_type = x_cal_type
AND sequence_number = x_sequence_number
AND start_dt = x_start_dt
AND end_dt = x_end_dt
AND ((l_rowid IS NULL) OR (ROWID <> l_rowid)) ;
SELECT ROWID
FROM IGS_CA_INST_ALL
WHERE cal_type = x_cal_type
AND start_dt = x_start_dt
AND end_dt = x_end_dt
AND ((l_rowid IS NULL) OR (ROWID <> l_rowid));
SELECT ROWID
FROM IGS_CA_INST_ALL
WHERE cal_type = x_cal_type ;
SELECT ROWID
FROM IGS_CA_INST_ALL
WHERE cal_status = x_cal_status ;
SELECT ROWID
FROM IGS_CA_INST_ALL
WHERE cal_type = x_cal_type
AND prior_ci_sequence_number = x_sequence_number ;
x_last_update_date IN DATE ,
x_last_updated_by IN NUMBER ,
x_last_update_login IN NUMBER ,
x_ss_displayed IN VARCHAR2 ,
x_description IN VARCHAR2,
x_ivr_display_ind IN VARCHAR2,
x_term_instruction_time IN NUMBER ,
X_PLANNING_FLAG IN VARCHAR2,
X_SCHEDULE_FLAG IN VARCHAR2,
X_ADMIN_FLAG IN VARCHAR2
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_cal_type,
x_sequence_number,
x_start_dt,
x_end_dt,
x_cal_status,
x_alternate_code,
x_sup_cal_status_differ_ind,
x_prior_ci_sequence_number,
x_org_id,
x_creation_date,
x_created_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login,
x_ss_displayed ,
x_description,
x_ivr_display_ind,
x_term_instruction_time,
X_PLANNING_FLAG,
X_SCHEDULE_FLAG,
X_ADMIN_FLAG
);
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to Before Insert.
BeforeRowInsertUpdate1 ( p_inserting => TRUE ,p_updating => FALSE , p_deleting => FALSE);
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
BeforeRowInsertUpdate1 ( p_inserting => FALSE , p_updating => TRUE , p_deleting => FALSE );
beforerowupdate;
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to Before Delete.
beforerowdelete;
ELSIF (p_action = 'VALIDATE_INSERT') THEN
-- Call all the procedures related to Before Insert.
IF Get_PK_For_Validation (
new_references.cal_type,
new_references.sequence_number ) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
Check_Uniqueness;
ELSIF (p_action = 'VALIDATE_DELETE') THEN
Check_Child_Existance;
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to After Insert.
AfterRowInsertUpdate2 ( p_inserting => TRUE , p_updating => FALSE , p_deleting => FALSE);
AfterStmtInsertUpdateDelete3 ( p_inserting => TRUE , p_updating => FALSE , p_deleting => FALSE);
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to After Update.
AfterRowInsertUpdate2 ( p_inserting => FALSE , p_updating => TRUE , p_deleting => FALSE );
AfterStmtInsertUpdateDelete3 ( p_inserting => FALSE , p_updating => TRUE , p_deleting => FALSE );
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to After Delete.
AfterStmtInsertUpdateDelete3 (p_inserting => FALSE , p_updating => FALSE , p_deleting => TRUE );
PROCEDURE INSERT_ROW (
X_ROWID IN OUT NOCOPY VARCHAR2,
X_CAL_TYPE IN VARCHAR2,
X_SEQUENCE_NUMBER IN NUMBER,
X_START_DT IN DATE,
X_END_DT IN DATE,
X_CAL_STATUS IN VARCHAR2,
X_ALTERNATE_CODE IN VARCHAR2,
X_SUP_CAL_STATUS_DIFFER_IND IN VARCHAR2,
X_PRIOR_CI_SEQUENCE_NUMBER IN NUMBER,
X_ORG_ID IN NUMBER ,
X_MODE IN VARCHAR2 ,
X_SS_DISPLAYED IN VARCHAR2 ,
X_DESCRIPTION IN VARCHAR2,
X_IVR_DISPLAY_IND IN VARCHAR2,
X_TERM_INSTRUCTION_TIME IN NUMBER,
X_PLANNING_FLAG IN VARCHAR2,
X_SCHEDULE_FLAG IN VARCHAR2,
X_ADMIN_FLAG IN VARCHAR2
) AS
CURSOR C IS SELECT ROWID FROM IGS_CA_INST_ALL
WHERE CAL_TYPE = X_CAL_TYPE
AND SEQUENCE_NUMBER = X_SEQUENCE_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;
p_action =>'INSERT',
x_rowid =>X_ROWID,
x_cal_type =>X_CAL_TYPE,
x_sequence_number =>X_SEQUENCE_NUMBER,
x_start_dt =>X_START_DT,
x_end_dt =>X_END_DT,
x_cal_status =>X_CAL_STATUS,
x_alternate_code =>X_ALTERNATE_CODE,
x_sup_cal_status_differ_ind =>NVL(X_SUP_CAL_STATUS_DIFFER_IND,'N'),
x_prior_ci_sequence_number =>X_PRIOR_CI_SEQUENCE_NUMBER,
x_org_id => igs_ge_gen_003.get_org_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,
x_ss_displayed => X_SS_DISPLAYED,
x_description => X_DESCRIPTION,
x_ivr_display_ind => X_IVR_DISPLAY_IND,
x_term_instruction_time => X_TERM_INSTRUCTION_TIME,
X_PLANNING_FLAG => X_PLANNING_FLAG ,
X_SCHEDULE_FLAG => X_SCHEDULE_FLAG,
X_ADMIN_FLAG => X_ADMIN_FLAG
);
INSERT INTO IGS_CA_INST_ALL (
CAL_TYPE,
SEQUENCE_NUMBER,
START_DT,
END_DT,
CAL_STATUS,
ALTERNATE_CODE,
SUP_CAL_STATUS_DIFFER_IND,
PRIOR_CI_SEQUENCE_NUMBER,
ORG_ID,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
SS_DISPLAYED,
DESCRIPTION,
IVR_DISPLAY_IND,
TERM_INSTRUCTION_TIME,
PLANNING_FLAG,
SCHEDULE_FLAG,
ADMIN_FLAG
) VALUES (
NEW_REFERENCES.CAL_TYPE,
NEW_REFERENCES.SEQUENCE_NUMBER,
NEW_REFERENCES.START_DT,
NEW_REFERENCES.END_DT,
NEW_REFERENCES.CAL_STATUS,
NEW_REFERENCES.ALTERNATE_CODE,
NEW_REFERENCES.SUP_CAL_STATUS_DIFFER_IND,
NEW_REFERENCES.PRIOR_CI_SEQUENCE_NUMBER,
NEW_REFERENCES.ORG_ID,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
X_SS_DISPLAYED,
NEW_REFERENCES.DESCRIPTION,
NEW_REFERENCES.IVR_DISPLAY_IND,
NEW_REFERENCES.TERM_INSTRUCTION_TIME ,
NEW_REFERENCES.PLANNING_FLAG,
NEW_REFERENCES.SCHEDULE_FLAG,
NEW_REFERENCES.ADMIN_FLAG
);
p_action =>'INSERT',
x_rowid =>X_ROWID
);
END INSERT_ROW;
CURSOR c1 IS SELECT
START_DT,
END_DT,
CAL_STATUS,
ALTERNATE_CODE,
SUP_CAL_STATUS_DIFFER_IND,
PRIOR_CI_SEQUENCE_NUMBER,
DESCRIPTION,
IVR_DISPLAY_IND,
TERM_INSTRUCTION_TIME,
PLANNING_FLAG,
SCHEDULE_FLAG,
ADMIN_FLAG
FROM IGS_CA_INST_ALL
WHERE ROWID=X_ROWID
FOR UPDATE NOWAIT;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
PROCEDURE UPDATE_ROW (
X_ROWID IN VARCHAR2,
X_CAL_TYPE IN VARCHAR2,
X_SEQUENCE_NUMBER IN NUMBER,
X_START_DT IN DATE,
X_END_DT IN DATE,
X_CAL_STATUS IN VARCHAR2,
X_ALTERNATE_CODE IN VARCHAR2,
X_SUP_CAL_STATUS_DIFFER_IND IN VARCHAR2,
X_PRIOR_CI_SEQUENCE_NUMBER IN NUMBER,
X_MODE IN VARCHAR2 ,
X_SS_DISPLAYED IN VARCHAR2 ,
X_DESCRIPTION IN VARCHAR2,
X_IVR_DISPLAY_IND IN VARCHAR2,
X_TERM_INSTRUCTION_TIME IN NUMBER ,
X_PLANNING_FLAG IN VARCHAR2,
X_SCHEDULE_FLAG IN VARCHAR2,
X_ADMIN_FLAG 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;
p_action =>'UPDATE',
x_rowid =>X_ROWID,
x_cal_type =>X_CAL_TYPE,
x_sequence_number =>X_SEQUENCE_NUMBER,
x_start_dt =>X_START_DT,
x_end_dt =>X_END_DT,
x_cal_status =>X_CAL_STATUS,
x_alternate_code =>X_ALTERNATE_CODE,
x_sup_cal_status_differ_ind =>X_SUP_CAL_STATUS_DIFFER_IND,
x_prior_ci_sequence_number =>X_PRIOR_CI_SEQUENCE_NUMBER,
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_ss_displayed => X_SS_DISPLAYED_V,
x_description => X_DESCRIPTION,
x_ivr_display_ind => X_IVR_DISPLAY_IND,
x_term_instruction_time => X_TERM_INSTRUCTION_TIME,
X_PLANNING_FLAG => X_PLANNING_FLAG ,
X_SCHEDULE_FLAG => X_SCHEDULE_FLAG,
X_ADMIN_FLAG => X_ADMIN_FLAG
);
UPDATE IGS_CA_INST_ALL SET
START_DT = NEW_REFERENCES.START_DT,
END_DT = NEW_REFERENCES.END_DT,
CAL_STATUS = NEW_REFERENCES.CAL_STATUS,
ALTERNATE_CODE = NEW_REFERENCES.ALTERNATE_CODE,
SUP_CAL_STATUS_DIFFER_IND = NEW_REFERENCES.SUP_CAL_STATUS_DIFFER_IND,
PRIOR_CI_SEQUENCE_NUMBER = NEW_REFERENCES.PRIOR_CI_SEQUENCE_NUMBER,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
SS_DISPLAYED = X_SS_DISPLAYED_V,
IVR_DISPLAY_IND = X_IVR_DISPLAY_IND,
TERM_INSTRUCTION_TIME = X_TERM_INSTRUCTION_TIME,
DESCRIPTION = l_msg,
PLANNING_FLAG = x_PLANNING_FLAG,
SCHEDULE_FLAG = x_SCHEDULE_FLAG,
ADMIN_FLAG = x_ADMIN_FLAG
WHERE ROWID=X_ROWID
;
p_action =>'UPDATE',
x_rowid =>X_ROWID
);
END UPDATE_ROW;
CURSOR c1 IS SELECT ROWID FROM IGS_CA_INST_ALL
WHERE CAL_TYPE = X_CAL_TYPE
AND SEQUENCE_NUMBER = X_SEQUENCE_NUMBER
;
INSERT_ROW (
X_ROWID,
X_CAL_TYPE,
X_SEQUENCE_NUMBER,
X_START_DT,
X_END_DT,
X_CAL_STATUS,
X_ALTERNATE_CODE,
X_SUP_CAL_STATUS_DIFFER_IND,
X_PRIOR_CI_SEQUENCE_NUMBER,
X_ORG_ID,
X_MODE,
X_SS_DISPLAYED,
X_DESCRIPTION,
X_IVR_DISPLAY_IND,
X_TERM_INSTRUCTION_TIME ,
X_PLANNING_FLAG,
X_SCHEDULE_FLAG ,
X_ADMIN_FLAG
);
UPDATE_ROW (
X_ROWID,
X_CAL_TYPE,
X_SEQUENCE_NUMBER,
X_START_DT,
X_END_DT,
X_CAL_STATUS,
X_ALTERNATE_CODE,
X_SUP_CAL_STATUS_DIFFER_IND,
X_PRIOR_CI_SEQUENCE_NUMBER,
X_MODE,
X_SS_DISPLAYED,
X_DESCRIPTION,
X_IVR_DISPLAY_IND,
X_TERM_INSTRUCTION_TIME ,
X_PLANNING_FLAG,
X_SCHEDULE_FLAG ,
X_ADMIN_FLAG
);
PROCEDURE DELETE_ROW (
X_ROWID IN VARCHAR2
) AS
BEGIN
Before_DML(
p_action =>'DELETE',
x_rowid =>X_ROWID
);
DELETE FROM IGS_CA_INST_ALL
WHERE ROWID=X_ROWID;
p_action =>'DELETE',
x_rowid =>X_ROWID
);
END DELETE_ROW;
PROCEDURE beforerowdelete AS
------------------------------------------------------------------
--Created by : vchappid, Oracle India
--Date created: 12-Jun-2002
--
--Purpose: Only planned Calendar Instances are allowed for deletion
--
--
--Known limitations/enhancements and/or remarks:
--
--Change History:
--Who When What
-------------------------------------------------------------------
CURSOR cur_delete (cp_cal_type igs_ca_inst.cal_type%TYPE, cp_seq_number igs_ca_inst.sequence_number%TYPE)
IS
SELECT 'x'
FROM igs_ca_inst i, igs_ca_stat s
WHERE i.cal_status = s.cal_status
AND s.s_cal_status = 'PLANNED'
AND i.cal_type = cp_cal_type
AND i.sequence_number = cp_seq_number;
OPEN cur_delete (old_references.cal_type,old_references.sequence_number );
FETCH cur_delete INTO l_check;
IF cur_delete%NOTFOUND THEN
close cur_delete;
fnd_message.set_name('IGS','IGS_CA_NO_DELETE_ALLOWED');
close cur_delete;
END beforerowdelete;
PROCEDURE beforerowupdate AS
------------------------------------------------------------------
--Created by : vchappid, Oracle India
--Date created: 12-Jun-2002
--
--Purpose: Active Calendar Status calendar instance can not be changed to Planned Status
--
--
--Known limitations/enhancements and/or remarks:
--
--Change History:
--Who When What
--kpadiyar 06-May-2003 Added the validations for bug 2885873
-------------------------------------------------------------------
CURSOR cur_get_status (cp_cal_status igs_ca_inst.cal_status%TYPE)
IS
SELECT s_cal_status
FROM igs_ca_stat
WHERE cal_status = cp_cal_status;
CURSOR cur_check_update (cp_cal_type igs_ca_inst.cal_type%TYPE, cp_seq_number igs_ca_inst.sequence_number%TYPE)
IS
SELECT 'x'
FROM igs_ca_inst i, igs_ca_stat s
WHERE i.cal_status = s.cal_status
AND s.s_cal_status = 'ACTIVE'
AND i.cal_type = cp_cal_type
AND i.sequence_number = cp_seq_number;
OPEN cur_check_update(old_references.cal_type, old_references.sequence_number);
FETCH cur_check_update INTO l_check;
IF cur_check_update%FOUND THEN
CLOSE cur_check_update;
CLOSE cur_check_update;
fnd_message.set_name('FND','FORM_RECORD_DELETED');
SELECT s_cal_status
FROM igs_ca_stat
WHERE cal_status = p_cal_status
AND closed_ind = 'N';
SELECT s_cal_status
FROM igs_ca_stat
WHERE cal_status = p_cal_status
AND closed_ind = 'N';
SELECT s_cal_cat
FROM igs_ca_type
WHERE cal_type = p_cal_type
AND closed_ind = 'N';
END beforerowupdate;