The following lines contain the word 'select', 'insert', 'update' or 'delete':
Insert, lock and delete records in the CSF_PLAN_TERRS table.
Check uniqueness of columns PLAN_TERR_ID and TERR_ID/GROUP_ID combinations.
Check referential integrity of the TERR_ID and GROUP_ID columns.
History
-------
06-JAN-2000 ipels - First creation
26-SEP-2000 ipels - Fixed bug# 1413810
13-NOV-2002 jgrondel Bug 2663989.
Added NOCOPY hint to procedure
out-parameters.
13-NOV-2002 jgrondel Added dbdrv.
03-dec-2002 jgrondel Bug 2692082.
Added NOCOPY hint to procedure
out-parameters.
30-Nov-2004 vrajeev Bug Fixed 3224947
Changed code in Delete_Row
+========================================================================+
*/
PROCEDURE Check_Unique
( p_rowid IN VARCHAR2,
p_terr_id IN NUMBER,
p_group_id IN NUMBER
)
IS
CURSOR c_unique IS
SELECT NULL
FROM csf_plan_terrs
WHERE ( p_rowid IS NULL OR rowid <> p_rowid )
AND terr_id = p_terr_id
AND group_id = p_group_id;
SELECT NULL
FROM jtf_terr_all
WHERE terr_id = p_terr_id;
SELECT NULL
FROM jtf_rs_groups_b
WHERE group_id = p_group_id;
PROCEDURE Insert_Row
( x_rowid IN OUT NOCOPY VARCHAR2,
p_terr_id IN NUMBER,
p_group_id IN NUMBER
)
IS
l_plan_terr_id NUMBER;
l_last_update_date DATE ;
l_last_updated_by NUMBER ;
l_last_update_login NUMBER ;
SELECT rowid
FROM csf_plan_terrs
WHERE plan_terr_id = l_plan_terr_id;
l_last_update_date := SYSDATE;
l_last_updated_by := FND_GLOBAL.User_Id;
l_last_update_login := FND_GLOBAL.Login_Id;
SELECT CSF_PLAN_TERRS_S.NEXTVAL
INTO l_plan_terr_id
FROM dual;
INSERT INTO csf_plan_terrs
( plan_terr_id ,
last_update_date ,
last_updated_by ,
creation_date ,
created_by ,
last_update_login ,
object_version_number ,
terr_id ,
group_id
)
VALUES
( l_plan_terr_id ,
l_last_update_date ,
l_last_updated_by ,
l_creation_date ,
l_created_by ,
l_last_update_login ,
l_object_version_number ,
p_terr_id ,
p_group_id
);
END Insert_Row;
PROCEDURE Delete_Row
( p_rowid IN VARCHAR2
)
IS
l_selected_terr varchar2(4000);
CURSOR c_deleted_terr is
SELECT terr_id
FROM csf_plan_terrs
WHERE rowid = p_rowid;
OPEN c_deleted_terr;
FETCH c_deleted_terr INTO l_del_terr;
IF (c_deleted_terr%NOTFOUND) THEN
CLOSE c_deleted_terr;
CLOSE c_deleted_terr;
l_selected_terr := csf_util_pvt.get_selected_terr(fnd_global.user_id);
if l_selected_terr is not null
then
l_selected_terr := replace(l_selected_terr, l_del_terr);
l_selected_terr := replace(l_selected_terr,',,',',');
l_selected_terr := ltrim(l_selected_terr,',');
l_selected_terr := rtrim(l_selected_terr,',');
csf_util_pvt.set_selected_terr( l_selected_terr, fnd_global.user_id );
DELETE FROM csf_plan_terrs
WHERE rowid = p_rowid;
END Delete_Row;
SELECT object_version_number
FROM csf_plan_terrs
WHERE rowid = p_rowid
FOR UPDATE NOWAIT;
FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');