The following lines contain the word 'select', 'insert', 'update' or 'delete':
p_delete_flag VARCHAR2(1) := 'N';
SELECT parent_flex_value
, child_flex_value_low
, child_flex_value_high
, rowid
FROM GL_REVAL_CHD_RANGES_GT
WHERE flex_value_set_id = c_fv_set_id
ORDER BY parent_flex_value
, NLSSORT(child_flex_value_low, 'NLS_SORT=BINARY')
, NLSSORT(child_flex_value_high, 'NLS_SORT=BINARY');
v_CursorSQL := 'SELECT VAL.'||p_fv_col||' detail_value'||' FROM '
||p_fv_table||' VAL' ||' WHERE VAL.'||p_fv_col
||' BETWEEN :low AND :high';
||p_used_flag||' p_delete_flag='||p_delete_flag
||' v_detail_value='||v_detail_value);
UPDATE GL_REVAL_CHD_RANGES_GT
SET child_flex_value_high = p_old_child_fv_high
WHERE rowid = p_old_rowid;
p_delete_flag := 'N';
IF p_delete_flag = 'Y' THEN
IF g_debug_mode = 'Y' THEN
debug_msg('merge_child_ranges', 'Delete new range as no more detail val');
DELETE FROM GL_REVAL_CHD_RANGES_GT
WHERE rowid = p_rowid;
DELETE FROM GL_REVAL_CHD_RANGES_GT
WHERE rowid = p_rowid;
UPDATE GL_REVAL_CHD_RANGES_GT
SET child_flex_value_high = p_old_child_fv_high
WHERE rowid = p_old_rowid;
DELETE FROM GL_REVAL_CHD_RANGES_GT
WHERE rowid = p_old_rowid;
DELETE FROM GL_REVAL_CHD_RANGES_GT
WHERE rowid = p_rowid;
debug_msg('merge_child_ranges', 'Set p_delete_flag to Y');
p_delete_flag := 'Y';
UPDATE GL_REVAL_CHD_RANGES_GT
SET child_flex_value_high = p_old_child_fv_high
WHERE rowid = p_old_rowid;
DELETE FROM GL_REVAL_CHD_RANGES_GT
WHERE rowid = p_old_rowid;
END IF; -- IF p_delete_flag = 'Y' THEN
UPDATE GL_REVAL_CHD_RANGES_GT
SET child_flex_value_high = p_old_child_fv_high
WHERE rowid = p_old_rowid;
SELECT count(*)
, min(child_flex_value_low)
, max(child_flex_value_high)
INTO rec_count
, min_val
, max_val
FROM GL_REVAL_CHD_RANGES_GT
WHERE flex_value_set_id = fv_set_id
AND parent_flex_value = parent_val;
SELECT nvl(fvt.application_table_name, 'FND_FLEX_VALUES')
, nvl(fvt.value_column_name, 'FLEX_VALUE')
, fvs.validation_type
INTO fv_table
, fv_col
, fv_type
FROM fnd_flex_validation_tables fvt
, fnd_flex_value_sets fvs
WHERE fvs.flex_value_set_id = fv_set_id
AND fvt.flex_value_set_id(+) = fvs.flex_value_set_id;
SELECT /*+ cardinality(er1 10) */ 1
FROM GL_REVAL_EXP_RANGES_GT er1
WHERE EXISTS(
SELECT /*+ no_unnest index(er2) */ 'Overlapping'
FROM gl_reval_exp_ranges_gt er2
WHERE er2.ROWID <> er1.rowid
AND NVL(er2.segment30_low, 'X') <= NVL(er1.segment30_high, 'X')
AND NVL(er2.segment30_high, 'X') >= NVL(er1.segment30_low, 'X')
AND NVL(er2.segment29_low, 'X') <= NVL(er1.segment29_high, 'X')
AND NVL(er2.segment29_high, 'X') >= NVL(er1.segment29_low, 'X')
AND NVL(er2.segment28_low, 'X') <= NVL(er1.segment28_high, 'X')
AND NVL(er2.segment28_high, 'X') >= NVL(er1.segment28_low, 'X')
AND NVL(er2.segment27_low, 'X') <= NVL(er1.segment27_high, 'X')
AND NVL(er2.segment27_high, 'X') >= NVL(er1.segment27_low, 'X')
AND NVL(er2.segment26_low, 'X') <= NVL(er1.segment26_high, 'X')
AND NVL(er2.segment26_high, 'X') >= NVL(er1.segment26_low, 'X')
AND NVL(er2.segment25_low, 'X') <= NVL(er1.segment25_high, 'X')
AND NVL(er2.segment25_high, 'X') >= NVL(er1.segment25_low, 'X')
AND NVL(er2.segment24_low, 'X') <= NVL(er1.segment24_high, 'X')
AND NVL(er2.segment24_high, 'X') >= NVL(er1.segment24_low, 'X')
AND NVL(er2.segment23_low, 'X') <= NVL(er1.segment23_high, 'X')
AND NVL(er2.segment23_high, 'X') >= NVL(er1.segment23_low, 'X')
AND NVL(er2.segment22_low, 'X') <= NVL(er1.segment22_high, 'X')
AND NVL(er2.segment22_high, 'X') >= NVL(er1.segment22_low, 'X')
AND NVL(er2.segment21_low, 'X') <= NVL(er1.segment21_high, 'X')
AND NVL(er2.segment21_high, 'X') >= NVL(er1.segment21_low, 'X')
AND NVL(er2.segment20_low, 'X') <= NVL(er1.segment20_high, 'X')
AND NVL(er2.segment20_high, 'X') >= NVL(er1.segment20_low, 'X')
AND NVL(er2.segment19_low, 'X') <= NVL(er1.segment19_high, 'X')
AND NVL(er2.segment19_high, 'X') >= NVL(er1.segment19_low, 'X')
AND NVL(er2.segment18_low, 'X') <= NVL(er1.segment18_low, 'X')
AND NVL(er2.segment18_high, 'X') >= NVL(er1.segment18_low, 'X')
AND NVL(er2.segment17_low, 'X') <= NVL(er1.segment17_high, 'X')
AND NVL(er2.segment17_high, 'X') >= NVL(er1.segment17_low, 'X')
AND NVL(er2.segment16_low, 'X') <= NVL(er1.segment16_high, 'X')
AND NVL(er2.segment16_high, 'X') >= NVL(er1.segment16_low, 'X')
AND NVL(er2.segment15_low, 'X') <= NVL(er1.segment15_high, 'X')
AND NVL(er2.segment15_high, 'X') >= NVL(er1.segment15_low, 'X')
AND NVL(er2.segment14_low, 'X') <= NVL(er1.segment14_high, 'X')
AND NVL(er2.segment14_high, 'X') >= NVL(er1.segment14_low, 'X')
AND NVL(er2.segment13_low, 'X') <= NVL(er1.segment13_high, 'X')
AND NVL(er2.segment13_high, 'X') >= NVL(er1.segment13_low, 'X')
AND NVL(er2.segment12_low, 'X') <= NVL(er1.segment12_high, 'X')
AND NVL(er2.segment12_high, 'X') >= NVL(er1.segment12_low, 'X')
AND NVL(er2.segment11_low, 'X') <= NVL(er1.segment11_high, 'X')
AND NVL(er2.segment11_high, 'X') >= NVL(er1.segment11_low, 'X')
AND NVL(er2.segment10_low, 'X') <= NVL(er1.segment10_high, 'X')
AND NVL(er2.segment10_high, 'X') >= NVL(er1.segment10_low, 'X')
AND NVL(er2.segment9_low, 'X') <= NVL(er1.segment9_high, 'X')
AND NVL(er2.segment9_high, 'X') >= NVL(er1.segment9_low, 'X')
AND NVL(er2.segment8_low, 'X') <= NVL(er1.segment8_high, 'X')
AND NVL(er2.segment8_high, 'X') >= NVL(er1.segment8_low, 'X')
AND NVL(er2.segment7_low, 'X') <= NVL(er1.segment7_high, 'X')
AND NVL(er2.segment7_high, 'X') >= NVL(er1.segment7_low, 'X')
AND NVL(er2.segment6_low, 'X') <= NVL(er1.segment6_high, 'X')
AND NVL(er2.segment6_high, 'X') >= NVL(er1.segment6_low, 'X')
AND NVL(er2.segment5_low, 'X') <= NVL(er1.segment5_high, 'X')
AND NVL(er2.segment5_high, 'X') >= NVL(er1.segment5_low, 'X')
AND NVL(er2.segment4_low, 'X') <= NVL(er1.segment4_high, 'X')
AND NVL(er2.segment4_high, 'X') >= NVL(er1.segment4_low, 'X')
AND NVL(er2.segment3_low, 'X') <= NVL(er1.segment3_high, 'X')
AND NVL(er2.segment3_high, 'X') >= NVL(er1.segment3_low, 'X')
AND NVL(er2.segment2_low, 'X') <= NVL(er1.segment2_high, 'X')
AND NVL(er2.segment2_high, 'X') >= NVL(er1.segment2_low, 'X')
AND NVL(er2.segment1_low, 'X') <= NVL(er1.segment1_high, 'X')
AND NVL(er2.segment1_high, 'X') >= NVL(er1.segment1_low, 'X'))
and rownum = 1;