The following lines contain the word 'select', 'insert', 'update' or 'delete':
-- records it is based on, are logically deleted.
DECLARE
CURSOR c_er IS
SELECT 'x'
FROM IGS_FI_ELM_RANGE er
WHERE er.fee_type = p_fee_type AND
er.fee_cal_type = p_fee_cal_type AND
er.fee_ci_sequence_number = p_fee_ci_sequence_number AND
er.s_relation_type = p_s_relation_type AND
NVL(er.fee_cat, 'NULL') = NVL(p_fee_cat, 'NULL') AND
er.range_number = p_range_number AND
er.logical_delete_dt IS NOT NULL;
SELECT 'x'
FROM IGS_FI_FEE_AS_RATE far
WHERE far.fee_type = p_fee_type AND
far.fee_cal_type = p_fee_cal_type AND
far.fee_ci_sequence_number = p_fee_ci_sequence_number AND
far.s_relation_type = p_s_relation_type AND
NVL(far.fee_cat, 'NULL') = NVL(p_fee_cat, 'NULL') AND
far.rate_number = p_rate_number AND
far.logical_delete_dt IS NOT NULL;
-- 2. Check that the parent IGS_FI_ELM_RANGE record is not logically deleted
OPEN c_er;
-- 3. Check that the parent IGS_FI_FEE_AS_RATE record is not logically deleted
OPEN c_far;
SELECT 'x'
FROM IGS_FI_ELM_RANGE_RT err
WHERE err.fee_type = p_fee_type AND
err.fee_cal_type = p_fee_cal_type AND
err.fee_ci_sequence_number = p_fee_ci_sequence_number AND
err.s_relation_type = p_s_relation_type AND
NVL(err.fee_cat, 'NULL')= NVL(p_fee_cat, 'NULL')AND
err.range_number = p_range_number AND
err.rate_number = p_rate_number AND
err.create_dt <> p_create_dt AND
err.logical_delete_dt IS NULL;
SELECT far.rate_number
FROM IGS_FI_FEE_AS_RATE far
WHERE far.fee_type = p_fee_type AND
far.fee_cal_type = p_fee_cal_type AND
far.fee_ci_sequence_number = p_fee_ci_sequence_number AND
far.s_relation_type = p_s_relation_type AND
far.rate_number = p_rate_number AND
far.logical_delete_dt IS NULL;