The following lines contain the word 'select', 'insert', 'update' or 'delete':
Delete from IGS_RU_LOV table
*/
DECLARE
e_resource_busy EXCEPTION;
Cursor to lock records for delete
*/
CURSOR c_rlov_delete IS
SELECT rlov.rowid
FROM IGS_RU_LOV rlov
WHERE rlov.sequence_number = p_sequence_number
FOR UPDATE OF rlov.sequence_number NOWAIT;
FOR v_rlov_delete_rec IN c_rlov_delete LOOP
/*
Delete current record
*/
IGS_RU_LOV_PKG.Delete_Row(
X_ROWID => v_rlov_delete_rec.rowid
);
ecord successfully deleted.
*/
RETURN TRUE;
IF (c_rlov_delete%ISOPEN) THEN
CLOSE c_rlov_delete;
IF (c_rlov_delete%ISOPEN) THEN
CLOSE c_rlov_delete;
cascade delete IGS_RU_RULE items
*/
PROCEDURE delete_rule_items(
p_rule_number IN IGS_RU_RULE.sequence_number%TYPE,
p_item IN IGS_RU_ITEM.item%TYPE)
IS
CURSOR Cur_Item_Del( r_item IGS_RU_ITEM.item%TYPE) IS
SELECT rowid
FROM IGS_RU_ITEM
WHERE rul_sequence_number = p_rule_number
AND item = r_item;
SELECT rowid
FROM IGS_RU_RULE
WHERE sequence_number = r_rule_number;
SELECT rowid
FROM IGS_RU_SET_MEMBER
WHERE rs_sequence_number = r_set_number;
SELECT rowid
FROM IGS_RU_SET
WHERE sequence_number = r_set_number;
SELECT item,
rule_number,
set_number
FROM IGS_RU_ITEM
WHERE rul_sequence_number = p_rule_number
AND item >= p_item )
LOOP
for item_rec in Cur_Item_Del(rule_items.item) loop
IGS_RU_ITEM_PKG.DELETE_ROW(
X_ROWID => item_rec.rowid
);
delete_rule_items(rule_items.rule_number,0);
IGS_RU_RULE_PKG.DELETE_ROW(
X_ROWID => rule_rec.rowid
);
IGS_RU_SET_MEMBER_PKG.DELETE_ROW(
X_ROWID => set_mem_rec.rowid
);
IGS_RU_SET_PKG.DELETE_ROW(
X_ROWID => set_rec.rowid
);
END delete_rule_items;
delete_rule_items(p_rule_number,0);
SELECT *
FROM IGS_PS_UNIT_RU ur
WHERE ur.unit_cd = cp_unit_cd AND
ur.s_rule_call_cd = cp_s_rule_call_cd;
SELECT rowid
FROM IGS_PS_UNIT_RU
WHERE unit_cd = r_unit_cd AND
s_rule_call_cd = r_s_rule_call_cd;
SELECT rowid
FROM IGS_RU_RULE
WHERE sequence_number = r_sequence_number;
- This module deletes a IGS_PS_UNIT_RU and associated IGS_RU_RULE.
*/
OPEN c_unit_rule(p_unit_cd,
p_s_rule_call_cd);
if so, the record can be deleted.
*/
IF (c_unit_rule%FOUND) THEN
/*
Delete IGS_PS_UNIT_RU
*/
for unit_ru_rec in Cur_Unit_Ru_Del(v_ur_rec.unit_cd, v_ur_rec.s_rule_call_cd) loop
IGS_PS_UNIT_RU_PKG.DELETE_ROW(
X_ROWID => unit_ru_rec.rowid
);
Delete associated IGS_RU_RULE
*/
for rule_rec in Cur_Rule_Del( v_ur_rec.rul_sequence_number) loop
IGS_RU_RULE_PKG.DELETE_ROW(
X_ROWID => rule_rec.rowid
);
SELECT s_return_type
INTO v_return_type
FROM IGS_RU_DESCRIPTION
WHERE sequence_number = p_rud_sequence_number;
SELECT select_group,
s_return_type
FROM IGS_RU_CALL,
IGS_RU_DESCRIPTION
WHERE s_rule_call_cd = p_rule_call_cd
AND sequence_number = rud_sequence_number;
v_select_group IGS_RU_CALL.select_group%TYPE;
get select group and return type
*/
OPEN c_get_rule_dtls( p_rule_call_cd);
FETCH c_get_rule_dtls INTO v_select_group, v_return_type;
IF IGS_RU_GEN_002.rulp_ins_parser(v_select_group,
v_return_type,
'',
v_rule,
v_unprocessed,
TRUE,
v_rule_number,
v_lov_number) THEN
RETURN v_rule_number;