The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT s.segment_name
INTO l_segment_name
FROM fnd_id_flex_segments s,
fnd_segment_attribute_values sav,
fnd_segment_attribute_types sat
WHERE s.application_id = p_application_id
AND s.id_flex_code = p_id_flex_code
AND s.id_flex_num = p_id_flex_num
AND s.enabled_flag = 'Y'
AND s.application_column_name = sav.application_column_name
AND sav.application_id = p_application_id
AND sav.id_flex_code = p_id_flex_code
AND sav.id_flex_num = p_id_flex_num
AND sav.attribute_value = 'Y'
AND sav.segment_attribute_type = sat.segment_attribute_type
AND sat.application_id = p_application_id
AND sat.id_flex_code = p_id_flex_code
AND sat.segment_attribute_type = p_segment_identifier;
SELECT segment_num
INTO l_segment_num
FROM fnd_id_flex_segments
WHERE application_id = p_application_id
AND id_flex_code = p_id_flex_code
AND id_flex_num = p_id_flex_num
AND segment_name = l_segment_name
AND enabled_flag = 'Y';
SELECT count(segment_num)
INTO l_segment_index
FROM fnd_id_flex_segments
WHERE application_id = p_application_id
AND id_flex_code = p_id_flex_code
AND id_flex_num = p_id_flex_num
AND enabled_flag = 'Y'
AND segment_num <= l_segment_num;
SELECT required_flag
FROM fnd_id_flex_segments
WHERE application_id = p_application_id
AND id_flex_code = p_id_flex_code
AND id_flex_num = p_id_flex_num
AND enabled_flag = 'Y'
ORDER BY segment_num;
l_insert_if_new BOOLEAN;
l_dinserts_ok BOOLEAN;
l_insert_if_new := char_to_bool(wf_engine.GetItemAttrText
(itemtype, itemkey,
'FND_FLEX_INSERT'));
l_dinserts_ok := char_to_bool(wf_engine.GetActivityAttrText
(itemtype, itemkey, actid,
'DYNAMIC_INSERTS_ALLOWED'));
debug('INSERT IF NEW COMBINATION = ' || bool_to_char(l_insert_if_new));
debug('DYNAMIC_INSERTS_ALLOWED = ' || bool_to_char(l_dinserts_ok));
IF (NOT l_dinserts_ok) THEN
l_keyval_mode := 'FIND_COMBINATION';
IF (l_insert_if_new) THEN
l_keyval_mode := 'CREATE_COMBINATION';