The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE update_idc(p_appl_short_name IN VARCHAR2,
p_id_flex_code IN VARCHAR2,
p_id_flex_num IN NUMBER,
p_ccid IN NUMBER,
p_delimiter IN VARCHAR2,
p_newline_comb IN VARCHAR2,
p_is_valid IN BOOLEAN)
IS
l_enc_err_msg VARCHAR2(2000) := NULL;
END update_idc;
SELECT s.concatenated_segment_delimiter
INTO delim
FROM fnd_id_flex_structures s, fnd_application a
WHERE s.application_id = a.application_id
AND s.id_flex_code = key_flex_code
AND s.id_flex_num = structure_number
AND a.application_short_name = get_delimiter.application_short_name;
/* Select from combination table.
* No qualifiers, no extra columns, no where clause.
* It is supposed to return seg_ids but since we ensured that they
* are values no need to convert from id to value.
* data_set is the structure_number.
*
* Only problem:
* find_combination returns stored_values not displayed_values
* However conversion to displayed values requires calling
* validate_structure and we are trying to get rid of it.
* Since we are guaranteed that flexfield doesn't use id value sets
* this is not a problem at all. Only non-id value sets which have
* displayed and stored value different are standard date v.sets.
* For now, since client implements them as id-value sets they are
* not problem here at all.
*/
ccid := combination_id;
update_idc(application_short_name,
key_flex_code,
structure_number,
combination_id,
delim,
l_newline_comb,
TRUE);
update_idc(application_short_name,
key_flex_code,
structure_number,
combination_id,
delim,
l_newline_comb,
FALSE);
/* If combination doesn't exist, inserts combination, even if dynamic */
/* insert is disabled */
/* Returns TRUE if combination valid, or FALSE and sets error message */
/* on server using FND_MESSAGE if invalid. */
/* ------------------------------------------------------------------------ */
FUNCTION get_comb_id_allow_insert(application_short_name IN VARCHAR2,
key_flex_code IN VARCHAR2,
structure_number IN NUMBER,
validation_date IN DATE,
n_segments IN NUMBER,
segments IN SegmentArray,
combination_id OUT nocopy NUMBER,
data_set IN NUMBER DEFAULT -1)
RETURN BOOLEAN IS
sepchar VARCHAR2(1);
END get_comb_id_allow_insert;
SELECT g.display_flag
FROM fnd_id_flex_segments g
WHERE g.application_id = keystruct.application_id
AND g.id_flex_code = keystruct.id_flex_code
AND g.id_flex_num = keystruct.id_flex_num
AND g.enabled_flag = 'Y'
ORDER BY g.segment_num;
SELECT allow_id_valuesets INTO temp
FROM fnd_id_flexs idf, fnd_application a
WHERE a.application_short_name = i_application_short_name
AND a.application_id = idf.application_id
AND idf.id_flex_code = i_id_flex_code;