The following lines contain the word 'select', 'insert', 'update' or 'delete':
- pInsertSQL - Table containing SQL for processing new items for the loader
- pUpdateSQL - Table containing SQL for processing existing items
(Existing means it exists in icx_por_items_tl)
*/
PROCEDURE build_ctx_sql(pCategoryId IN NUMBER,
pDescriptors IN DescriptorInfoTab, pWhereClause IN VARCHAR2,
pLanguage IN VARCHAR2, pMaxLength IN NUMBER,
pInsertSQL OUT NOCOPY SQLTab, pUpdateSQL OUT NOCOPY SQLTab) IS
i PLS_INTEGER;
v_insert_sql VARCHAR2(4000) := null;
v_update_sql VARCHAR2(4000) := null;
v_insert_suffix VARCHAR2(4000) := null;
v_update_suffix VARCHAR2(4000) := null;
v_insert_prefix VARCHAR2(4000) := null;
v_update_prefix VARCHAR2(4000) := null;
v_extra_update_suffix VARCHAR2(4000) := null;
pInsertSQL.DELETE;
pUpdateSQL.DELETE;
v_insert_prefix := 'INSERT INTO icx_cat_items_ctx_tlp (rt_item_id, language, sequence, ctx_desc) SELECT :p_item_id, :p_language, :p_sequence, null';
v_insert_suffix := ' FROM icx_cat_items_gt WHERE rowid = :p_rowid' ||
' AND :action_name = :p_system_action ';
v_insert_suffix := v_insert_suffix || 'AND :p_language = :language_array';
v_insert_sql := v_insert_prefix;
v_update_prefix := 'INSERT INTO icx_cat_items_ctx_tlp (rt_item_id, language, sequence, ctx_desc) SELECT tl.rt_item_id, tl.language, :p_sequence, null';
v_insert_suffix := v_insert_suffix ||
' AND :current_category_id = :p_category_id';
v_update_suffix := ' FROM icx_cat_ext_items_tlp tl WHERE ' ||
-- The following two are for use during bulk loading
-- For regular use just bind in the same values for current_category_id
-- and p_category_id, as well as action_name and p_system_action
' :current_category_id = :p_category_id ' ||
'AND :action_name = :p_system_action ';
v_update_suffix := v_update_suffix ||
' AND tl.language = :p_language AND :p_language = :language_array';
v_extra_update_suffix := v_update_suffix;
v_update_suffix := ' FROM icx_cat_items_tlp tl ' ||
-- The following is for use during bulk loading
-- For regular use just bind in the same values for action_name
-- and p_system_action
'WHERE :action_name = :p_system_action ';
v_update_suffix := v_update_suffix ||
' AND tl.language = :p_language AND :p_language = :language_array';
v_extra_update_suffix := ' FROM icx_cat_items_tlp tl ' ||
-- The following is for use during bulk loading
-- For regular use just bind in the same values for action_name
-- and p_system_action
'WHERE :action_name = :p_system_action ';
v_extra_update_suffix := v_extra_update_suffix ||
' AND tl.language = :p_language AND :p_language = :language_array';
v_update_suffix := v_update_suffix || ' ' || pWhereClause;
v_extra_update_suffix := v_extra_update_suffix || ' ' || pWhereClause;
v_update_sql := v_update_prefix;
v_insert_sql := v_insert_sql || ' || '''' || language || '' ''';
v_update_sql := v_update_sql || ' || '''' || tl.language || '' ''';
v_insert_sql := v_insert_sql || ' || '''' || to_char(:p_supplier_id) || '' SUPPLIER INTERNAL leaf'' || :p_category_id || '' '' || :p_category_name || '' ''';
v_update_sql := v_update_sql || ' || '''' || to_char(tl.supplier_id) || '' '' || ';
v_update_sql := v_update_sql || ' decode(tl.item_source_type,''BOTH'', ''SUPPLIER INTERNAL'', tl.item_source_type)||''leaf'' || tl.primary_category_id || '' '' || tl.primary_category_name || '' ''';
pInsertSQL(v_sql_count) := v_insert_sql || v_insert_suffix;
v_insert_sql := v_insert_prefix;
pUpdateSQL(v_sql_count) := v_update_sql || v_extra_update_suffix;
v_update_sql := v_update_prefix;
pInsertSQL(v_sql_count) := v_insert_sql || v_insert_suffix;
v_insert_sql := v_insert_prefix;
pUpdateSQL(v_sql_count) := v_update_sql || v_update_suffix;
v_update_sql := v_update_prefix;
v_insert_sql := v_insert_sql || ' || ''<' ||
-- to_char(v_desc.section_tag) || '>'' || ' || v_stored_in_column ||
to_char(v_desc.section_tag) || '>'' || ' || 'replace(replace('|| v_stored_in_column || ',' || '''<''' || ',' || ''' ''' || ')' || ',' || '''>''' || ',' || ''' ''' || ')' ||
' || ''''';
v_update_sql := v_update_sql || ' || ''<' ||
-- to_char(v_desc.section_tag) || '>'' || ' || v_upd_stored_in_column ||
to_char(v_desc.section_tag) || '>'' || ' || 'replace(replace('|| v_upd_stored_in_column || ',' || '''<''' || ',' || ''' ''' || ')' || ',' || '''>''' || ',' || ''' ''' || ')' ||
' || ''''';
pInsertSQL(v_sql_count) := v_insert_sql || v_insert_suffix;
pUpdateSQL(v_sql_count) := v_update_sql || v_extra_update_suffix;
pUpdateSQL(v_sql_count) := v_update_sql || v_update_suffix;
v_insert_sql := v_insert_sql || ' || '''' || to_char(:p_supplier_id) || '' SUPPLIER INTERNAL leaf'' || :p_category_id || '' '' || :p_category_name || '' ''';
v_update_sql := v_update_sql || ' || '''' || to_char(tl.supplier_id) || '' '' || ';
v_update_sql := v_update_sql ||' decode(tl.item_source_type,''BOTH'', ''SUPPLIER INTERNAL'', tl.item_source_type)||''leaf'' || tl.primary_category_id || '' '' || tl.primary_category_name || '' ''';
pInsertSQL(v_sql_count) := v_insert_sql || v_insert_suffix;
pUpdateSQL(v_sql_count) := v_update_sql || v_update_suffix;
pInsertSQL(v_sql_count) := v_insert_prefix || ' || '''' ' ||
v_insert_suffix;
pUpdateSQL(v_sql_count) := v_update_prefix || ' || '''' ' ||
v_update_suffix;
pInsertSQL(v_sql_count) := v_insert_prefix || ' || '''' ' ||
v_insert_suffix;
pUpdateSQL(v_sql_count) := v_update_prefix || ' || '''' ' ||
v_update_suffix;
- pInsertSQL - Table containing SQL for processing new items for the loader
- pUpdateSQL - Table containing SQL for processing existing items
(Existing means it exists in icx_por_items_tl)
*/
PROCEDURE build_ctx_sql(pCategoryId IN NUMBER, pWhereClause IN VARCHAR2,
pLanguage IN VARCHAR2, pMaxLength IN NUMBER,
pInsertSQL OUT NOCOPY SQLTab, pUpdateSQL OUT NOCOPY SQLTab) IS
vDescInfoTab DescriptorInfoTab;
SELECT rt_descriptor_id, key, type, section_tag, searchable,
stored_in_table, stored_in_column
FROM icx_cat_descriptors_tl
WHERE rt_category_id = p_category_id
AND language = p_language
AND stored_in_table <> 'ICX_CAT_ITEM_PRICES'
order by rt_descriptor_id;
SELECT language_code INTO vLanguage
FROM fnd_languages WHERE installed_flag = 'B';
pMaxLength, pInsertSQL, pUpdateSQL);
- pInsertSQL - Table containing SQL for processing new items for the loader
- pUpdateSQL - Table containing SQL for processing existing items
(Existing means it exists in icx_por_items_tl)
*/
PROCEDURE build_ctx_sql(pCategoryId IN NUMBER, pWhereClause IN VARCHAR2,
pLanguage IN VARCHAR2, pInsertSQL OUT NOCOPY SQLTab, pUpdateSQL OUT NOCOPY SQLTab) IS
BEGIN
build_ctx_sql(pCategoryId, pWhereClause, pLanguage, DEFAULT_MAX_LENGTH,
pInsertSQL, pUpdateSQL);
- pInsertSQL - Table containing SQL for processing new items for the loader
- pUpdateSQL - Table containing SQL for processing existing items
(Existing means it exists in icx_por_items_tl)
*/
PROCEDURE build_ctx_sql(pCategoryId IN NUMBER, pWhereClause IN VARCHAR2,
pInsertSQL OUT NOCOPY SQLTab, pUpdateSQL OUT NOCOPY SQLTab) IS
BEGIN
build_ctx_sql(pCategoryId, pWhereClause, null, DEFAULT_MAX_LENGTH,
pInsertSQL, pUpdateSQL);