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_PS_DSCP_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 BeforeRowInsertUpdateDelete1(
p_inserting IN BOOLEAN DEFAULT FALSE,
p_updating IN BOOLEAN DEFAULT FALSE,
p_deleting IN BOOLEAN DEFAULT FALSE
) AS
v_message_name VARCHAR2(30);
SELECT Rowid
FROM IGS_PS_DSCP_HIST
WHERE discipline_group_cd = old_references.discipline_group_cd;
-- indicator has been updated from closed to open to
-- verify that the Govt IGS_PS_DSCP group code is not closed.
IF p_inserting OR
(old_references.govt_discipline_group_cd <> new_references.govt_discipline_group_cd) OR
((old_references.closed_ind = 'N') AND
( new_references.closed_ind = 'Y')) THEN
IF IGS_PS_VAL_DI.crsp_val_di_govt_dg (
new_references.govt_discipline_group_cd,
v_message_name) = FALSE THEN
FND_MESSAGE.SET_NAME('IGS',v_message_name);
IGS_PS_DSCP_HIST_PKG.Insert_Row(
X_ROWID => x_rowid,
X_DISCIPLINE_GROUP_CD => old_references.discipline_group_cd,
X_HIST_START_DT => old_references.last_update_date,
X_HIST_END_DT => new_references.last_update_date,
X_HIST_WHO => old_references.last_updated_by,
X_DESCRIPTION => v_description,
X_FUNDING_INDEX_1 => v_funding_index_1,
X_FUNDING_INDEX_2 => v_funding_index_2,
X_FUNDING_INDEX_3 => v_funding_index_3,
X_GOVT_DISCIPLINE_GROUP_CD => v_govt_discipline_group_cd,
X_CLOSED_IND => v_closed_ind,
X_MODE => 'R',
X_ORG_ID => old_references.org_id);
-- Delete IGS_PS_DSCP_HIST records if the IGS_PS_DSCP is deleted.
BEGIN
FOR SPDH_Rec IN SPDH_CUR
Loop
IGS_PS_DSCP_HIST_PKG.Delete_Row(X_ROWID => SPDH_Rec.Rowid);
END BeforeRowInsertUpdateDelete1;
Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
SELECT rowid
FROM IGS_PS_DSCP_ALL
WHERE discipline_group_cd = x_discipline_group_cd
FOR UPDATE NOWAIT;
SELECT rowid
FROM IGS_PS_DSCP_ALL
WHERE govt_discipline_group_cd = x_govt_discipline_group_cd ;
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_discipline_group_cd,
x_description,
x_funding_index_1,
x_funding_index_2,
x_funding_index_3,
x_govt_discipline_group_cd,
x_closed_ind,
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.
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.discipline_group_cd
) 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_DISCIPLINE_GROUP_CD in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_FUNDING_INDEX_1 in NUMBER,
X_FUNDING_INDEX_2 in NUMBER,
X_FUNDING_INDEX_3 in NUMBER,
X_GOVT_DISCIPLINE_GROUP_CD in VARCHAR2,
X_CLOSED_IND in VARCHAR2,
X_MODE in VARCHAR2 default 'R',
x_org_id IN NUMBER
) as
/****************************************************************************
sbaliga 13-feb-2002 Assigned igs_ge_gen_003.get_org_id to x_org_id
in call to before_dml as part of SWCR006 build.
****************************************************************************/
cursor C is select ROWID from IGS_PS_DSCP_ALL
where DISCIPLINE_GROUP_CD = X_DISCIPLINE_GROUP_CD;
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;
Before_DML( p_action => 'INSERT',
x_rowid => X_ROWID,
x_discipline_group_cd => X_DISCIPLINE_GROUP_CD,
x_description => X_DESCRIPTION,
x_funding_index_1 => X_FUNDING_INDEX_1,
x_funding_index_2 => X_FUNDING_INDEX_2,
x_funding_index_3 => X_FUNDING_INDEX_3,
x_govt_discipline_group_cd => X_GOVT_DISCIPLINE_GROUP_CD,
x_closed_ind => NVL(X_CLOSED_IND,'N'),
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_PS_DSCP_ALL (
DISCIPLINE_GROUP_CD,
DESCRIPTION,
FUNDING_INDEX_1,
FUNDING_INDEX_2,
FUNDING_INDEX_3,
GOVT_DISCIPLINE_GROUP_CD,
CLOSED_IND,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
ORG_ID
) values (
NEW_REFERENCES.DISCIPLINE_GROUP_CD,
NEW_REFERENCES.DESCRIPTION,
NEW_REFERENCES.FUNDING_INDEX_1,
NEW_REFERENCES.FUNDING_INDEX_2,
NEW_REFERENCES.FUNDING_INDEX_3,
NEW_REFERENCES.GOVT_DISCIPLINE_GROUP_CD,
NEW_REFERENCES.CLOSED_IND,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
NEW_REFERENCES.ORG_ID
);
p_action => 'INSERT',
x_rowid => X_ROWID
);
end INSERT_ROW;
cursor c1 is select
DESCRIPTION,
FUNDING_INDEX_1,
FUNDING_INDEX_2,
FUNDING_INDEX_3,
GOVT_DISCIPLINE_GROUP_CD,
CLOSED_IND,
ORG_ID
from IGS_PS_DSCP_ALL
where ROWID = X_ROWID for update nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_ROWID in VARCHAR2,
X_DISCIPLINE_GROUP_CD in VARCHAR2,
X_DESCRIPTION in VARCHAR2,
X_FUNDING_INDEX_1 in NUMBER,
X_FUNDING_INDEX_2 in NUMBER,
X_FUNDING_INDEX_3 in NUMBER,
X_GOVT_DISCIPLINE_GROUP_CD in VARCHAR2,
X_CLOSED_IND 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;
Before_DML( p_action => 'UPDATE',
x_rowid => X_ROWID,
x_discipline_group_cd => X_DISCIPLINE_GROUP_CD,
x_description => X_DESCRIPTION,
x_funding_index_1 => X_FUNDING_INDEX_1,
x_funding_index_2 => X_FUNDING_INDEX_2,
x_funding_index_3 => X_FUNDING_INDEX_3,
x_govt_discipline_group_cd => X_GOVT_DISCIPLINE_GROUP_CD,
x_closed_ind => X_CLOSED_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_PS_DSCP_ALL set
DESCRIPTION = NEW_REFERENCES.DESCRIPTION,
FUNDING_INDEX_1 = NEW_REFERENCES.FUNDING_INDEX_1,
FUNDING_INDEX_2 = NEW_REFERENCES.FUNDING_INDEX_2,
FUNDING_INDEX_3 = NEW_REFERENCES.FUNDING_INDEX_3,
GOVT_DISCIPLINE_GROUP_CD = NEW_REFERENCES.GOVT_DISCIPLINE_GROUP_CD,
CLOSED_IND = NEW_REFERENCES.CLOSED_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
;
p_action => 'UPDATE',
x_rowid => X_ROWID
);
end UPDATE_ROW;
cursor c1 is select rowid from IGS_PS_DSCP_ALL
where DISCIPLINE_GROUP_CD = X_DISCIPLINE_GROUP_CD
;
INSERT_ROW (
X_ROWID,
X_DISCIPLINE_GROUP_CD,
X_DESCRIPTION,
X_FUNDING_INDEX_1,
X_FUNDING_INDEX_2,
X_FUNDING_INDEX_3,
X_GOVT_DISCIPLINE_GROUP_CD,
X_CLOSED_IND,
X_MODE,
X_ORG_ID);
UPDATE_ROW (
X_ROWID,
X_DISCIPLINE_GROUP_CD,
X_DESCRIPTION,
X_FUNDING_INDEX_1,
X_FUNDING_INDEX_2,
X_FUNDING_INDEX_3,
X_GOVT_DISCIPLINE_GROUP_CD,
X_CLOSED_IND,
X_MODE
);
procedure DELETE_ROW (
X_ROWID in VARCHAR2
) as
begin
Before_DML( p_action => 'DELETE',
x_rowid => X_ROWID
);
delete from IGS_PS_DSCP_ALL
where ROWID = X_ROWID;
p_action => 'DELETE',
x_rowid => X_ROWID
);
end DELETE_ROW;