The following lines contain the word 'select', 'insert', 'update' or 'delete':
x_logical_delete_dt IN DATE DEFAULT NULL,
x_action_dt IN DATE DEFAULT NULL,
x_creation_date IN DATE DEFAULT NULL,
x_created_by IN NUMBER DEFAULT NULL,
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_AS_UNTAS_PATTERN_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');
new_references.logical_delete_dt := x_logical_delete_dt;
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);
IF p_inserting OR p_updating THEN
-- Validate IGS_AD_LOCATION closed indicator
-- As part of the bug# 1956374 changed to the below call from IGS_AS_VAL_UAP.crsp_val_loc_cd
IF IGS_PS_VAL_UOO.crsp_val_loc_cd (
new_references.location_cd,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
-- If the IGS_PS_UNIT version status is inactive then prevent inserts, updates and
-- deletes. As deletes are logical, they are equiv to updates and delete
-- trigger is not required.
IF IGS_ps_val_unit.crsp_val_iud_uv_dtl (
new_references.unit_cd,
new_references.version_number,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
-- If calendar instance is inactive, then prevent inserts, updates and
-- deletes. As deletes are logical, they are equiv to updates and delete
-- trigger is not required.
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);
IF p_inserting THEN
-- If calendar type is closed, then prevent inserts.
-- As part of the bug# 1956374 changed to the below call from IGS_AS_VAL_UAP.crsp_val_uo_cal_type
IF IGS_AS_VAL_UAI.crsp_val_uo_cal_type (
new_references.cal_type,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
IF p_inserting OR
(p_updating AND
(NVL(new_references.unit_class,'NULL') <> NVL(old_references.unit_class,'NULL')) OR
(NVL(new_references.unit_mode,'NULL') <> NVL(old_references.unit_mode,'NULL')))THEN
IF IGS_AS_VAL_UAP.assp_val_uc_um (new_references.UNIT_MODE,
new_references.unit_class,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
IF p_inserting OR p_deleting OR
(p_updating AND
((NVL(new_references.location_cd, 'NULL') <> NVL(old_references.location_cd, 'NULL')) OR
(NVL(new_references.unit_class,'NULL') <> NVL(old_references.unit_class,'NULL')) OR
(new_references.dflt_pattern_ind <> old_references.dflt_pattern_ind) OR
(NVL(new_references.logical_delete_dt, IGS_GE_DATE.IGSDATE('1900/01/01')) <>
NVL(old_references.logical_delete_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))) OR
(NVL(new_references.unit_mode,'NULL') <> NVL(old_references.unit_mode,'NULL'))))THEN
IF NVL(new_references.action_dt, IGS_GE_DATE.IGSDATE('1900/01/01'))
= IGS_GE_DATE.IGSDATE('1900/01/01') THEN
new_references.action_dt := SYSDATE;
END BeforeRowInsertUpdate1;
PROCEDURE AfterRowInsertUpdate2(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) as
v_message_name varchar2(30);
IF p_inserting OR
( p_updating AND
new_references.ass_pattern_cd <> old_references.ass_pattern_cd) THEN
IF IGS_AS_VAL_UAP.assp_val_uap_uniq_cd(
new_references.unit_cd,
new_references.version_number,
new_references.cal_type,
new_references.ci_sequence_number,
new_references.ass_pattern_id,
new_references.ass_pattern_cd,
v_message_name) = FALSE THEN
Fnd_Message.Set_Name('IGS', v_message_name);
END AfterRowInsertUpdate2;
Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
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_AS_UNTAS_PATTERN_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 ass_pattern_id = x_ass_pattern_id
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_AS_UNTAS_PATTERN_ALL
WHERE ass_pattern_id = x_ass_pattern_id
AND ((l_rowid IS NULL) OR (rowid <> l_rowid))
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_AS_UNTAS_PATTERN_ALL
WHERE location_cd = x_location_cd ;
SELECT rowid
FROM IGS_AS_UNTAS_PATTERN_ALL
WHERE unit_class= x_unit_class ;
SELECT rowid
FROM IGS_AS_UNTAS_PATTERN_ALL
WHERE unit_mode= x_unit_mode ;
SELECT rowid
FROM IGS_AS_UNTAS_PATTERN_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 ;
x_logical_delete_dt IN DATE DEFAULT NULL,
x_action_dt IN DATE DEFAULT NULL,
x_creation_date IN DATE DEFAULT NULL ,
x_created_by IN NUMBER DEFAULT NULL ,
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_unit_cd,
x_version_number,
x_cal_type,
x_ci_sequence_number,
x_ass_pattern_id,
x_ass_pattern_cd,
x_description,
x_location_cd,
x_unit_class,
x_unit_mode,
x_dflt_pattern_ind,
x_logical_delete_dt,
x_action_dt,
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.
BeforeRowInsertUpdate1 ( p_inserting => TRUE );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to Before Update.
BeforeRowInsertUpdate1 ( p_updating => TRUE );
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to Before Delete.
Null;
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,
new_references.ass_pattern_id
) 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 );
ELSIF (p_action = 'UPDATE') THEN
-- Call all the procedures related to After Update.
AfterRowInsertUpdate2 ( p_updating => TRUE );
ELSIF (p_action = 'DELETE') THEN
-- Call all the procedures related to After Delete.
Null;
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_UNIT_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_CAL_TYPE in VARCHAR2,
X_CI_SEQUENCE_NUMBER in NUMBER,
X_ASS_PATTERN_ID in NUMBER,
X_ASS_PATTERN_CD in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_LOCATION_CD in VARCHAR2,
X_UNIT_CLASS in VARCHAR2,
X_UNIT_MODE in VARCHAR2,
X_DFLT_PATTERN_IND in VARCHAR2,
X_LOGICAL_DELETE_DT in DATE,
X_ACTION_DT in DATE,
X_MODE in VARCHAR2 default 'R',
X_ORG_ID IN NUMBER
) as
cursor C is select ROWID from IGS_AS_UNTAS_PATTERN_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 ASS_PATTERN_ID = X_ASS_PATTERN_ID;
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_action_dt=>X_ACTION_DT,
x_ass_pattern_cd=>X_ASS_PATTERN_CD,
x_ass_pattern_id=>X_ASS_PATTERN_ID,
x_cal_type=>X_CAL_TYPE,
x_ci_sequence_number=>X_CI_SEQUENCE_NUMBER,
x_description=>X_DESCRIPTION,
x_dflt_pattern_ind=>nvl(X_DFLT_PATTERN_IND,'N'),
x_location_cd=>X_LOCATION_CD,
x_logical_delete_dt=>X_LOGICAL_DELETE_DT,
x_unit_cd=>X_UNIT_CD,
x_unit_class=>X_UNIT_CLASS,
x_unit_mode=>X_UNIT_MODE,
x_version_number=>X_VERSION_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_org_id => igs_ge_gen_003.get_org_id
);
insert into IGS_AS_UNTAS_PATTERN_ALL (
UNIT_CD,
VERSION_NUMBER,
CAL_TYPE,
CI_SEQUENCE_NUMBER,
ASS_PATTERN_ID,
ASS_PATTERN_CD,
DESCRIPTION,
LOCATION_CD,
UNIT_CLASS,
UNIT_MODE,
DFLT_PATTERN_IND,
LOGICAL_DELETE_DT,
ACTION_DT,
ORG_ID,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
REQUEST_ID,
PROGRAM_ID,
PROGRAM_APPLICATION_ID,
PROGRAM_UPDATE_DATE
) values (
NEW_REFERENCES.UNIT_CD,
NEW_REFERENCES.VERSION_NUMBER,
NEW_REFERENCES.CAL_TYPE,
NEW_REFERENCES.CI_SEQUENCE_NUMBER,
NEW_REFERENCES.ASS_PATTERN_ID,
NEW_REFERENCES.ASS_PATTERN_CD,
NEW_REFERENCES.DESCRIPTION,
NEW_REFERENCES.LOCATION_CD,
NEW_REFERENCES.UNIT_CLASS,
NEW_REFERENCES.UNIT_MODE,
NEW_REFERENCES.DFLT_PATTERN_IND,
NEW_REFERENCES.LOGICAL_DELETE_DT,
NEW_REFERENCES.ACTION_DT,
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_REQUEST_ID,
X_PROGRAM_ID,
X_PROGRAM_APPLICATION_ID,
X_PROGRAM_UPDATE_DATE
);
p_action => 'INSERT',
x_rowid => X_ROWID
);
end INSERT_ROW;
X_LOGICAL_DELETE_DT in DATE,
X_ACTION_DT in DATE
) as
cursor c1 is select
ASS_PATTERN_CD,
DESCRIPTION,
LOCATION_CD,
UNIT_CLASS,
UNIT_MODE,
DFLT_PATTERN_IND,
LOGICAL_DELETE_DT,
ACTION_DT
from IGS_AS_UNTAS_PATTERN_ALL
where ROWID = X_ROWID for update nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
AND ((trunc(tlinfo.LOGICAL_DELETE_DT) = trunc(X_LOGICAL_DELETE_DT))
OR ((tlinfo.LOGICAL_DELETE_DT is null)
AND (X_LOGICAL_DELETE_DT is null)))
AND ((trunc(tlinfo.ACTION_DT) = trunc(X_ACTION_DT))
OR ((tlinfo.ACTION_DT is null)
AND (X_ACTION_DT is null)))
) then
null;
procedure UPDATE_ROW (
X_ROWID in VARCHAR2,
X_UNIT_CD in VARCHAR2,
X_VERSION_NUMBER in NUMBER,
X_CAL_TYPE in VARCHAR2,
X_CI_SEQUENCE_NUMBER in NUMBER,
X_ASS_PATTERN_ID in NUMBER,
X_ASS_PATTERN_CD in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_LOCATION_CD in VARCHAR2,
X_UNIT_CLASS in VARCHAR2,
X_UNIT_MODE in VARCHAR2,
X_DFLT_PATTERN_IND in VARCHAR2,
X_LOGICAL_DELETE_DT in DATE,
X_ACTION_DT in DATE,
X_MODE in VARCHAR2 default 'R'
) 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_action_dt=>X_ACTION_DT,
x_ass_pattern_cd=>X_ASS_PATTERN_CD,
x_ass_pattern_id=>X_ASS_PATTERN_ID,
x_cal_type=>X_CAL_TYPE,
x_ci_sequence_number=>X_CI_SEQUENCE_NUMBER,
x_description=>X_DESCRIPTION,
x_dflt_pattern_ind=>X_DFLT_PATTERN_IND,
x_location_cd=>X_LOCATION_CD,
x_logical_delete_dt=>X_LOGICAL_DELETE_DT,
x_unit_cd=>X_UNIT_CD,
x_unit_class=>X_UNIT_CLASS,
x_unit_mode=>X_UNIT_MODE,
x_version_number=>X_VERSION_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_PROGRAM_UPDATE_DATE := OLD_REFERENCES.PROGRAM_UPDATE_DATE;
X_PROGRAM_UPDATE_DATE := SYSDATE;
update IGS_AS_UNTAS_PATTERN_ALL set
ASS_PATTERN_CD = NEW_REFERENCES.ASS_PATTERN_CD,
DESCRIPTION = NEW_REFERENCES.DESCRIPTION,
LOCATION_CD = NEW_REFERENCES.LOCATION_CD,
UNIT_CLASS = NEW_REFERENCES.UNIT_CLASS,
UNIT_MODE = NEW_REFERENCES.UNIT_MODE,
DFLT_PATTERN_IND = NEW_REFERENCES.DFLT_PATTERN_IND,
LOGICAL_DELETE_DT = NEW_REFERENCES.LOGICAL_DELETE_DT,
ACTION_DT = NEW_REFERENCES.ACTION_DT,
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
where ROWID = X_ROWID;
p_action => 'UPDATE',
x_rowid => X_ROWID
);
end UPDATE_ROW;
X_LOGICAL_DELETE_DT in DATE,
X_ACTION_DT in DATE,
X_MODE in VARCHAR2 default 'R',
X_ORG_ID IN NUMBER
) as
cursor c1 is select rowid from IGS_AS_UNTAS_PATTERN_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 ASS_PATTERN_ID = X_ASS_PATTERN_ID
;
INSERT_ROW (
X_ROWID,
X_UNIT_CD,
X_VERSION_NUMBER,
X_CAL_TYPE,
X_CI_SEQUENCE_NUMBER,
X_ASS_PATTERN_ID,
X_ASS_PATTERN_CD,
X_DESCRIPTION,
X_LOCATION_CD,
X_UNIT_CLASS,
X_UNIT_MODE,
X_DFLT_PATTERN_IND,
X_LOGICAL_DELETE_DT,
X_ACTION_DT,
X_MODE,
X_ORG_ID);
UPDATE_ROW (
X_ROWID,
X_UNIT_CD,
X_VERSION_NUMBER,
X_CAL_TYPE,
X_CI_SEQUENCE_NUMBER,
X_ASS_PATTERN_ID,
X_ASS_PATTERN_CD,
X_DESCRIPTION,
X_LOCATION_CD,
X_UNIT_CLASS,
X_UNIT_MODE,
X_DFLT_PATTERN_IND,
X_LOGICAL_DELETE_DT,
X_ACTION_DT,
X_MODE);
procedure DELETE_ROW (
X_ROWID in VARCHAR2) as
begin
--
Before_DML(
p_action => 'DELETE',
x_rowid => X_ROWID
);
delete from IGS_AS_UNTAS_PATTERN_ALL
where ROWID = X_ROWID;
p_action => 'DELETE',
x_rowid => X_ROWID
);
end DELETE_ROW;