The following lines contain the word 'select', 'insert', 'update' or 'delete':
gUpdateRtCategoryIds DBMS_SQL.NUMBER_TABLE;
gUpdateCategoryKeys DBMS_SQL.VARCHAR2_TABLE;
gUpdateCategoryNames DBMS_SQL.VARCHAR2_TABLE;
gUpdateLanguages DBMS_SQL.VARCHAR2_TABLE;
gUpdateSourceLangs DBMS_SQL.VARCHAR2_TABLE;
gAddRtCategoryIds.DELETE;
gAddCategoryKeys.DELETE;
gAddCategoryNames.DELETE;
gAddLanguages.DELETE;
gAddSourceLangs.DELETE;
gAddNewRtCategoryIds.DELETE;
gAddNewCategoryKeys.DELETE;
IF (pMode IN ('ALL', 'UPDATE')) THEN
gUpdateRtCategoryIds.DELETE;
gUpdateCategoryKeys.DELETE;
gUpdateCategoryNames.DELETE;
gUpdateLanguages.DELETE;
gUpdateSourceLangs.DELETE;
ELSIF (pMode = 'UPDATE') THEN
xShot := xShot || ' gUpdateRtCategoryId: ' ||
ICX_POR_EXT_UTL.getTableElement(gUpdateRtCategoryIds, pIndex) || ',';
xShot := xShot || ' gUpdateCategoryKey: ' ||
ICX_POR_EXT_UTL.getTableElement(gUpdateCategoryKeys, pIndex) || ',';
xShot := xShot || ' gUpdateCategoryName: ' ||
ICX_POR_EXT_UTL.getTableElement(gUpdateCategoryNames, pIndex) || ',';
xShot := xShot || ' gUpdateLanguage: ' ||
ICX_POR_EXT_UTL.getTableElement(gUpdateLanguages, pIndex) || ',';
xShot := xShot || ' gUpdateSourceLang: ' ||
ICX_POR_EXT_UTL.getTableElement(gUpdateSourceLangs, pIndex);
SELECT rowid
FROM icx_cat_items_tlp
WHERE primary_category_id = p_rt_category_id
AND language = p_language;
ICX_POR_EXT_UTL.debug('Insert icx_cat_categories_tl');
INSERT INTO icx_cat_categories_tl(
rt_category_id, category_name, key, title, type, language,
source_lang, upper_category_name, upper_key, section_map,
created_by, creation_date, last_updated_by, last_update_date,
last_update_login, request_id, program_application_id,
program_id, program_update_date)
VALUES(gAddRtCategoryIds(i),gAddCategoryNames(i),
gAddCategoryKeys(i), 'Oracle', pType,
gAddLanguages(i), gAddSourceLangs(i),
upper(gAddCategoryNames(i)), upper(gAddCategoryKeys(i)),
rpad('0', 300, 0),
ICX_POR_EXTRACTOR.gUserId, SYSDATE,
ICX_POR_EXTRACTOR.gUserId, SYSDATE,
ICX_POR_EXTRACTOR.gLoginId, ICX_POR_EXTRACTOR.gRequestId,
ICX_POR_EXTRACTOR.gProgramApplicationId,
ICX_POR_EXTRACTOR.gProgramId, SYSDATE);
INSERT INTO icx_cat_categories_tl(
rt_category_id, category_name, key, title, type, language,
source_lang, upper_category_name, upper_key, section_map,
created_by, creation_date, last_updated_by, last_update_date,
last_update_login, request_id, program_application_id,
program_id, program_update_date)
SELECT gAddRtCategoryIds(i), gAddCategoryNames(i),
gAddCategoryKeys(i), 'Oracle', TEMPLATE_HEADER_TYPE,
language_code, gAddLanguages(i),
upper(gAddCategoryNames(i)), upper(gAddCategoryKeys(i)),
rpad('0', 300, 0),
ICX_POR_EXTRACTOR.gUserId, SYSDATE,
ICX_POR_EXTRACTOR.gUserId, SYSDATE,
ICX_POR_EXTRACTOR.gLoginId, ICX_POR_EXTRACTOR.gRequestId,
ICX_POR_EXTRACTOR.gProgramApplicationId,
ICX_POR_EXTRACTOR.gProgramId, SYSDATE
FROM fnd_languages
WHERE installed_flag = 'I';
INSERT INTO icx_por_category_data_sources (
-- Bug: 3291430 - Also populate rt_category_id with value from icx_cat_categories_tl
rt_category_id,
category_key,
external_source, external_source_key,
created_by, creation_date, last_updated_by, last_update_date,
last_update_login, request_id, program_application_id,
program_id, program_update_date)
SELECT rt_category_id, key,'Oracle', key,
ICX_POR_EXTRACTOR.gUserId, SYSDATE,
ICX_POR_EXTRACTOR.gUserId, SYSDATE,
ICX_POR_EXTRACTOR.gLoginId, ICX_POR_EXTRACTOR.gRequestId,
ICX_POR_EXTRACTOR.gProgramApplicationId,
ICX_POR_EXTRACTOR.gProgramId, SYSDATE
FROM icx_cat_categories_tl
WHERE
rt_category_id = gAddRtCategoryIds(i) and
language = gAddLanguages(i) and
not exists (select 1
from icx_por_category_data_sources
where external_source = 'Oracle'
and external_source_key = key);
INSERT INTO icx_por_category_order_map (
rt_category_id, external_source, external_source_key,
created_by, creation_date, last_updated_by,
last_update_date, last_update_login)
VALUES(gAddNewRtCategoryIds(i), 'Oracle', gAddNewCategoryKeys(i),
ICX_POR_EXTRACTOR.gUserId, SYSDATE,
ICX_POR_EXTRACTOR.gUserId, SYSDATE,
ICX_POR_EXTRACTOR.gLoginId);
PROCEDURE updateCategories(pType IN PLS_INTEGER) IS
xErrLoc PLS_INTEGER := 100;
xMode VARCHAR2(20) := 'UPDATE';
SELECT rowid
FROM icx_cat_items_tlp
WHERE primary_category_id = p_rt_category_id
AND language = p_language;
FOR i in 1..gUpdateRtCategoryIds.COUNT LOOP
ICX_POR_EXT_UTL.debug(ICX_POR_EXT_UTL.DETIL_LEVEL, snapShot(i, xMode));
FOR i IN 1..gUpdateRtCategoryIds.COUNT LOOP
OPEN cRebuildItems(gUpdateRtCategoryIds(i), gUpdateLanguages(i));
xRowIds.DELETE;
UPDATE icx_cat_items_tlp
SET primary_category_name = gUpdateCategoryNames(i),
last_updated_by = ICX_POR_EXTRACTOR.gUserId,
last_update_date = SYSDATE,
last_update_login = ICX_POR_EXTRACTOR.gLoginId,
request_id = ICX_POR_EXTRACTOR.gRequestId,
program_application_id = ICX_POR_EXTRACTOR.gProgramApplicationId,
program_id = ICX_POR_EXTRACTOR.gProgramId,
program_update_date = SYSDATE
WHERE rowid = xRowIds(j);
ICX_POR_EXT_UTL.debug('Update ICX_CAT_CATEGORIES_TL');
FORALL i IN 1..gUpdateRtCategoryIds.COUNT
UPDATE icx_cat_categories_tl
SET category_name = gUpdateCategoryNames(i),
upper_category_name = upper(gUpdateCategoryNames(i)),
source_lang = gUpdateSourceLangs(i),
last_updated_by = ICX_POR_EXTRACTOR.gUserId,
last_update_date = SYSDATE,
last_update_login = ICX_POR_EXTRACTOR.gLoginId,
request_id = ICX_POR_EXTRACTOR.gRequestId,
program_application_id = ICX_POR_EXTRACTOR.gProgramApplicationId,
program_id = ICX_POR_EXTRACTOR.gProgramId,
program_update_date = SYSDATE
WHERE rt_category_id = gUpdateRtCategoryIds(i)
AND language = gUpdateLanguages(i);
ICX_POR_EXT_UTL.pushError('ICX_POR_EXT_CLASS.updateCategories-'||
xErrLoc||' '||SQLERRM);
END updateCategories;
'Process batch category extract -- Pending[Insert: ' ||
gAddRtCategoryIds.COUNT || '], Completed[' || gCompletedCount || ']');
'Process batch template header extract -- Pending[Insert: ' ||
gAddRtCategoryIds.COUNT || '], Completed[' || gCompletedCount || ']');
gUpdateRtCategoryIds.COUNT >= ICX_POR_EXT_UTL.gCommitSize)
THEN
xErrLoc := 300;
'Process batch category extract -- Pending[Update: ' ||
gUpdateRtCategoryIds.COUNT || '], Completed[' ||
gCompletedCount || ']');
'Process batch template header extract -- Pending[Update: ' ||
gUpdateRtCategoryIds.COUNT || '], Completed[' || gCompletedCount || ']');
gCompletedCount := gCompletedCount + gUpdateRtCategoryIds.COUNT;
updateCategories(pType);
select category_set_id,
validate_flag,
structure_id
into xCategorySetId,
xValidateFlag,
xStructureId
from mtl_default_sets_view
where functional_area_id = 2;
'select distinct mck.category_id category_id, ' ||
' nvl(mctl.description, mck.concatenated_segments) category_name, ' ||
' mctl.language language, ' ||
' mctl.source_lang source_lang, ' ||
' icat.rt_category_id rt_category_id, ' ||
' icat2.category_name old_category_name ';
'and GREATEST(mck.last_update_date, mctl.last_update_date';
xString := xString || ', mcsvc.last_update_date';
') > NVL(:last_run_date, mck.last_update_date-1) ' ||
'and mctl.category_id = mck.category_id ' ||
'and mctl.language in (select language_code ' ||
' from fnd_languages ' ||
' where installed_flag in (''B'', ''I'')) ' ||
'and to_char(mctl.category_id) = icat.key (+) ' ||
'and to_char(mctl.category_id) = icat2.key (+) ' ||
'and mctl.language = icat2.language (+) ';
'select distinct to_number(NULL) category_id, ' ||
' templates.express_name category_name, ' ||
' to_char(NULL) language, ' ||
' to_char(NULL) source_lang, ' ||
' icat.rt_category_id rt_category_id, ' ||
' icat.category_name old_category_name ';
'where templates.last_update_date > NVL(:last_run_date, ' ||
' templates.last_update_date-1) ' ||
'and NVL(templates.inactive_date, sysdate+1) > sysdate ' ||
'and exists (select -1 ';
xCategoryIds.DELETE;
xCategoryNames.DELETE;
xLanguages.DELETE;
xSourceLangs.DELETE;
xRtCategoryIds.DELETE;
xOldCategoryNames.DELETE;
select icx_por_categoryid.nextval
into xRtCategoryId
from dual;
select icx_por_categoryid.nextval
into xRtCategoryId
from dual;
xPendingCount := gUpdateCategoryKeys.COUNT + 1;
gUpdateCategoryKeys(xPendingCount) := xCategoryNames(i)||'_tmpl';
gUpdateCategoryNames(xPendingCount) := xCategoryNames(i);
gUpdateRtCategoryIds(xPendingCount) := xRtCategoryIds(i);
gUpdateLanguages(xPendingCount) := xLanguages(i);
gUpdateSourceLangs(xPendingCount) := xSourceLangs(i);
gUpdateLanguages(xPendingCount) := ICX_POR_EXTRACTOR.gBaseLang;
gUpdateSourceLangs(xPendingCount) := ICX_POR_EXTRACTOR.gBaseLang;