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
) AS
CURSOR cur_old_ref_values IS
SELECT *
FROM IGS_PR_SDT_PR_RU_CK_ALL
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;
Fnd_Message.Set_Name('FND','FORM_RECORD_DELETED');
Fnd_Message.Set_Name('FND','FORM_RECORD_DELETED');
SELECT rowid
FROM IGS_PR_SDT_PR_RU_CK_ALL
WHERE person_id = x_person_id
AND course_cd = x_course_cd
AND prg_cal_type = x_prg_cal_type
AND prg_ci_sequence_number = x_prg_ci_sequence_number
AND progression_rule_cat = x_progression_rule_cat
AND pra_sequence_number = x_pra_sequence_number
AND rule_check_dt = x_rule_check_dt
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_PR_SDT_PR_RU_CK_ALL
WHERE progression_rule_cat = x_progression_rule_cat
AND pra_sequence_number = x_sequence_number ;
SELECT rowid
FROM IGS_PR_SDT_PR_RU_CK_ALL
WHERE person_id = x_person_id
AND course_cd = x_course_cd
AND prg_cal_type = x_prg_cal_type
AND prg_ci_sequence_number = x_prg_ci_sequence_number
AND rule_check_dt = x_rule_check_dt ;
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
) AS
BEGIN
Set_Column_Values (
p_action,
x_rowid,
x_person_id,
x_course_cd,
x_prg_cal_type,
x_prg_ci_sequence_number,
x_rule_check_dt,
x_progression_rule_cat,
x_pra_sequence_number,
x_passed_ind,
x_rule_message_text,
x_creation_date,
x_created_by,
x_last_update_date,
x_last_updated_by,
x_last_update_login,
x_org_id
);
IF (p_action = 'INSERT') THEN
-- Call all the procedures related to Before Insert.
Check_Parent_Existance;
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
Check_Parent_Existance;
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to Before Delete.
Check_Child_Existance;
ELSIF (p_action = 'VALIDATE_INSERT') THEN
IF GET_PK_FOR_VALIDATION(
new_references.person_id,
new_references.course_cd,
new_references.prg_cal_type,
new_references.prg_ci_sequence_number,
new_references.progression_rule_cat,
new_references.pra_sequence_number,
new_references.rule_check_dt) 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_PERSON_ID in NUMBER,
X_COURSE_CD in VARCHAR2,
X_PRG_CAL_TYPE in VARCHAR2,
X_PRG_CI_SEQUENCE_NUMBER in NUMBER,
X_PROGRESSION_RULE_CAT in VARCHAR2,
X_PRA_SEQUENCE_NUMBER in NUMBER,
X_RULE_CHECK_DT in DATE,
X_PASSED_IND in VARCHAR2,
X_RULE_MESSAGE_TEXT in VARCHAR2,
X_MODE in VARCHAR2 default 'R',
X_ORG_ID in NUMBER
) AS
cursor C is select ROWID from IGS_PR_SDT_PR_RU_CK_ALL
where PERSON_ID = X_PERSON_ID
and COURSE_CD = X_COURSE_CD
and PRG_CAL_TYPE = X_PRG_CAL_TYPE
and PRG_CI_SEQUENCE_NUMBER = X_PRG_CI_SEQUENCE_NUMBER
and PROGRESSION_RULE_CAT = X_PROGRESSION_RULE_CAT
and PRA_SEQUENCE_NUMBER = X_PRA_SEQUENCE_NUMBER
and RULE_CHECK_DT = X_RULE_CHECK_DT;
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_person_id => x_person_id ,
x_course_cd => x_course_cd ,
x_prg_cal_type => x_prg_cal_type ,
x_prg_ci_sequence_number => x_prg_ci_sequence_number ,
x_rule_check_dt => x_rule_check_dt ,
x_progression_rule_cat => x_progression_rule_cat ,
x_pra_sequence_number => x_pra_sequence_number ,
x_rule_message_text => x_rule_message_text ,
x_passed_ind => nvl( x_passed_ind, 'Y') ,
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
);
insert into IGS_PR_SDT_PR_RU_CK_ALL (
PERSON_ID,
COURSE_CD,
PRG_CAL_TYPE,
PRG_CI_SEQUENCE_NUMBER,
RULE_CHECK_DT,
PROGRESSION_RULE_CAT,
PRA_SEQUENCE_NUMBER,
PASSED_IND,
RULE_MESSAGE_TEXT,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
ORG_ID
) values (
NEW_REFERENCES.PERSON_ID,
NEW_REFERENCES.COURSE_CD,
NEW_REFERENCES.PRG_CAL_TYPE,
NEW_REFERENCES.PRG_CI_SEQUENCE_NUMBER,
NEW_REFERENCES.RULE_CHECK_DT,
NEW_REFERENCES.PROGRESSION_RULE_CAT,
NEW_REFERENCES.PRA_SEQUENCE_NUMBER,
NEW_REFERENCES.PASSED_IND,
NEW_REFERENCES.RULE_MESSAGE_TEXT,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
NEW_REFERENCES.ORG_ID
);
end INSERT_ROW;
cursor c1 is select
PERSON_ID,
COURSE_CD,
PRG_CAL_TYPE,
PRG_CI_SEQUENCE_NUMBER,
PROGRESSION_RULE_CAT ,
PRA_SEQUENCE_NUMBER ,
RULE_CHECK_DT ,
PASSED_IND ,
RULE_MESSAGE_TEXT
from IGS_PR_SDT_PR_RU_CK_ALL
where ROWID = X_ROWID for update nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_ROWID in VARCHAR2,
X_PERSON_ID in NUMBER,
X_COURSE_CD in VARCHAR2,
X_PRG_CAL_TYPE in VARCHAR2,
X_PRG_CI_SEQUENCE_NUMBER in NUMBER,
X_PROGRESSION_RULE_CAT in VARCHAR2,
X_PRA_SEQUENCE_NUMBER in NUMBER,
X_RULE_CHECK_DT in DATE,
X_PASSED_IND in VARCHAR2,
X_RULE_MESSAGE_TEXT 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_person_id => x_person_id ,
x_course_cd => x_course_cd ,
x_prg_cal_type => x_prg_cal_type ,
x_prg_ci_sequence_number => x_prg_ci_sequence_number ,
x_rule_check_dt => x_rule_check_dt ,
x_progression_rule_cat => x_progression_rule_cat ,
x_pra_sequence_number => x_pra_sequence_number ,
x_rule_message_text => x_rule_message_text ,
x_passed_ind => x_passed_ind ,
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_PR_SDT_PR_RU_CK_ALL set
PASSED_IND = NEW_REFERENCES.PASSED_IND,
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_PR_SDT_PR_RU_CK_ALL
where PERSON_ID = X_PERSON_ID
and COURSE_CD = X_COURSE_CD
and PRG_CAL_TYPE = X_PRG_CAL_TYPE
and PRG_CI_SEQUENCE_NUMBER = X_PRG_CI_SEQUENCE_NUMBER
and PROGRESSION_RULE_CAT = X_PROGRESSION_RULE_CAT
and PRA_SEQUENCE_NUMBER = X_PRA_SEQUENCE_NUMBER
and RULE_CHECK_DT = X_RULE_CHECK_DT
;
INSERT_ROW (
X_ROWID,
X_PERSON_ID,
X_COURSE_CD,
X_PRG_CAL_TYPE,
X_PRG_CI_SEQUENCE_NUMBER,
X_PROGRESSION_RULE_CAT,
X_PRA_SEQUENCE_NUMBER,
X_RULE_CHECK_DT,
X_PASSED_IND,
X_RULE_MESSAGE_TEXT,
X_MODE,
X_ORG_ID);
UPDATE_ROW (
X_ROWID ,
X_PERSON_ID,
X_COURSE_CD,
X_PRG_CAL_TYPE,
X_PRG_CI_SEQUENCE_NUMBER,
X_PROGRESSION_RULE_CAT,
X_PRA_SEQUENCE_NUMBER,
X_RULE_CHECK_DT,
X_PASSED_IND,
X_RULE_MESSAGE_TEXT,
X_MODE
);
procedure DELETE_ROW (
X_ROWID in VARCHAR2
) AS
begin
Before_DML (
p_action => 'DELETE',
x_rowid => X_ROWID
) ;
delete from IGS_PR_SDT_PR_RU_CK_ALL
where ROWID = X_ROWID;
end DELETE_ROW;