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_DELETE_FLAG IN VARCHAR2 ,
x_abort_flag IN VARCHAR2
) AS
CURSOR cur_old_ref_values IS
SELECT *
FROM IGS_PS_UNIT_OFR_PAT_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;
new_references.delete_flag := x_delete_flag;
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_OFR_PAT_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 THEN
-- Validate the calendar instance status.
IF IGS_aS_VAL_uai.crsp_val_crs_ci (
new_references.cal_type,
new_references.ci_sequence_number,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS',v_message_name);
END BeforeRowInsertUpdateDelete1;
ELSIF UPPER(column_name)='DELETE_FLAG' THEN
New_References.delete_flag := Column_Value;
IF UPPER(column_name)='DELETE_FLAG' OR Column_Name IS NULL THEN
IF New_References.delete_flag NOT IN ( 'Y' , 'N' ) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
SELECT rowid
FROM IGS_PS_UNIT_OFR_PAT_ALL
WHERE unit_cd = x_unit_cd
AND version_number = x_version_number
AND cal_type = x_cal_type
AND ci_sequence_number = x_ci_sequence_number
AND delete_flag = 'N' ;
SELECT rowid
FROM IGS_PS_UNIT_OFR_PAT_ALL
WHERE cal_type = x_cal_type
AND ci_sequence_number = x_sequence_number
AND ci_start_dt = x_start_dt
AND ci_end_dt = x_end_dt
AND delete_flag = 'N';
SELECT rowid
FROM IGS_PS_UNIT_OFR_PAT_ALL
WHERE unit_cd = x_unit_cd
AND version_number = x_version_number
AND cal_type = x_cal_type
AND delete_flag = 'N';
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_DELETE_FLAG IN VARCHAR2 ,
x_abort_flag IN VARCHAR2
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_unit_cd,
x_version_number,
x_cal_type,
x_ci_sequence_number,
x_ci_start_dt,
x_ci_end_dt,
x_waitlist_allowed,
x_max_students_per_waitlist,
x_creation_date,
x_created_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login ,
x_org_id,
x_delete_flag,
x_abort_flag
);
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.cal_type,
New_References.ci_sequence_number ) THEN
Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
ELSIF (p_action = 'VALIDATE_UPDATE') THEN
Check_Constraints;
ELSIF (p_action = 'VALIDATE_DELETE') THEN
Check_Child_Existance;
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_UNIT_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_CI_SEQUENCE_NUMBER in NUMBER,
X_CAL_TYPE in VARCHAR2,
X_CI_START_DT in DATE,
X_CI_END_DT in DATE,
X_WAITLIST_ALLOWED in VARCHAR2,
X_MAX_STUDENTS_PER_WAITLIST in NUMBER,
X_MODE in VARCHAR2 default 'R',
X_ORG_ID in NUMBER,
X_DELETE_FLAG IN VARCHAR2 ,
x_abort_flag IN VARCHAR2
) AS
cursor C is select ROWID from IGS_PS_UNIT_OFR_PAT_ALL
where UNIT_CD = X_UNIT_CD
and VERSION_NUMBER = X_VERSION_NUMBER
and CI_SEQUENCE_NUMBER = X_CI_SEQUENCE_NUMBER
and CAL_TYPE = X_CAL_TYPE;
X_LAST_UPDATE_DATE DATE;
X_LAST_UPDATED_BY NUMBER;
X_LAST_UPDATE_LOGIN NUMBER;
X_PROGRAM_UPDATE_DATE DATE;
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;
X_PROGRAM_UPDATE_DATE := NULL;
X_PROGRAM_UPDATE_DATE := SYSDATE;
p_action => 'INSERT',
x_rowid => X_ROWID,
x_unit_cd => X_UNIT_CD,
x_version_number => X_VERSION_NUMBER,
x_cal_type => X_CAL_TYPE,
x_ci_sequence_number => X_CI_SEQUENCE_NUMBER,
x_ci_start_dt => X_CI_START_DT,
x_ci_end_dt => X_CI_END_DT,
x_waitlist_allowed => X_WAITLIST_ALLOWED,
x_max_students_per_waitlist => X_MAX_STUDENTS_PER_WAITLIST,
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_delete_flag => x_delete_flag,
x_abort_flag => x_abort_flag
);
INSERT INTO IGS_PS_UNIT_OFR_PAT_ALL (
UNIT_CD,
VERSION_NUMBER,
CAL_TYPE,
CI_SEQUENCE_NUMBER,
CI_START_DT,
CI_END_DT,
WAITLIST_ALLOWED,
MAX_STUDENTS_PER_WAITLIST,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
REQUEST_ID,
PROGRAM_ID,
PROGRAM_APPLICATION_ID,
PROGRAM_UPDATE_DATE,
ORG_ID,
DELETE_FLAG,
ABORT_FLAG
) VALUES (
NEW_REFERENCES.UNIT_CD,
NEW_REFERENCES.VERSION_NUMBER,
NEW_REFERENCES.CAL_TYPE,
NEW_REFERENCES.CI_SEQUENCE_NUMBER,
NEW_REFERENCES.CI_START_DT,
NEW_REFERENCES.CI_END_DT,
NEW_REFERENCES.WAITLIST_ALLOWED,
NEW_REFERENCES.MAX_STUDENTS_PER_WAITLIST,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
X_REQUEST_ID,
X_PROGRAM_ID,
X_PROGRAM_APPLICATION_ID,
X_PROGRAM_UPDATE_DATE,
NEW_REFERENCES.ORG_ID,
NEW_REFERENCES.DELETE_FLAG,
NEW_REFERENCES.ABORT_FLAG
);
UPDATE IGS_PS_UNIT_OFR_PAT_ALL SET
WAITLIST_ALLOWED=NEW_REFERENCES.WAITLIST_ALLOWED,
MAX_STUDENTS_PER_WAITLIST=NEW_REFERENCES.MAX_STUDENTS_PER_WAITLIST,
CREATION_DATE=X_LAST_UPDATE_DATE,
CREATED_BY=X_LAST_UPDATED_BY,
LAST_UPDATE_DATE=X_LAST_UPDATE_DATE,
LAST_UPDATED_BY=X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN=X_LAST_UPDATE_LOGIN,
REQUEST_ID=X_REQUEST_ID,
PROGRAM_ID=X_PROGRAM_ID,
PROGRAM_APPLICATION_ID=X_PROGRAM_APPLICATION_ID,
PROGRAM_UPDATE_DATE=X_PROGRAM_UPDATE_DATE,
DELETE_FLAG = 'N',
abort_flag = new_references.abort_flag
WHERE ROWID=l_c_rowid;
p_action => 'INSERT',
x_rowid => X_ROWID
);
end INSERT_ROW;
X_DELETE_FLAG IN VARCHAR2 ,
x_abort_flag IN VARCHAR2
) AS
cursor c1 is select
CI_START_DT,
CI_END_DT,
WAITLIST_ALLOWED,
MAX_STUDENTS_PER_WAITLIST,
DELETE_FLAG,
abort_flag
from IGS_PS_UNIT_OFR_PAT_ALL
where ROWID = X_ROWID for update nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
AND ((tlinfo.DELETE_FLAG = X_DELETE_FLAG)
OR ((tlinfo.DELETE_FLAG IS NULL) AND (X_DELETE_FLAG IS NULL)))
AND ((tlinfo.MAX_STUDENTS_PER_WAITLIST = X_MAX_STUDENTS_PER_WAITLIST)
OR ((tlinfo.MAX_STUDENTS_PER_WAITLIST IS NULL) AND (X_MAX_STUDENTS_PER_WAITLIST IS NULL)))
AND (tlinfo.ABORT_FLAG = X_ABORT_FLAG)
) then
null;
procedure UPDATE_ROW (
X_ROWID in VARCHAR2,
X_UNIT_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_CI_SEQUENCE_NUMBER in NUMBER,
X_CAL_TYPE in VARCHAR2,
X_CI_START_DT in DATE,
X_CI_END_DT in DATE,
X_WAITLIST_ALLOWED in VARCHAR2,
X_MAX_STUDENTS_PER_WAITLIST in NUMBER,
X_MODE in VARCHAR2 default 'R',
X_DELETE_FLAG IN VARCHAR2 ,
x_abort_flag IN VARCHAR2
) AS
X_LAST_UPDATE_DATE DATE;
X_LAST_UPDATED_BY NUMBER;
X_LAST_UPDATE_LOGIN NUMBER;
X_PROGRAM_UPDATE_DATE DATE;
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_unit_cd => X_UNIT_CD,
x_version_number => X_VERSION_NUMBER,
x_cal_type => X_CAL_TYPE,
x_ci_sequence_number => X_CI_SEQUENCE_NUMBER,
x_ci_start_dt => X_CI_START_DT,
x_ci_end_dt => X_CI_END_DT,
x_waitlist_allowed => X_WAITLIST_ALLOWED,
x_max_students_per_waitlist => X_MAX_STUDENTS_PER_WAITLIST,
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_delete_flag => X_DELETE_FLAG,
x_abort_flag => x_abort_flag
);
X_PROGRAM_UPDATE_DATE := OLD_REFERENCES.PROGRAM_UPDATE_DATE;
X_PROGRAM_UPDATE_DATE := SYSDATE;
IF x_delete_flag = 'Y' THEN
Check_Child_Existance;
update IGS_PS_UNIT_OFR_PAT_ALL set
CI_START_DT = NEW_REFERENCES.CI_START_DT,
CI_END_DT = NEW_REFERENCES.CI_END_DT,
WAITLIST_ALLOWED = NEW_REFERENCES.WAITLIST_ALLOWED,
MAX_STUDENTS_PER_WAITLIST = NEW_REFERENCES.MAX_STUDENTS_PER_WAITLIST,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
REQUEST_ID = X_REQUEST_ID,
PROGRAM_ID = X_PROGRAM_ID,
PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID,
PROGRAM_UPDATE_DATE = X_PROGRAM_UPDATE_DATE,
DELETE_FLAG = NEW_REFERENCES.DELETE_flag,
ABORT_FLAG = NEW_REFERENCES.ABORT_FLAG
where ROWID = X_ROWID
;
p_action => 'UPDATE',
x_rowid => X_ROWID
);
end UPDATE_ROW;
X_DELETE_FLAG IN VARCHAR2 ,
x_abort_flag IN VARCHAR2
) AS
cursor c1 is select rowid from IGS_PS_UNIT_OFR_PAT_ALL
where UNIT_CD = X_UNIT_CD
and VERSION_NUMBER = X_VERSION_NUMBER
and CI_SEQUENCE_NUMBER = X_CI_SEQUENCE_NUMBER
and CAL_TYPE = X_CAL_TYPE
;
INSERT_ROW (
X_ROWID,
X_UNIT_CD,
X_VERSION_NUMBER,
X_CI_SEQUENCE_NUMBER,
X_CAL_TYPE,
X_CI_START_DT,
X_CI_END_DT,
X_WAITLIST_ALLOWED,
X_MAX_STUDENTS_PER_WAITLIST,
X_MODE,
X_ORG_ID,
X_DELETE_FLAG,
x_abort_flag);
UPDATE_ROW (
X_ROWID,
X_UNIT_CD,
X_VERSION_NUMBER,
X_CI_SEQUENCE_NUMBER,
X_CAL_TYPE,
X_CI_START_DT,
X_CI_END_DT,
X_WAITLIST_ALLOWED,
X_MAX_STUDENTS_PER_WAITLIST,
X_MODE,
X_DELETE_FLAG,
x_abort_flag
);
procedure DELETE_ROW (
X_ROWID in VARCHAR2
) AS
begin
Before_DML (
p_action => 'DELETE',
x_rowid => X_ROWID
);
delete from IGS_PS_UNIT_OFR_PAT_ALL
where ROWID = X_ROWID
;
p_action => 'DELETE',
x_rowid => X_ROWID
);
end DELETE_ROW;