The following lines contain the word 'select', 'insert', 'update' or 'delete':
ERROR_UNABLE_TO_INSERT_ROW constant number := -20025;
FUNCTION last_update_date_f RETURN DATE IS
BEGIN
RETURN creation_date_f;
FUNCTION last_updated_by_f RETURN NUMBER IS
BEGIN
RETURN created_by_f;
FUNCTION last_update_login_f RETURN NUMBER IS
BEGIN
RETURN 0;
PROCEDURE pre_insert(flex_value_set_id IN NUMBER,
summary_allowed_flag IN VARCHAR2,
id_column_name IN VARCHAR2,
application_table_name IN VARCHAR2,
table_application_id IN NUMBER,
enabled_column_name OUT nocopy VARCHAR2,
hierarchy_level_column_name OUT nocopy VARCHAR2,
start_date_column_name OUT nocopy VARCHAR2,
end_date_column_name OUT nocopy VARCHAR2,
summary_column_name OUT nocopy VARCHAR2,
compiled_attribute_column_name OUT nocopy VARCHAR2)
IS
BEGIN
IF((summary_allowed_flag = 'Y') AND (id_column_name IS NOT NULL)) THEN
message('allow summary values must be N to specify id column names');
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
column_name INTO hierarchy_level_column_name
FROM fnd_columns c, fnd_tables t
WHERE c.column_name = 'STRUCTURED_HIERARCHY_LEVEL'
AND t.table_name = application_table_name
AND t.application_id= table_application_id
AND t.table_id = c.table_id
AND t.application_id = c.application_id
GROUP BY column_name;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
column_name INTO enabled_column_name
FROM fnd_columns c, fnd_tables t
WHERE c.column_name = 'ENABLED_FLAG'
AND c.column_type IN ('C', 'V')
AND t.table_name = application_table_name
AND t.application_id= table_application_id
AND t.table_id = c.table_id
AND t.application_id = c.application_id
GROUP BY column_name;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
column_name INTO start_date_column_name
FROM fnd_columns c, fnd_tables t
WHERE c.column_name = 'START_DATE_ACTIVE'
AND t.table_name = application_table_name
AND t.application_id= table_application_id
AND t.table_id = c.table_id
AND t.application_id = c.application_id
GROUP BY column_name;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
column_name INTO end_date_column_name
FROM fnd_columns c, fnd_tables t
WHERE c.column_name = 'END_DATE_ACTIVE'
AND t.table_name = application_table_name
AND t.application_id= table_application_id
AND t.table_id = c.table_id
AND t.application_id = c.application_id
GROUP BY column_name;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
column_name INTO summary_column_name
FROM fnd_columns c, fnd_tables t
WHERE c.column_name = 'SUMMARY_FLAG'
AND t.table_name = application_table_name
AND t.application_id= table_application_id
AND t.table_id = c.table_id
AND t.application_id = c.application_id
GROUP BY column_name;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
column_name INTO compiled_attribute_column_name
FROM fnd_columns c, fnd_tables t
WHERE c.column_name = 'COMPILED_VALUE_ATTRIBUTES'
AND t.table_name = application_table_name
AND t.application_id= table_application_id
AND t.table_id = c.table_id
AND t.application_id = c.application_id
GROUP BY column_name;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
application_id
INTO application_id_ret
FROM fnd_application
WHERE application_short_name = application_short_name_in;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
application_id
INTO application_id_ret
FROM fnd_application_tl
WHERE application_name = application_name_in
AND rownum =1;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
flex_value_set_id
INTO value_set_id_i
FROM fnd_flex_value_sets
WHERE flex_value_set_name = value_set_name_in;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
NULL INTO dummy
FROM fnd_tables t, fnd_lookup_values l, fnd_columns c
WHERE t.application_id = table_application_id_in
AND t.table_name = application_table_name_in
AND c.application_id = t.application_id
AND c.column_name = column_name_in
AND c.table_id = t.table_id
AND l.lookup_type = 'COLUMN_TYPE'
AND c.column_type = l.lookup_code
AND rownum = 1;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
column_type
INTO column_type_i
FROM fnd_tables t, fnd_lookup_values l, fnd_columns c
WHERE t.application_id = table_application_id_in
AND t.table_name = application_table_name_in
AND c.application_id = t.application_id
AND c.table_id = t.table_id
AND c.column_name = column_name_in
AND l.lookup_type = 'COLUMN_TYPE'
AND l.lookup_code = c.column_type
AND rownum = 1;
/* insertion functions */
/* ------------------------------------------------------------ */
FUNCTION insert_flex_value_sets(
/* basic parameters */
value_set_name IN varchar2,
description IN varchar2,
security_enabled_flag IN varchar2,
longlist_flag IN varchar2,
format_type IN varchar2,
maximum_size IN number,
number_precision IN number,
alphanumeric_allowed_flag IN varchar2,
uppercase_only_flag IN varchar2,
numeric_mode_enabled_flag IN varchar2,
minimum_value IN varchar2,
maximum_value IN varchar2,
validation_type IN varchar2,
/* when creating a dependent value set: */
dependent_default_value IN varchar2 DEFAULT null,
dependent_default_meaning IN varchar2 DEFAULT null,
parent_flex_value_set_id IN number DEFAULT NULL)
RETURN number
IS
last_update_login fnd_flex_value_sets.last_update_login%TYPE;
last_update_date fnd_flex_value_sets.last_update_date%TYPE;
last_updated_by fnd_flex_value_sets.last_updated_by%TYPE;
last_update_login := last_update_login_f();
last_update_date := last_update_date_f();
last_updated_by := last_updated_by_f();
insert /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
INTO
fnd_flex_value_sets(flex_value_set_id,
flex_value_set_name,
validation_type,
security_enabled_flag,
longlist_flag,
format_type,
maximum_size,
alphanumeric_allowed_flag,
uppercase_only_flag,
numeric_mode_enabled_flag,
description,
minimum_value,
maximum_value,
number_precision,
protected_flag,
last_update_login,
last_update_date,
last_updated_by,
creation_date,
created_by,
dependant_default_value,/* note spelling */
dependant_default_meaning,/* note spelling */
parent_flex_value_set_id)
VALUES(fnd_flex_value_sets_s.nextval,
value_set_name,
validation_type,
security_enabled_flag,
longlist_flag,
format_type,
maximum_size,
alphanumeric_allowed_flag,
uppercase_only_flag,
numeric_mode_enabled_flag,
description,
minimum_value,
maximum_value,
number_precision,
'N',
last_update_login,
last_update_date,
last_updated_by,
creation_date,
created_by,
dependent_default_value,
dependent_default_meaning,
parent_flex_value_set_id);
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_value_sets_s.CURRVAL INTO rv
FROM dual;
message('insert failed - duplicate value set name or id');
message('insert value_sets failed - value too large');
PROCEDURE insert_flex_validation_events(
flex_value_set_id IN NUMBER,
event_code IN varchar2,
user_exit IN clob)
IS
last_update_login fnd_flex_value_sets.last_update_login%TYPE;
last_update_date fnd_flex_value_sets.last_update_date%TYPE;
last_updated_by fnd_flex_value_sets.last_updated_by%TYPE;
last_update_login := last_update_login_f();
last_update_date := last_update_date_f();
last_updated_by := last_updated_by_f();
insert /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
INTO
fnd_flex_validation_events(flex_value_set_id,
event_code,
user_exit,
last_update_login,
last_update_date,
last_updated_by,
creation_date,
created_by)
values(flex_value_set_id,
event_code,
user_exit,
last_update_login,
last_update_date,
last_updated_by,
creation_date,
created_by);
message('insert failed - duplicate value on index');
message('insert validation_events failed - value too large');
PROCEDURE insert_flex_validation_tables(
flex_value_set_id IN number,
application_table_name IN varchar2,
value_column_name IN varchar2,
value_column_type IN varchar2,
value_column_size IN number,
id_column_name IN varchar2,
id_column_type IN varchar2,
id_column_size IN number,
meaning_column_name IN varchar2,
meaning_column_type IN varchar2,
meaning_column_size IN number,
summary_allowed_flag IN varchar2,
table_application_id IN NUMBER,
additional_where_clause IN clob,
additional_quickpick_columns IN VARCHAR2)
IS
last_update_login fnd_flex_value_sets.last_update_login%TYPE;
last_update_date fnd_flex_value_sets.last_update_date%TYPE;
last_updated_by fnd_flex_value_sets.last_updated_by%TYPE;
last_update_login := last_update_login_f();
last_update_date := last_update_date_f();
last_updated_by := last_updated_by_f();
pre_insert(
flex_value_set_id => flex_value_set_id,
summary_allowed_flag => summary_allowed_flag,
id_column_name => id_column_name,
application_table_name => application_table_name,
table_application_id => table_application_id,
enabled_column_name => enabled_column_name,
hierarchy_level_column_name => hierarchy_level_column_name,
start_date_column_name => start_date_column_name,
end_date_column_name => end_date_column_name,
summary_column_name => summary_column_name,
compiled_attribute_column_name => compiled_attribute_column_name);
INSERT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
INTO
fnd_flex_validation_tables(flex_value_set_id,
application_table_name,
value_column_name,
value_column_type,
value_column_size,
id_column_name,
id_column_type,
id_column_size,
meaning_column_name,
meaning_column_type,
meaning_column_size,
summary_allowed_flag,
table_application_id,
additional_where_clause,
additional_quickpick_columns,
compiled_attribute_column_name,
enabled_column_name,
hierarchy_level_column_name,
start_date_column_name,
end_date_column_name,
summary_column_name,
last_update_login,
last_update_date,
last_updated_by,
creation_date,
created_by)
VALUES(flex_value_set_id,
application_table_name,
value_column_name,
value_column_type,
value_column_size,
id_column_name,
id_column_type,
id_column_size,
meaning_column_name,
meaning_column_type,
meaning_column_size,
summary_allowed_flag,
table_application_id,
additional_where_clause,
additional_quickpick_columns,
compiled_attribute_column_name,
enabled_column_name,
hierarchy_level_column_name,
start_date_column_name,
end_date_column_name,
summary_column_name,
last_update_login,
last_update_date,
last_updated_by,
creation_date,
created_by);
message('insert failed - duplicate value on index');
message('insert validation_tables failed - value too large');
value_set_id := insert_flex_value_sets(
value_set_name => value_set_name,
description => description,
security_enabled_flag => security_available,
longlist_flag => enable_longlist,
format_type => format_code,
maximum_size => maximum_size,
number_precision => precision,
alphanumeric_allowed_flag => alphanumeric_allowed,
uppercase_only_flag => uppercase_only,
numeric_mode_enabled_flag => right_justify_zero_fill,
minimum_value => min_value,
maximum_value => max_value,
validation_type => validation_type);
value_set_id := insert_flex_value_sets(
value_set_name => value_set_name,
description => description,
security_enabled_flag => security_available,
longlist_flag => enable_longlist,
format_type => format_code,
maximum_size => maximum_size,
number_precision => precision,
alphanumeric_allowed_flag => alphanumeric_allowed,
uppercase_only_flag => uppercase_only,
numeric_mode_enabled_flag => right_justify_zero_fill,
minimum_value => min_value,
maximum_value => max_value,
validation_type => validation_type);
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
flex_value_set_id INTO parent_id
FROM fnd_flex_value_sets
WHERE flex_value_set_name = parent_flex_value_set;
value_set_id := insert_flex_value_sets(
value_set_name => value_set_name,
description => description,
security_enabled_flag => security_available,
longlist_flag => enable_longlist,
format_type => format_code,
maximum_size => maximum_size,
number_precision => precision,
alphanumeric_allowed_flag => alphanumeric_allowed,
uppercase_only_flag => uppercase_only,
numeric_mode_enabled_flag => right_justify_zero_fill,
minimum_value => min_value,
maximum_value => max_value,
validation_type => validation_type,
dependent_default_value => dependent_default_value,
dependent_default_meaning => dependent_default_meaning,
parent_flex_value_set_id => parent_id);
value_set_id := insert_flex_value_sets(
value_set_name => value_set_name,
description => description,
security_enabled_flag => security_available,
longlist_flag => enable_longlist,
format_type => format_code,
maximum_size => maximum_size,
number_precision => precision,
alphanumeric_allowed_flag => alphanumeric_allowed,
uppercase_only_flag => uppercase_only,
numeric_mode_enabled_flag => right_justify_zero_fill,
minimum_value => min_value,
maximum_value => max_value,
validation_type => validation_type);
insert_flex_validation_tables(
flex_value_set_id => value_set_id,
application_table_name => table_name,
value_column_name => value_column_name,
value_column_type => value_column_type_code,
value_column_size => value_column_size,
id_column_name => id_column_name,
id_column_type => id_column_type_code,
id_column_size => id_column_size,
meaning_column_name => meaning_column_name,
meaning_column_type => meaning_column_type_code,
meaning_column_size => meaning_column_size,
summary_allowed_flag => allow_parent_values,
table_application_id => table_application_id_i,
additional_where_clause => where_order_by,
additional_quickpick_columns => additional_columns);
value_set_id := insert_flex_value_sets(
value_set_name => value_set_name,
description => description,
security_enabled_flag => security_available,
longlist_flag => enable_longlist,
format_type => format_code,
maximum_size => maximum_size,
number_precision => precision,
alphanumeric_allowed_flag => alphanumeric_allowed,
uppercase_only_flag => uppercase_only,
numeric_mode_enabled_flag => right_justify_zero_fill,
minimum_value => min_value,
maximum_value => max_value,
validation_type => validation_type);
value_set_id := insert_flex_value_sets(
value_set_name => value_set_name,
description => description,
security_enabled_flag => security_available,
longlist_flag => enable_longlist,
format_type => format_code,
maximum_size => maximum_size,
number_precision => precision,
alphanumeric_allowed_flag => alphanumeric_allowed,
uppercase_only_flag => uppercase_only,
numeric_mode_enabled_flag => right_justify_zero_fill,
minimum_value => min_value,
maximum_value => max_value,
validation_type => validation_type);
insert_flex_validation_events(flex_value_set_id => value_set_id,
event_code => event_code,
user_exit => function_text);
PROCEDURE private_delete_valueset(p_value_set IN VARCHAR2,
p_force_delete IN BOOLEAN DEFAULT FALSE)
IS
l_value_set_id NUMBER(10);
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
flex_value_set_id
INTO l_value_set_id
FROM fnd_flex_value_sets
WHERE flex_value_set_name = p_value_set;
message('delete aborted');
IF (p_force_delete) THEN
GOTO label_start_delete;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
count(*) INTO l_row_count
FROM fnd_flex_value_sets
WHERE validation_type = fnd_flex_types.val_dependent
AND parent_flex_value_set_id = l_value_set_id;
message('You cannot delete independent value set of an ');
message('independent-dependent value set pair. Delete aborted.');
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
count(*) INTO l_row_count
FROM fnd_id_flex_segments
WHERE flex_value_set_id = l_value_set_id;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
g.application_id || ':' || g.id_flex_code || ':' ||
c.id_flex_structure_name || ':' || g.application_column_name
INTO l_dummy_vc2
FROM fnd_id_flex_segments g, fnd_id_flex_structures_tl c
WHERE g.flex_value_set_id = l_value_set_id
AND c.id_flex_code = g.id_flex_code
AND c.id_flex_num = g.id_flex_num
AND c.application_id = g.application_id
AND ROWNUM = 1;
message('You cannot delete a used value set.');
message('Delete aborted.');
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
count(*) INTO l_row_count
FROM fnd_descr_flex_column_usages
WHERE flex_value_set_id = l_value_set_id;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
application_id || ':' || descriptive_flexfield_name || ':' ||
end_user_column_name
INTO l_dummy_vc2
FROM fnd_descr_flex_column_usages
WHERE flex_value_set_id = l_value_set_id
AND ROWNUM = 1;
message('You cannot delete a used value set.');
message('Delete aborted.');
<>
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_values_tl
WHERE flex_value_id IN
(SELECT flex_value_id FROM fnd_flex_values
WHERE flex_value_set_id = l_value_set_id);
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_values
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_value_rules_tl
WHERE flex_value_rule_id IN
(SELECT flex_value_rule_id FROM fnd_flex_value_rules
WHERE flex_value_set_id = l_value_set_id);
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_value_rules
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_value_rule_lines
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_value_rule_usages
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_hierarchies_TL
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_hierarchies
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_value_hierarchies
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_value_norm_hierarchy
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_validation_tables
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_validation_events
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_validation_qualifiers
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_flex_value_sets
WHERE flex_value_set_id = l_value_set_id;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_descr_flex_contexts
WHERE application_id = 0
AND descriptive_flexfield_name = 'FND_FLEX_VALUES'
AND descriptive_flex_context_code = p_value_set;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_descr_flex_contexts_TL
WHERE application_id = 0
AND descriptive_flexfield_name = 'FND_FLEX_VALUES'
AND descriptive_flex_context_code = p_value_set;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_descr_flex_column_usages
WHERE application_id = 0
AND descriptive_flexfield_name = 'FND_FLEX_VALUES'
AND descriptive_flex_context_code = p_value_set;
DELETE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
FROM fnd_descr_flex_col_usage_TL
WHERE application_id = 0
AND descriptive_flexfield_name = 'FND_FLEX_VALUES'
AND descriptive_flex_context_code = p_value_set;
message('error occured in private_delete_valueset: ' || p_value_set);
END private_delete_valueset;
PROCEDURE delete_valueset(value_set IN VARCHAR2)
IS
BEGIN
message_init;
private_delete_valueset(p_value_set => value_set,
p_force_delete => FALSE);
END delete_valueset;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
flex_value_set_id
INTO old_value_set_id
FROM fnd_flex_value_sets
WHERE flex_value_set_name = old_value_set;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
flex_value_set_id
INTO new_value_set_id
FROM fnd_flex_value_sets
WHERE flex_value_set_name = new_value_set;
/* delete the old value set, and all associated entries */
BEGIN
private_delete_valueset(p_value_set => old_value_set,
p_force_delete => TRUE);
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_value_sets SET
flex_value_set_id = old_value_set_id,
flex_value_set_name = old_value_set
WHERE flex_value_set_id = new_value_set_id;
/* update fk references */
BEGIN
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_validation_tables SET
flex_value_set_id = old_value_set_id
WHERE flex_value_set_id = new_value_set_id;
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_validation_events SET
flex_value_set_id = old_value_set_id
WHERE flex_value_set_id = new_value_set_id;
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_value_sets SET
parent_flex_value_set_id = old_value_set_id
WHERE parent_flex_value_set_id = new_value_set_id;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
COUNT(*)
INTO cnt
FROM fnd_flex_value_sets
WHERE flex_value_set_name = value_set;
PROCEDURE update_maxsize(
value_set_name IN VARCHAR2,
maxsize IN fnd_flex_value_sets.maximum_size%TYPE)
IS
last_update_login_i fnd_flex_value_sets.last_update_login%TYPE;
last_update_date_i fnd_flex_value_sets.last_update_date%TYPE;
last_updated_by_i fnd_flex_value_sets.last_updated_by%TYPE;
last_update_login_i := last_update_login_f();
last_update_date_i := last_update_date_f();
last_updated_by_i := last_updated_by_f();
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
*
INTO valueset_r
FROM fnd_flex_value_sets
WHERE flex_value_set_name = value_set_name;
println('about to do update');
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_value_sets SET
maximum_size = valueset_r.maximum_size,
number_precision = valueset_r.number_precision,
last_update_date = last_update_date_i,
last_updated_by = last_updated_by_i,
last_update_login = last_update_login_i
WHERE flex_value_set_id = valueset_r.flex_value_set_id;
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_value_sets SET
maximum_size = valueset_r.maximum_size,
number_precision = valueset_r.number_precision
WHERE flex_value_set_id = valueset_r.flex_value_set_id;
message('error occured in update_maxsize while processing value set ' ||
value_set_name);
END update_maxsize;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
*
INTO table_r
FROM fnd_flex_validation_tables
WHERE flex_value_set_id = valueset_r.flex_value_set_id;
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_validation_tables SET
value_column_size = valueset_r.maximum_size
WHERE flex_value_set_id = valueset_r.flex_value_set_id;
PROCEDURE update_table_sizes(
value_set_name IN VARCHAR2,
id_size IN fnd_flex_validation_tables.id_column_size%TYPE
DEFAULT NULL,
value_size IN fnd_flex_validation_tables.value_column_size%TYPE
DEFAULT NULL,
meaning_size IN fnd_flex_validation_tables.meaning_column_size%TYPE
DEFAULT NULL)
IS
last_update_login_i fnd_flex_value_sets.last_update_login%TYPE;
last_update_date_i fnd_flex_value_sets.last_update_date%TYPE;
last_updated_by_i fnd_flex_value_sets.last_updated_by%TYPE;
last_update_login_i := last_update_login_f();
last_update_date_i := last_update_date_f();
last_updated_by_i := last_updated_by_f();
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
*
INTO valueset_r
FROM fnd_flex_value_sets
WHERE flex_value_set_name = value_set_name;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
*
INTO table_r
FROM fnd_flex_validation_tables
WHERE flex_value_set_id = valueset_r.flex_value_set_id;
update_maxsize(value_set_name, value_size);
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_validation_tables SET
id_column_size = table_r.id_column_size,
-- value_column_size = table_r.value_column_size,
meaning_column_size = table_r.meaning_column_size,
last_update_date = last_update_date_i,
last_updated_by = last_updated_by_i,
last_update_login = last_update_login_i
WHERE flex_value_set_id = table_r.flex_value_set_id;
UPDATE /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fnd_flex_validation_tables SET
id_column_size = table_r.id_column_size,
-- value_column_size = table_r.value_column_size,
meaning_column_size = table_r.meaning_column_size
WHERE flex_value_set_id = table_r.flex_value_set_id;
message('error in update_table_sizes: ' || Sqlerrm);
END update_table_sizes;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
width
INTO width_i
FROM fnd_columns c, fnd_tables t
WHERE (t.application_id = table_r.table_application_id
OR table_r.table_application_id IS NULL)
AND t.table_id = c.table_id
AND t.application_id = c.application_id
AND c.column_name = table_r.id_column_name
AND t.table_name = table_r.application_table_name;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
width
INTO width_i
FROM fnd_columns c, fnd_tables t
WHERE (t.application_id = table_r.table_application_id
OR table_r.table_application_id IS NULL)
AND t.table_id = c.table_id
AND t.application_id = c.application_id
AND c.column_name = table_r.meaning_column_name
AND t.table_name = table_r.application_table_name;
PROCEDURE add_to_select(p_inc_col IN VARCHAR2,
p_col_name IN VARCHAR2,
p_map_code IN VARCHAR2,
x_select IN OUT nocopy VARCHAR2,
x_mapping_code IN OUT nocopy VARCHAR2)
IS
BEGIN
x_mapping_code := x_mapping_code || p_map_code;
x_select := x_select || ',' || chr_newline || p_col_name ;
END add_to_select;
PROCEDURE get_valueset_select
(p_validation_type IN VARCHAR2,
p_value_set_name IN fnd_flex_value_sets.flex_value_set_name%TYPE
DEFAULT fnd_api.g_miss_char,
p_value_set_id IN fnd_flex_value_sets.flex_value_set_id%TYPE
DEFAULT fnd_api.g_miss_num,
p_independent_value IN VARCHAR2 DEFAULT NULL,
--
-- Do you want to include these columns in SELECT statement?
-- VALUE column is always included.
-- ID and MEANING columns are included by default.
--
p_inc_id_col IN VARCHAR2 DEFAULT 'Y',
p_inc_meaning_col IN VARCHAR2 DEFAULT 'Y',
p_inc_enabled_col IN VARCHAR2 DEFAULT 'N',
p_inc_start_date_col IN VARCHAR2 DEFAULT 'N',
p_inc_end_date_col IN VARCHAR2 DEFAULT 'N',
p_inc_summary_col IN VARCHAR2 DEFAULT 'N',
p_inc_compiled_attribute_col IN VARCHAR2 DEFAULT 'N',
p_inc_hierarchy_level_col IN VARCHAR2 DEFAULT 'N',
p_inc_addtl_user_columns IN VARCHAR2 DEFAULT 'N',
p_additional_user_columns IN VARCHAR2 DEFAULT NULL,
p_inc_addtl_quickpick_cols IN VARCHAR2 DEFAULT 'N',
--
-- Do you want to add extra checks in SELECT?
--
p_check_enabled_flag IN VARCHAR2 DEFAULT 'Y',
p_check_validation_date IN VARCHAR2 DEFAULT 'Y',
p_validation_date_char IN VARCHAR2 DEFAULT 'SYSDATE',
p_inc_user_where_clause IN VARCHAR2 DEFAULT 'N',
p_user_where_clause IN VARCHAR2 DEFAULT NULL,
p_inc_addtl_where_clause IN VARCHAR2 DEFAULT 'Y',
x_select OUT nocopy VARCHAR2,
x_mapping_code OUT nocopy VARCHAR2,
x_success OUT nocopy NUMBER)
IS
l_func_name VARCHAR2(100);
l_select VARCHAR2(32000);
l_func_name := 'get_valueset_select() : ';
x_select := NULL;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
*
INTO l_vset
FROM fnd_flex_value_sets
WHERE ( (p_value_set_id = fnd_api.g_miss_num
AND flex_value_set_name = p_value_set_name)
OR (p_value_set_name = fnd_api.g_miss_char
AND flex_value_set_id = p_value_set_id));
message(l_func_name || 'SELECT FROM fnd_flex_value_sets is failed.' ||
chr_newline || 'Error : ' || Sqlerrm);
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
*
INTO l_tvset
FROM fnd_flex_validation_tables
WHERE flex_value_set_id = l_vset.flex_value_set_id;
message(l_func_name || 'SELECT FROM fnd_flex_validation_tables '||
'is failed.' || chr_newline || 'Error : ' || Sqlerrm);
l_select := 'SELECT ' || l_tvset.value_column_name;
add_to_select(p_inc_id_col,
l_tvset.id_column_name,'ID',
l_select, l_mapping_code);
add_to_select(p_inc_meaning_col,
l_tvset.meaning_column_name,'ME',
l_select, l_mapping_code);
add_to_select(p_inc_enabled_col,
l_tvset.enabled_column_name,'EN',
l_select, l_mapping_code);
add_to_select(p_inc_start_date_col,
l_tvset.start_date_column_name,'SD',
l_select, l_mapping_code);
add_to_select(p_inc_end_date_col,
l_tvset.end_date_column_name,'ED',
l_select, l_mapping_code);
add_to_select(p_inc_summary_col,
l_tvset.summary_column_name,'SM',
l_select, l_mapping_code);
add_to_select(p_inc_compiled_attribute_col,
l_tvset.compiled_attribute_column_name,'CA',
l_select, l_mapping_code);
add_to_select(p_inc_hierarchy_level_col,
l_tvset.hierarchy_level_column_name,'HL',
l_select, l_mapping_code);
add_to_select(p_inc_addtl_user_columns,
p_additional_user_columns,'AU',
l_select, l_mapping_code);
add_to_select(l_inc_addtl_quickpick_cols,
l_tvset.additional_quickpick_columns,'AQ',
l_select, l_mapping_code);
l_select := (l_select || chr_newline || 'FROM ' ||
l_tvset.application_table_name || chr_newline);
l_select := l_select || 'WHERE (1 = 1)';
l_select := (l_select || l_and ||
l_tvset.enabled_column_name || ' = ''Y'')');
l_select := (l_select || l_and || l_tvset.start_date_column_name ||
' IS NULL OR ' ||
l_tvset.start_date_column_name || ' <= ' ||
p_validation_date_char || ')');
l_select := (l_select || l_and || l_tvset.end_date_column_name ||
' IS NULL OR ' ||
l_tvset.end_date_column_name || ' >= ' ||
p_validation_date_char || ')');
l_select := l_select || l_and || p_user_where_clause || ')';
l_select := l_select || chr_newline ||
l_tvset.additional_where_clause;
l_select := l_select || chr_newline || 'AND ' ||
l_tvset.additional_where_clause;
x_select := l_select;
END get_valueset_select;
PROCEDURE get_table_vset_select
(p_value_set_name IN fnd_flex_value_sets.flex_value_set_name%TYPE
DEFAULT fnd_api.g_miss_char,
p_value_set_id IN fnd_flex_value_sets.flex_value_set_id%TYPE
DEFAULT fnd_api.g_miss_num,
--
-- Do you want to include these columns in SELECT statement?
-- VALUE column is always included.
-- ID and MEANING columns are included by default.
--
p_inc_id_col IN VARCHAR2 DEFAULT 'Y',
p_inc_meaning_col IN VARCHAR2 DEFAULT 'Y',
p_inc_enabled_col IN VARCHAR2 DEFAULT 'N',
p_inc_start_date_col IN VARCHAR2 DEFAULT 'N',
p_inc_end_date_col IN VARCHAR2 DEFAULT 'N',
p_inc_summary_col IN VARCHAR2 DEFAULT 'N',
p_inc_compiled_attribute_col IN VARCHAR2 DEFAULT 'N',
p_inc_hierarchy_level_col IN VARCHAR2 DEFAULT 'N',
p_inc_addtl_user_columns IN VARCHAR2 DEFAULT 'N',
p_additional_user_columns IN VARCHAR2 DEFAULT NULL,
p_inc_addtl_quickpick_cols IN VARCHAR2 DEFAULT 'N',
--
-- Do you want to add extra checks in SELECT?
--
p_check_enabled_flag IN VARCHAR2 DEFAULT 'Y',
p_check_validation_date IN VARCHAR2 DEFAULT 'Y',
p_validation_date_char IN VARCHAR2 DEFAULT 'SYSDATE',
p_inc_user_where_clause IN VARCHAR2 DEFAULT 'N',
p_user_where_clause IN VARCHAR2 DEFAULT NULL,
p_inc_addtl_where_clause IN VARCHAR2 DEFAULT 'Y',
x_select OUT NOCOPY VARCHAR2,
x_mapping_code OUT NOCOPY VARCHAR2,
x_success OUT NOCOPY NUMBER)
IS
l_success NUMBER;
l_func_name := 'get_table_vset_select() : ';
get_valueset_select
(p_validation_type => 'F',
p_value_set_name => p_value_set_name,
p_value_set_id => p_value_set_id,
p_independent_value => NULL,
p_inc_id_col => p_inc_id_col,
p_inc_meaning_col => p_inc_meaning_col,
p_inc_enabled_col => p_inc_enabled_col,
p_inc_start_date_col => p_inc_start_date_col,
p_inc_end_date_col => p_inc_end_date_col,
p_inc_summary_col => p_inc_summary_col,
p_inc_compiled_attribute_col => p_inc_compiled_attribute_col,
p_inc_hierarchy_level_col => p_inc_hierarchy_level_col,
p_inc_addtl_user_columns => p_inc_addtl_user_columns,
p_additional_user_columns => p_additional_user_columns,
p_inc_addtl_quickpick_cols => p_inc_addtl_quickpick_cols,
p_check_enabled_flag => p_check_enabled_flag,
p_check_validation_date => p_check_validation_date,
p_validation_date_char => p_validation_date_char,
p_inc_user_where_clause => p_inc_user_where_clause,
p_user_where_clause => p_user_where_clause,
p_inc_addtl_where_clause => p_inc_addtl_where_clause,
x_select => x_select,
x_mapping_code => x_mapping_code,
x_success => l_success);
END get_table_vset_select;
PROCEDURE get_independent_vset_select
(p_value_set_name IN fnd_flex_value_sets.flex_value_set_name%TYPE
DEFAULT fnd_api.g_miss_char,
p_value_set_id IN fnd_flex_value_sets.flex_value_set_id%TYPE
DEFAULT fnd_api.g_miss_num,
--
-- Do you want to include these columns in SELECT statement?
-- VALUE column is always included.
-- ID and MEANING columns are included by default.
--
p_inc_id_col IN VARCHAR2 DEFAULT 'Y',
p_inc_meaning_col IN VARCHAR2 DEFAULT 'Y',
p_inc_enabled_col IN VARCHAR2 DEFAULT 'N',
p_inc_start_date_col IN VARCHAR2 DEFAULT 'N',
p_inc_end_date_col IN VARCHAR2 DEFAULT 'N',
p_inc_summary_col IN VARCHAR2 DEFAULT 'N',
p_inc_compiled_attribute_col IN VARCHAR2 DEFAULT 'N',
p_inc_hierarchy_level_col IN VARCHAR2 DEFAULT 'N',
--
-- Do you want to add extra checks in SELECT?
--
p_check_enabled_flag IN VARCHAR2 DEFAULT 'Y',
p_check_validation_date IN VARCHAR2 DEFAULT 'Y',
p_validation_date_char IN VARCHAR2 DEFAULT 'SYSDATE',
p_inc_user_where_clause IN VARCHAR2 DEFAULT 'N',
p_user_where_clause IN VARCHAR2 DEFAULT NULL,
x_select OUT NOCOPY VARCHAR2,
x_mapping_code OUT NOCOPY VARCHAR2,
x_success OUT NOCOPY NUMBER)
IS
l_success NUMBER;
l_func_name := 'get_independent_vset_select() : ';
get_valueset_select
(p_validation_type => 'I',
p_value_set_name => p_value_set_name,
p_value_set_id => p_value_set_id,
p_independent_value => NULL,
p_inc_id_col => p_inc_id_col,
p_inc_meaning_col => p_inc_meaning_col,
p_inc_enabled_col => p_inc_enabled_col,
p_inc_start_date_col => p_inc_start_date_col,
p_inc_end_date_col => p_inc_end_date_col,
p_inc_summary_col => p_inc_summary_col,
p_inc_compiled_attribute_col => p_inc_compiled_attribute_col,
p_inc_hierarchy_level_col => p_inc_hierarchy_level_col,
p_inc_addtl_user_columns => 'N',
p_additional_user_columns => NULL,
p_inc_addtl_quickpick_cols => 'N',
p_check_enabled_flag => p_check_enabled_flag,
p_check_validation_date => p_check_validation_date,
p_validation_date_char => p_validation_date_char,
p_inc_user_where_clause => p_inc_user_where_clause,
p_user_where_clause => p_user_where_clause,
p_inc_addtl_where_clause => 'N',
x_select => x_select,
x_mapping_code => x_mapping_code,
x_success => l_success);
END get_independent_vset_select;
PROCEDURE get_dependent_vset_select
(p_value_set_name IN fnd_flex_value_sets.flex_value_set_name%TYPE
DEFAULT fnd_api.g_miss_char,
p_value_set_id IN fnd_flex_value_sets.flex_value_set_id%TYPE
DEFAULT fnd_api.g_miss_num,
p_independent_value IN VARCHAR2 DEFAULT NULL,
--
-- Do you want to include these columns in SELECT statement?
-- VALUE column is always included.
-- ID and MEANING columns are included by default.
--
p_inc_id_col IN VARCHAR2 DEFAULT 'Y',
p_inc_meaning_col IN VARCHAR2 DEFAULT 'Y',
p_inc_enabled_col IN VARCHAR2 DEFAULT 'N',
p_inc_start_date_col IN VARCHAR2 DEFAULT 'N',
p_inc_end_date_col IN VARCHAR2 DEFAULT 'N',
p_inc_summary_col IN VARCHAR2 DEFAULT 'N',
p_inc_compiled_attribute_col IN VARCHAR2 DEFAULT 'N',
p_inc_hierarchy_level_col IN VARCHAR2 DEFAULT 'N',
--
-- Do you want to add extra checks in SELECT?
--
p_check_enabled_flag IN VARCHAR2 DEFAULT 'Y',
p_check_validation_date IN VARCHAR2 DEFAULT 'Y',
p_validation_date_char IN VARCHAR2 DEFAULT 'SYSDATE',
p_inc_user_where_clause IN VARCHAR2 DEFAULT 'N',
p_user_where_clause IN VARCHAR2 DEFAULT NULL,
x_select OUT NOCOPY VARCHAR2,
x_mapping_code OUT NOCOPY VARCHAR2,
x_success OUT NOCOPY NUMBER)
IS
l_success NUMBER;
l_func_name := 'get_dependent_vset_select() : ';
get_valueset_select
(p_validation_type => 'D',
p_value_set_name => p_value_set_name,
p_value_set_id => p_value_set_id,
p_independent_value => p_independent_value,
p_inc_id_col => p_inc_id_col,
p_inc_meaning_col => p_inc_meaning_col,
p_inc_enabled_col => p_inc_enabled_col,
p_inc_start_date_col => p_inc_start_date_col,
p_inc_end_date_col => p_inc_end_date_col,
p_inc_summary_col => p_inc_summary_col,
p_inc_compiled_attribute_col => p_inc_compiled_attribute_col,
p_inc_hierarchy_level_col => p_inc_hierarchy_level_col,
p_inc_addtl_user_columns => 'N',
p_additional_user_columns => NULL,
p_inc_addtl_quickpick_cols => 'N',
p_check_enabled_flag => p_check_enabled_flag,
p_check_validation_date => p_check_validation_date,
p_validation_date_char => p_validation_date_char,
p_inc_user_where_clause => p_inc_user_where_clause,
p_user_where_clause => p_user_where_clause,
p_inc_addtl_where_clause => 'N',
x_select => x_select,
x_mapping_code => x_mapping_code,
x_success => l_success);
END get_dependent_vset_select;
SELECT fvs.flex_value_set_name
INTO l_vset_name
FROM fnd_flex_value_sets fvs, fnd_flex_validation_tables fvt
WHERE fvs.validation_type = 'F'
AND fvs.flex_value_set_id = fvt.flex_value_set_id
AND Nvl(fvt.table_application_id, p_application_id) = p_application_id
AND (Upper(fvt.application_table_name) = up_table_name OR
Upper(fvt.application_table_name) LIKE '% ' || up_table_name OR
Upper(fvt.application_table_name) LIKE up_table_name||' %' OR
Upper(fvt.application_table_name) LIKE '% '||up_table_name||' %')
AND ROWNUM = 1;
'SELECT FROM FND_FLEX_VALIDATION_TABLES is failed. '||chr_newline||
'SQLERRM : ' || Sqlerrm;
SELECT /* $Header: AFFFVAIB.pls 120.29 2011/10/19 20:43:07 hgeorgi ship $ */
fvs.flex_value_set_name
INTO l_vset_name
FROM fnd_flex_value_sets fvs, fnd_flex_validation_tables fvt
WHERE fvs.validation_type = 'F'
AND fvs.flex_value_set_id = fvt.flex_value_set_id
AND Nvl(fvt.table_application_id, p_application_id) = p_application_id
AND (Upper(fvt.application_table_name) = up_table_name OR
Upper(fvt.application_table_name) LIKE '% ' || up_table_name OR
Upper(fvt.application_table_name) LIKE up_table_name||' %' OR
Upper(fvt.application_table_name) LIKE '% '||up_table_name||' %')
AND (Nvl(Upper(fvt.value_column_name), 'X'||up_column_name)
= up_column_name OR
Nvl(Upper(fvt.compiled_attribute_column_name),'X'||up_column_name)
= up_column_name OR
Nvl(Upper(fvt.enabled_column_name), 'X'||up_column_name)
= up_column_name OR
Nvl(Upper(fvt.hierarchy_level_column_name), 'X'||up_column_name)
= up_column_name OR
Nvl(Upper(fvt.start_date_column_name), 'X'||up_column_name)
= up_column_name OR
Nvl(Upper(fvt.end_date_column_name), 'X'||up_column_name)
= up_column_name OR
Nvl(Upper(fvt.summary_column_name), 'X'||up_column_name)
= up_column_name OR
Nvl(Upper(fvt.id_column_name), 'X'||up_column_name)
= up_column_name OR
Nvl(Upper(fvt.meaning_column_name), 'X'||up_column_name)
= up_column_name )
AND ROWNUM = 1;
'SELECT FROM FND_FLEX_VALIDATION_TABLES is failed. '||chr_newline||
'SQLERRM : ' || Sqlerrm;
SELECT *
INTO x_vset
FROM fnd_flex_value_sets
WHERE flex_value_set_name = p_flex_value_set_name;
SELECT *
INTO x_vset
FROM fnd_flex_value_sets
WHERE flex_value_set_id = p_flex_value_set_id;
SELECT hierarchy_id
INTO x_hierarchy_id
FROM fnd_flex_hierarchies
WHERE flex_value_set_id = l_vset.flex_value_set_id
AND hierarchy_code = p_hierarchy_code;
SELECT COUNT(*)
INTO l_count
FROM fnd_flex_values
WHERE flex_value_set_id = p_vset.flex_value_set_id
AND flex_value = p_flex_value
AND ROWNUM = 1;
SELECT COUNT(*)
INTO l_count
FROM fnd_flex_values
WHERE flex_value_set_id = p_vset.flex_value_set_id
AND parent_flex_value_low = p_parent_value
AND flex_value = p_flex_value
AND ROWNUM = 1;
px_value.last_update_date := v_value.last_update_date;
px_value.last_updated_by := v_value.last_updated_by;
px_value.last_update_login := v_value.last_update_login;
SELECT *
INTO px_value
FROM fnd_flex_values_vl
WHERE flex_value_set_id = p_vset.flex_value_set_id
AND flex_value = p_flex_value;
SELECT *
INTO v_value
FROM fnd_flex_values
WHERE flex_value_set_id = p_vset.flex_value_set_id
AND flex_value = p_flex_value;
SELECT *
INTO px_value
FROM fnd_flex_values_vl
WHERE flex_value_set_id = p_vset.flex_value_set_id
AND parent_flex_value_low = p_parent_value
AND flex_value = p_flex_value;
SELECT *
INTO v_value
FROM fnd_flex_values
WHERE flex_value_set_id = p_vset.flex_value_set_id
AND parent_flex_value_low = p_parent_value
AND flex_value = p_flex_value;
SELECT hierarchy_code
INTO l_hierarchy_code
FROM fnd_flex_hierarchies
WHERE flex_value_set_id = p_vset.flex_value_set_id
AND hierarchy_id = p_value.structured_hierarchy_level;
px_who.last_updated_by := fnd_global.user_id();
px_who.last_update_date := Sysdate;
px_who.last_update_login := fnd_global.login_id();
PROCEDURE update_field(px_field IN OUT nocopy VARCHAR2,
p_value IN VARCHAR2)
IS
BEGIN
IF (p_value IS NOT NULL) THEN
IF (p_value = g_null_varchar2) THEN
px_field := NULL;
END update_field;
PROCEDURE update_field(px_field IN OUT nocopy NUMBER,
p_value IN NUMBER)
IS
BEGIN
IF (p_value IS NOT NULL) THEN
IF (p_value = g_null_number) THEN
px_field := NULL;
END update_field;
PROCEDURE update_field(px_field IN OUT nocopy DATE,
p_value IN DATE)
IS
BEGIN
IF (p_value IS NOT NULL) THEN
IF (p_value = g_null_date) THEN
px_field := NULL;
END update_field;
PROCEDURE update_independent_vset_value
(p_flex_value_set_name IN VARCHAR2,
p_flex_value IN VARCHAR2,
p_description IN VARCHAR2 DEFAULT NULL,
p_enabled_flag IN VARCHAR2 DEFAULT NULL,
p_start_date_active IN DATE DEFAULT NULL,
p_end_date_active IN DATE DEFAULT NULL,
p_summary_flag IN VARCHAR2 DEFAULT NULL,
p_structured_hierarchy_level IN NUMBER DEFAULT NULL,
p_hierarchy_level IN VARCHAR2 DEFAULT NULL,
x_storage_value OUT NOCOPY VARCHAR2)
IS
l_vset vset_type;
update_field(l_value.description, p_description);
update_field(l_value.enabled_flag, p_enabled_flag);
update_field(l_value.start_date_active, p_start_date_active);
update_field(l_value.end_date_active, p_end_date_active);
update_field(l_value.summary_flag, p_summary_flag);
update_field(l_value.structured_hierarchy_level, p_structured_hierarchy_level);
update_field(l_value.hierarchy_level, p_hierarchy_level);
DELETE FROM fnd_flex_value_norm_hierarchy
WHERE flex_value_set_id = l_vset.flex_value_set_id
AND parent_flex_value = l_value.flex_value;
'Failure in update_independent_vset_value().');
END update_independent_vset_value;
PROCEDURE update_dependent_vset_value
(p_flex_value_set_name IN VARCHAR2,
p_parent_flex_value IN VARCHAR2,
p_flex_value IN VARCHAR2,
p_description IN VARCHAR2 DEFAULT NULL,
p_enabled_flag IN VARCHAR2 DEFAULT NULL,
p_start_date_active IN DATE DEFAULT NULL,
p_end_date_active IN DATE DEFAULT NULL,
p_hierarchy_level IN VARCHAR2 DEFAULT NULL,
x_storage_value OUT NOCOPY VARCHAR2)
IS
l_vset vset_type;
update_field(l_value.description, p_description);
update_field(l_value.enabled_flag, p_enabled_flag);
update_field(l_value.start_date_active, p_start_date_active);
update_field(l_value.end_date_active, p_end_date_active);
update_field(l_value.hierarchy_level, p_hierarchy_level);
'Failure in update_dependent_vset_value().');
END update_dependent_vset_value;
SELECT COUNT(*)
INTO l_count
FROM fnd_flex_value_norm_hierarchy
WHERE flex_value_set_id = l_vset.flex_value_set_id
AND parent_flex_value = l_value.flex_value
AND range_attribute = p_range_attribute
AND child_flex_value_low = l_storage_value_low
AND child_flex_value_high = l_storage_value_high
AND ROWNUM = 1;
INSERT INTO fnd_flex_value_norm_hierarchy
(
flex_value_set_id,
parent_flex_value,
range_attribute,
child_flex_value_low,
child_flex_value_high,
created_by,
creation_date,
last_updated_by,
last_update_date,
last_update_login,
start_date_active,
end_date_active
)
VALUES
(
l_vset.flex_value_set_id,
l_value.flex_value,
p_range_attribute,
l_storage_value_low,
l_storage_value_high,
l_who.created_by,
l_who.creation_date,
l_who.last_updated_by,
l_who.last_update_date,
l_who.last_update_login,
NULL,
NULL
);
raise_error(ERROR_UNABLE_TO_INSERT_ROW,
'Unable to insert row.');
SELECT
v.validation_type, v.format_type, v.maximum_size,
v.number_precision, v.flex_value_set_name,
t.id_column_name, t.id_column_type, t.id_column_size
INTO
l_validation_type, l_format_type, l_maximum_size,
l_number_precision, l_flex_value_set_name,
l_id_column_name, l_id_column_type, l_id_column_size
FROM
fnd_flex_value_sets v,
fnd_flex_validation_tables t
WHERE
v.flex_value_set_id = p_value_set_id and
v.flex_value_set_id = t.flex_value_set_id(+);
SELECT
c.column_type, c.width
INTO
l_column_type, l_appl_col_size
FROM
fnd_flex_value_sets v,
fnd_flex_validation_tables t,
fnd_columns c, fnd_tables tb
WHERE
v.flex_value_set_id = p_value_set_id and
v.flex_value_set_id = t.flex_value_set_id(+) and
tb.application_id = 0 and
tb.table_name = 'FND_SRS_MASTER' and
tb.application_id = c.application_id and
tb.table_id = c.table_id and c.column_name = 'ATTRIBUTE1';
select meaning
into l_appl_column_type_name
from fnd_lookups
where lookup_code=l_application_column_type and
lookup_type='COLUMN_TYPE';
select meaning
into l_format_type_name
from fnd_lookups
where lookup_code=l_format_type and lookup_type='FIELD_TYPE';
select meaning
into l_format_type_name
from fnd_lookups
where lookup_code=l_id_column_type and lookup_type='COLUMN_TYPE';
SELECT
s.segment_num, v.parent_flex_value_set_id
INTO
l_segment_num, l_parent_value_set_id
FROM
fnd_flex_value_sets v, fnd_id_flex_segments s
WHERE
v.flex_value_set_id = p_value_set_id
AND s.id_flex_num = p_id_flex_num
AND v.parent_flex_value_set_id = s.flex_value_set_id;
select flex_value_set_name
into l_parent_value_set_name
from fnd_flex_value_sets
where
flex_value_set_id=l_parent_value_set_id;
select flex_value_set_name
into l_parent_value_set_name
from fnd_flex_value_sets
where
flex_value_set_id in (select parent_flex_value_set_id
from fnd_flex_value_sets
where flex_value_set_id=p_value_set_id);
SELECT
u.column_seq_num, v.parent_flex_value_set_id
INTO
l_column_seq_num, l_parent_value_set_id
FROM
fnd_flex_value_sets v, fnd_descr_flex_column_usages u
WHERE
v.flex_value_set_id = p_value_set_id and
-- Bug#4410208, In SRS agruments form there is no context code
(p_desc_flex_context_code is null or
u.descriptive_flex_context_code = p_desc_flex_context_code) and
v.parent_flex_value_set_id = u.flex_value_set_id;
select flex_value_set_name
into l_parent_value_set_name
from fnd_flex_value_sets
where
flex_value_set_id=l_parent_value_set_id;
select flex_value_set_name
into l_parent_value_set_name
from fnd_flex_value_sets
where
flex_value_set_id in (select parent_flex_value_set_id
from fnd_flex_value_sets
where flex_value_set_id=p_value_set_id);
select meaning
into l_appl_column_type_name
from fnd_lookups
where lookup_code=p_application_column_type and
lookup_type='COLUMN_TYPE';
select meaning
into l_format_type_name
from fnd_lookups
where lookup_code=p_format_type and lookup_type='FIELD_TYPE';
select meaning
into l_format_type_name
from fnd_lookups
where lookup_code=p_id_column_type and lookup_type='COLUMN_TYPE';
SELECT
c.column_type, c.width
INTO
l_application_column_type, l_application_column_size
FROM
fnd_columns c, fnd_tables tb
WHERE
tb.application_id = 0 and
tb.table_name = 'FND_SRS_MASTER' and
tb.application_id = c.application_id and
tb.table_id = c.table_id and c.column_name = 'ATTRIBUTE1';
SELECT
c.column_type, c.width
INTO
l_application_column_type, l_application_column_size
FROM
fnd_descriptive_flexs dff,
fnd_tables tb,
fnd_columns c
WHERE
c.application_id = tb.application_id and
c.table_id = tb.table_id and
c.application_id = dff.table_application_id and
tb.table_name = dff.application_table_name and
dff.application_id = p_application_id and
dff.descriptive_flexfield_name = p_descriptive_flexfield_name
and c.column_name = l_application_column_name;
SELECT
v.validation_type, v.format_type, v.maximum_size,
v.flex_value_set_name, t.id_column_type,
t.id_column_size
INTO
l_validation_type, l_format_type, l_maximum_size,
l_flex_value_set_name, l_id_column_type,
l_id_column_size
FROM
fnd_flex_value_sets v,
fnd_flex_validation_tables t
WHERE
v.flex_value_set_id = p_flex_value_set_id and
v.flex_value_set_id = t.flex_value_set_id(+);
SELECT
min(u.column_seq_num), v.parent_flex_value_set_id
INTO
l_column_seq_num, l_parent_value_set_id
FROM
fnd_flex_value_sets v, fnd_descr_flex_column_usages u
WHERE
v.flex_value_set_id = p_flex_value_set_id
-- Bug#4564981
AND u.application_id = p_application_id
AND u.descriptive_flexfield_name = p_descriptive_flexfield_name
-- Bug#4410208, In SRS agruments form,the context is null when a parameter is defined
AND (p_desc_flex_context_code is null or
u.descriptive_flex_context_code = p_desc_flex_context_code)
AND v.parent_flex_value_set_id = u.flex_value_set_id
group by v.parent_flex_value_set_id;
select flex_value_set_name
into l_parent_value_set_name
from fnd_flex_value_sets
where
flex_value_set_id=l_parent_value_set_id;
select flex_value_set_name
into l_parent_value_set_name
from fnd_flex_value_sets
where
flex_value_set_id in (select parent_flex_value_set_id
from fnd_flex_value_sets
where flex_value_set_id=p_flex_value_set_id);
SELECT
c.column_type, c.width, kff.allow_id_valuesets
INTO
l_application_column_type, l_application_column_size, l_allow_id_valuesets
FROM
fnd_id_flexs kff,
fnd_tables tb,
fnd_columns c
WHERE
c.application_id = tb.application_id and
c.table_id = tb.table_id and
c.application_id = kff.table_application_id and
tb.table_name = kff.application_table_name and
kff.application_id = p_application_id and
kff.id_flex_code = p_id_flex_code
and c.column_name = p_application_column_name;
SELECT
v.validation_type, v.format_type, v.maximum_size,
v.number_precision, v.flex_value_set_name,
t.id_column_name, t.id_column_type, t.id_column_size
INTO
l_validation_type, l_format_type, l_maximum_size,
l_number_precision, l_flex_value_set_name,
l_id_column_name, l_id_column_type, l_id_column_size
FROM
fnd_flex_value_sets v,
fnd_flex_validation_tables t
WHERE
v.flex_value_set_id = p_flex_value_set_id and
v.flex_value_set_id = t.flex_value_set_id(+);
SELECT
min(s.segment_num), v.parent_flex_value_set_id
INTO
l_segment_num, l_parent_value_set_id
FROM
fnd_flex_value_sets v, fnd_id_flex_segments s
WHERE
v.flex_value_set_id = p_flex_value_set_id
-- Bug#4564981
AND 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 v.parent_flex_value_set_id = s.flex_value_set_id
group by v.parent_flex_value_set_id;
select flex_value_set_name
into l_parent_value_set_name
from fnd_flex_value_sets
where
flex_value_set_id=l_parent_value_set_id;
select flex_value_set_name
into l_parent_value_set_name
from fnd_flex_value_sets
where
flex_value_set_id in (select parent_flex_value_set_id
from fnd_flex_value_sets
where flex_value_set_id=p_flex_value_set_id);
select application_id "ap_id' into ap_id from fnd_application;
select application_id "ap_id" from fnd_application; */
l_stmt1 := 'select '||l_stmt||
' from '||p_application_table_name||
' where rownum=1';
l_stmt1 := 'select '||l_stmt||
' from '||p_application_table_name||
' where rownum=1 and '||
l_id_column_name||' is NULL';
l_stmt1 := 'select '||l_stmt||
' from '||p_application_table_name||
' where rownum=1 and '||
l_value_column_name||' is NULL';
l_stmt1 := 'select '||l_stmt||' from '||p_application_table_name||' '||
l_additional_where_clause;
l_stmt1 := 'select '||l_stmt||' from '||p_application_table_name
|| ' where ' ||l_additional_where_clause;