6: IS
7: CURSOR item_catalog_group_cursor
8: IS
9: SELECT ITEM_CATALOG_GROUP_ID
10: FROM MTL_ITEM_CATALOG_GROUPS_B;
11:
12: l_status VARCHAR2(1);
13: l_industry VARCHAR2(1);
14: l_schema VARCHAR2(30);
27:
28: --First delete all records in the denorm table.
29: DELETE EGO_ITEM_CAT_DENORM_HIER;
30:
31: --Now for each record in the MTL_ITEM_CATALOG_GROUPS_B table
32: --insert the complete child heirarchy into the denorm table.
33: FOR cat_rec IN item_catalog_group_cursor
34: LOOP --{
35: INSERT INTO EGO_ITEM_CAT_DENORM_HIER(PARENT_CATALOG_GROUP_ID, CHILD_CATALOG_GROUP_ID)
34: LOOP --{
35: INSERT INTO EGO_ITEM_CAT_DENORM_HIER(PARENT_CATALOG_GROUP_ID, CHILD_CATALOG_GROUP_ID)
36: SELECT cat_rec.ITEM_CATALOG_GROUP_ID PARENT_CATALOG_GROUP_ID
37: , IC.ITEM_CATALOG_GROUP_ID CHILD_CATALOG_GROUP_ID
38: FROM MTL_ITEM_CATALOG_GROUPS_B IC
39: CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
40: START WITH ITEM_CATALOG_GROUP_ID = cat_rec.ITEM_CATALOG_GROUP_ID;
41:
42: l_num_rows_inserted := l_num_rows_inserted + SQL%ROWCOUNT;
64: --{
65: CURSOR old_parent_hierarchy
66: IS
67: SELECT PARENT_CATALOG_GROUP_ID
68: FROM MTL_ITEM_CATALOG_GROUPS_B IC
69: CONNECT BY PRIOR PARENT_CATALOG_GROUP_ID = ITEM_CATALOG_GROUP_ID
70: START WITH ITEM_CATALOG_GROUP_ID = p_old_parent_id;
71:
72: CURSOR new_parent_hierarchy
71:
72: CURSOR new_parent_hierarchy
73: IS
74: SELECT PARENT_CATALOG_GROUP_ID
75: FROM MTL_ITEM_CATALOG_GROUPS_B IC
76: CONNECT BY PRIOR PARENT_CATALOG_GROUP_ID = ITEM_CATALOG_GROUP_ID
77: START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id;
78:
79: l_num_rows_updated NUMBER := 0;
101: INSERT INTO EGO_ITEM_CAT_DENORM_HIER(PARENT_CATALOG_GROUP_ID
102: , CHILD_CATALOG_GROUP_ID)
103: ( SELECT p_catalog_group_id PARENT_CATALOG_GROUP_ID,
104: IC.ITEM_CATALOG_GROUP_ID CHILD_CATALOG_GROUP_ID
105: FROM MTL_ITEM_CATALOG_GROUPS_B IC
106: CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
107: START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id );
108: l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
109:
114: DELETE FROM EGO_ITEM_CAT_DENORM_HIER
115: WHERE PARENT_CATALOG_GROUP_ID = p_old_parent_id
116: AND CHILD_CATALOG_GROUP_ID IN
117: ( SELECT IC.ITEM_CATALOG_GROUP_ID
118: FROM MTL_ITEM_CATALOG_GROUPS_B IC
119: CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
120: START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id );
121: l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
122:
129: DELETE FROM EGO_ITEM_CAT_DENORM_HIER
130: WHERE PARENT_CATALOG_GROUP_ID = old_parent_rec.PARENT_CATALOG_GROUP_ID
131: AND CHILD_CATALOG_GROUP_ID IN
132: ( SELECT IC.ITEM_CATALOG_GROUP_ID
133: FROM MTL_ITEM_CATALOG_GROUPS_B IC
134: CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
135: START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id );
136: l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
137: --}
151: INSERT INTO EGO_ITEM_CAT_DENORM_HIER(PARENT_CATALOG_GROUP_ID
152: , CHILD_CATALOG_GROUP_ID)
153: ( SELECT new_parent_rec.PARENT_CATALOG_GROUP_ID PARENT_CATALOG_GROUP_ID,
154: IC.ITEM_CATALOG_GROUP_ID CHILD_CATALOG_GROUP_ID
155: FROM MTL_ITEM_CATALOG_GROUPS_B IC
156: CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
157: START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id );
158: l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
159: --}