[Home] [Help]
888: decode(level3_fk_key,NULL,0,1) +
889: decode(level2_fk_key,NULL,0,1) +
890: decode(level1_fk_key,NULL,0,1)) over(PARTITION BY hierarchy_id)
891: max_level--maximum level in the hierarchy
892: FROM MTH.MTH_ITEM_DENORM_D_TMP
893: WHERE item_fk_key != MTH_UTIL_PKG.MTH_UA_GET_VAL
894: )
895: WHERE c_level
919:
920: --bulk update using forall
921: FORALL i IN
922: denorm_rec.baselevel_fk_key.first..denorm_rec.baselevel_fk_key.last
923: UPDATE MTH.MTH_ITEM_DENORM_D_TMP
924: SET
925: level8_fk_key = denorm_rec.level9_fk_key(i),
926: level7_fk_key = denorm_rec.level7_fk_key(i),
927: level6_fk_key = denorm_rec.level6_fk_key(i),
1001: v_unassigned_item_name := null;
1002: end;
1003:
1004: INSERT
1005: INTO MTH.MTH_ITEM_DENORM_D_TMP
1006: (
1007: HIERARCHY_ID,
1008: ITEM_FK_KEY,
1009: LEVEL1_FK_KEY,
1199: where mdh.dimension_name= 'ITEM' and
1200: mdll.hierarchy_id (+) = mdh.hierarchy_id);
1201:
1202: -- Balance the item denorm table
1203: mth_hrchy_balance_load('MTH.MTH_ITEM_DENORM_D_TMP');
1204: -- Push up and fill the level key and name for the ones with NULL
1205:
1206: UPDATE MTH.MTH_ITEM_DENORM_D_TMP
1207: SET level1_fk_key = nvl(level1_fk_key, v_unassigned_key),
1202: -- Balance the item denorm table
1203: mth_hrchy_balance_load('MTH.MTH_ITEM_DENORM_D_TMP');
1204: -- Push up and fill the level key and name for the ones with NULL
1205:
1206: UPDATE MTH.MTH_ITEM_DENORM_D_TMP
1207: SET level1_fk_key = nvl(level1_fk_key, v_unassigned_key),
1208: level1_name = nvl(level1_name, v_unassigned_category_name),
1209: level2_fk_key = nvl(level2_fk_key, v_unassigned_key),
1210: level2_name = nvl(level2_name, v_unassigned_category_name),
1225:
1226: -- Add entries for all the rest of levels
1227:
1228:
1229: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1230: (
1231: HIERARCHY_ID,
1232: ITEM_FK_KEY,
1233: LEVEL1_FK_KEY,
1273: LEVEL6_NAME,
1274: LEVEL7_NAME,
1275: LEVEL8_NAME,
1276: LEVEL9_NAME
1277: From MTH.MTH_ITEM_DENORM_D_TMP
1278: Where LEVEL9_FK_KEY is not null and level_NUM = 10;
1279:
1280: -- insert level 8 entries
1281: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1277: From MTH.MTH_ITEM_DENORM_D_TMP
1278: Where LEVEL9_FK_KEY is not null and level_NUM = 10;
1279:
1280: -- insert level 8 entries
1281: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1282: (
1283: HIERARCHY_ID,
1284: ITEM_FK_KEY,
1285: LEVEL1_FK_KEY,
1325: LEVEL6_NAME,
1326: LEVEL7_NAME,
1327: LEVEL8_NAME,
1328: NULL
1329: From MTH.MTH_ITEM_DENORM_D_TMP
1330: Where LEVEL8_FK_KEY is not null and level_NUM = 9;
1331:
1332: -- insert level 7 entries
1333: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1329: From MTH.MTH_ITEM_DENORM_D_TMP
1330: Where LEVEL8_FK_KEY is not null and level_NUM = 9;
1331:
1332: -- insert level 7 entries
1333: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1334: (
1335: HIERARCHY_ID,
1336: ITEM_FK_KEY,
1337: LEVEL1_FK_KEY,
1377: LEVEL6_NAME,
1378: LEVEL7_NAME,
1379: NULL,
1380: NULL
1381: From MTH.MTH_ITEM_DENORM_D_TMP
1382: Where LEVEL7_FK_KEY is not null and level_NUM = 8;
1383:
1384: -- insert level 6 entries
1385: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1381: From MTH.MTH_ITEM_DENORM_D_TMP
1382: Where LEVEL7_FK_KEY is not null and level_NUM = 8;
1383:
1384: -- insert level 6 entries
1385: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1386: (
1387: HIERARCHY_ID,
1388: ITEM_FK_KEY,
1389: LEVEL1_FK_KEY,
1429: LEVEL6_NAME,
1430: NULL,
1431: NULL,
1432: NULL
1433: From MTH.MTH_ITEM_DENORM_D_TMP
1434: Where LEVEL6_FK_KEY is not null and level_NUM = 7;
1435:
1436: -- insert level 5 entries
1437: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1433: From MTH.MTH_ITEM_DENORM_D_TMP
1434: Where LEVEL6_FK_KEY is not null and level_NUM = 7;
1435:
1436: -- insert level 5 entries
1437: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1438: (
1439: HIERARCHY_ID,
1440: ITEM_FK_KEY,
1441: LEVEL1_FK_KEY,
1481: NULL,
1482: NULL,
1483: NULL,
1484: NULL
1485: From MTH.MTH_ITEM_DENORM_D_TMP
1486: Where LEVEL5_FK_KEY is not null and level_NUM = 6;
1487:
1488: -- insert level 4 entries
1489: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1485: From MTH.MTH_ITEM_DENORM_D_TMP
1486: Where LEVEL5_FK_KEY is not null and level_NUM = 6;
1487:
1488: -- insert level 4 entries
1489: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1490: (
1491: HIERARCHY_ID,
1492: ITEM_FK_KEY,
1493: LEVEL1_FK_KEY,
1533: NULL,
1534: NULL,
1535: NULL,
1536: NULL
1537: From MTH.MTH_ITEM_DENORM_D_TMP
1538: Where LEVEL4_FK_KEY is not null and level_NUM = 5;
1539:
1540:
1541: -- insert level 3 entries
1538: Where LEVEL4_FK_KEY is not null and level_NUM = 5;
1539:
1540:
1541: -- insert level 3 entries
1542: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1543: (
1544: HIERARCHY_ID,
1545: ITEM_FK_KEY,
1546: LEVEL1_FK_KEY,
1586: NULL,
1587: NULL,
1588: NULL,
1589: NULL
1590: From MTH.MTH_ITEM_DENORM_D_TMP
1591: Where LEVEL3_FK_KEY is not null and level_NUM = 4;
1592:
1593:
1594: -- insert level 2 entries
1591: Where LEVEL3_FK_KEY is not null and level_NUM = 4;
1592:
1593:
1594: -- insert level 2 entries
1595: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1596: (
1597: HIERARCHY_ID,
1598: ITEM_FK_KEY,
1599: LEVEL1_FK_KEY,
1639: NULL,
1640: NULL,
1641: NULL,
1642: NULL
1643: From MTH.MTH_ITEM_DENORM_D_TMP
1644: Where LEVEL2_FK_KEY is not null and level_NUM = 3;
1645:
1646:
1647:
1645:
1646:
1647:
1648: -- insert level 1 entries
1649: Insert into MTH.MTH_ITEM_DENORM_D_TMP
1650: (
1651: HIERARCHY_ID,
1652: ITEM_FK_KEY,
1653: LEVEL1_FK_KEY,
1693: NULL,
1694: NULL,
1695: NULL,
1696: NULL
1697: From MTH.MTH_ITEM_DENORM_D_TMP
1698: Where LEVEL1_FK_KEY is not null and level_NUM = 2;
1699:
1700:
1701: EXCEPTION
1714:
1715: DELETE FROM mth_item_denorm_d d
1716: WHERE NOT EXISTS
1717: (SELECT 1
1718: FROM mth.mth_item_denorm_d_tmp t
1719: WHERE d.level_num = t.LEVEL_num AND
1720: d.hierarchy_id = t.hierarchy_id AND
1721: (d.item_fk_key = t.item_fk_key OR d.item_fk_key IS null AND t.item_fk_key IS NULL) AND
1722: (d.level9_fk_key = t.level9_fk_key OR d.level9_fk_key IS null AND t.level9_fk_key IS NULL) AND
1790: t.LEVEL4_NAME,
1791: t.LEVEL3_NAME,
1792: t.LEVEL2_NAME,
1793: t.LEVEL1_NAME
1794: FROM MTH.MTH_ITEM_DENORM_D_TMP t
1795: WHERE NOT EXISTS
1796: (SELECT 1
1797: FROM mth_item_denorm_d d
1798: WHERE d.level_num = t.LEVEL_num AND