[Home] [Help]
70: v_pk1_value EGO_MTL_SY_ITEMS_EXT_B.pk1_value%TYPE;
71: v_pk2_value EGO_MTL_SY_ITEMS_EXT_B.pk2_value%TYPE;
72: v_data_level_name EGO_DATA_LEVEL_VL.user_data_level_name%TYPE;
73: v_sequence_id EGO_PUB_WS_FLAT_RECS.sequence_id%TYPE;
74: v_pk3_value EGO_ODI_WS_ENTITIES.pk3_value%TYPE;
75: v_org_id EGO_PUB_WS_FLAT_RECS.PK2_VALUE%TYPE;
76:
77: -- Performance changes
78: -- TYPE DYNAMIC_CUR IS REF CURSOR;
147: ent.PK3_VALUE, FLAT.SEQUENCE_ID
148: FROM
149: ego_attrs_v attr, EGO_STYLE_VARIANT_ATTR_VS var,
150: ego_attr_groups_v agv, mtl_system_items_b msib,
151: EGO_ODI_WS_ENTITIES ent, EGO_PUB_WS_FLAT_RECS flat
152: WHERE
153: var.ATTRIBUTE_ID = attr.ATTR_ID
154: AND agv.ATTR_GROUP_NAME = attr.ATTR_GROUP_NAME
155: AND attr.APPLICATION_ID = agv.APPLICATION_ID
222: var.VALUE_SET_ID , ent.PK3_VALUE ,
223: FLAT.SEQUENCE_ID
224: FROM
225: ego_attrs_v attr, EGO_STYLE_VARIANT_ATTR_VS var, ego_attr_groups_v agv,
226: EGO_ODI_WS_ENTITIES ent, EGO_PUB_WS_FLAT_RECS flat
227: WHERE
228: var.ATTRIBUTE_ID = attr.ATTR_ID
229: AND agv.ATTR_GROUP_NAME = attr.ATTR_GROUP_NAME
230: AND attr.APPLICATION_ID = agv.APPLICATION_ID
258: ' flat.SEQUENCE_ID , '||
259: ' ent.PK3_VALUE AS "PK3_VALUE" , '||
260: ' flat.PK2_VALUE AS "ORG_ID" '||
261: ' FROM EGO_MTL_SY_ITEMS_EXT_B egob, EGO_ATTR_GROUPS_V AG, '||
262: ' EGO_DATA_LEVEL_VL edlv , EGO_ODI_WS_ENTITIES ent, EGO_PUB_WS_FLAT_RECS flat '||
263: ' WHERE egob.DATA_LEVEL_ID = edlv.DATA_LEVEL_ID '||
264: ' AND AG.APPLICATION_ID = edlv.APPLICATION_ID '||
265: ' AND egob.ATTR_GROUP_ID = AG.ATTR_GROUP_ID '||
266: ' AND ent.SESSION_ID = :session_id '||
285: ' flat.SEQUENCE_ID , '||
286: ' ent.PK3_VALUE AS "PK3_VALUE" , '||
287: ' flat.PK2_VALUE AS "ORG_ID" '||
288: ' FROM EGO_MTL_SY_ITEMS_EXT_B egob, EGO_ATTR_GROUPS_V AG, ego_attr_group_dl AGDL, mtl_system_items_b msib, '||
289: ' EGO_DATA_LEVEL_VL edlv , EGO_ODI_WS_ENTITIES ent, EGO_PUB_WS_FLAT_RECS flat '||
290: ' WHERE egob.DATA_LEVEL_ID = edlv.DATA_LEVEL_ID '||
291: ' AND egob.DATA_LEVEL_ID = AGDL.DATA_LEVEL_ID '||
292: ' AND AG.APPLICATION_ID = edlv.APPLICATION_ID '||
293: ' AND egob.ATTR_GROUP_ID = AG.ATTR_GROUP_ID '||
1808: p_input_id => p_index ,
1809: p_err_code => 'BOM_EXPLOSION_ERROR',
1810: p_err_message => 'Error: Error Occured while exploding the '||alternate_desg||' structure for the Item ');
1811:
1812: DELETE ego_odi_ws_entities
1813: WHERE session_id = p_session_id
1814: AND pk1_value = pk1_value
1815: AND pk2_value = pk2_value
1816: AND pk3_value = pk3_value;
2035: WHERE type_id=l_batch_id AND Upper(parameter_name) ='EXPLODE_STD_BOM';
2036:
2037: FOR i IN 1..l_item_id_tab.Count
2038: LOOP
2039: INSERT INTO ego_odi_ws_entities ( session_id,odi_session_id,entity_type,pk1_value,pk2_value,pk3_value,pk4_value, SEQUENCE_NUMBER)
2040: VALUES (p_session_id,p_odi_session_id,'ITEM',l_item_id_tab(i),l_org_id_tab(i),l_rev_id_tab(i), i, i);
2041: END LOOP;
2042:
2043: ELSE
2116: -- Fetch the entity details, for non batch get the rev date also for each entity
2117: IF l_batch_id = -1 THEN
2118: SELECT pk1_value , pk2_value ,pk3_value, SEQUENCE_NUMBER, To_Date(pk5_value,'YYYY.MM.DD HH24:MI:SS') -- Bug 8659192
2119: BULK COLLECT INTO l_item_id_tab, l_org_id_tab, l_rev_id_tab, l_seq_num_tab, l_rev_date_tab
2120: FROM ego_odi_ws_entities
2121: WHERE session_id = p_session_id
2122: AND nvl(REF1_VALUE, 'Y') = 'Y';
2123: ELSE
2124: SELECT pk1_value , pk2_value ,pk3_value, SEQUENCE_NUMBER
2122: AND nvl(REF1_VALUE, 'Y') = 'Y';
2123: ELSE
2124: SELECT pk1_value , pk2_value ,pk3_value, SEQUENCE_NUMBER
2125: BULK COLLECT INTO l_item_id_tab, l_org_id_tab, l_rev_id_tab , l_seq_num_tab
2126: FROM ego_odi_ws_entities
2127: WHERE session_id = p_session_id
2128: AND nvl(REF1_VALUE, 'Y') = 'Y';
2129: END IF;
2130:
2170: FOR j IN cur_exploded_records(l_group_id, l_levels_to_explode)
2171: LOOP
2172: -- Do not publish components exploded with null revisions.
2173: IF(j.rev_id IS NOT NULL) THEN
2174: INSERT INTO ego_odi_ws_entities ( session_id, odi_session_id, entity_type, pk1_value, pk2_value, pk3_value, pk4_value)
2175: VALUES (p_session_id,p_odi_session_id,'ITEM',j.inventory_item_id,j.org_id,j.rev_id, l_seq_num_tab(i) );
2176: END IF;
2177: END LOOP; -- end of loop j
2178: END IF; -- end of (l_is_valid_structure)
2189: );
2190: IF (l_batch_id > -1 and x_return_status = 'S') THEN
2191: v_index := 1; -- Bug 8667104
2192: for k in (SELECT DISTINCT pk1_value , pk2_value ,pk3_value -- Bug 9530282
2193: FROM ego_odi_ws_entities
2194: WHERE session_id = p_session_id
2195: AND nvl(REF1_VALUE, 'Y') = 'Y')
2196: loop
2197: SELECT Count(*) INTO v_count
2225: -- Performance Change: End:
2226: END IF; -- end of if l_alt_desg IS NOT NULL
2227: END IF; -- end of (x_return_status = 'S')
2228:
2229: /* Check for duplicate records in ego_odi_ws_entities */
2230: FOR i IN (SELECT pk1_value, pk2_value, pk3_value FROM ego_odi_ws_entities
2231: WHERE session_id = p_session_id AND entity_type = 'ITEM')
2232: LOOP
2233: select Count(*) INTO l_duplicates_count FROM ego_odi_ws_entities
2226: END IF; -- end of if l_alt_desg IS NOT NULL
2227: END IF; -- end of (x_return_status = 'S')
2228:
2229: /* Check for duplicate records in ego_odi_ws_entities */
2230: FOR i IN (SELECT pk1_value, pk2_value, pk3_value FROM ego_odi_ws_entities
2231: WHERE session_id = p_session_id AND entity_type = 'ITEM')
2232: LOOP
2233: select Count(*) INTO l_duplicates_count FROM ego_odi_ws_entities
2234: WHERE session_id = p_session_id and pk1_value = i.pk1_value and pk2_value = i.pk2_value AND pk3_value = i.pk3_value
2229: /* Check for duplicate records in ego_odi_ws_entities */
2230: FOR i IN (SELECT pk1_value, pk2_value, pk3_value FROM ego_odi_ws_entities
2231: WHERE session_id = p_session_id AND entity_type = 'ITEM')
2232: LOOP
2233: select Count(*) INTO l_duplicates_count FROM ego_odi_ws_entities
2234: WHERE session_id = p_session_id and pk1_value = i.pk1_value and pk2_value = i.pk2_value AND pk3_value = i.pk3_value
2235: AND nvl(REF1_VALUE, 'Y') = 'Y'; -- Bug 8658259
2236:
2237: IF l_duplicates_count > 0
2235: AND nvl(REF1_VALUE, 'Y') = 'Y'; -- Bug 8658259
2236:
2237: IF l_duplicates_count > 0
2238: THEN
2239: DELETE ego_odi_ws_entities
2240: WHERE session_id = p_session_id
2241: AND pk1_value = i.pk1_value
2242: AND pk2_value = i.pk2_value
2243: AND pk3_value = i.pk3_value
2247: /* End of checking duplicate records */
2248: END IF;
2249:
2250: select count(*) into v_count
2251: FROM ego_odi_ws_entities
2252: WHERE session_id = p_session_id
2253: AND nvl(REF1_VALUE, 'Y') = 'Y';
2254:
2255: IF (v_count <> 0) THEN
3710: p_revision => l_revision ,
3711: p_rev_date => l_rev_date ,
3712: p_index => 1);
3713:
3714: INSERT INTO ego_odi_ws_entities ( session_id,odi_session_id,entity_type,pk1_value,pk2_value,pk3_value, pk4_value, pk5_value, SEQUENCE_NUMBER)
3715: VALUES (p_session_id,p_odi_session_id,'ITEM',l_inv_item_id,l_organization_id,l_revision_id, 1, To_Char(l_revision_date,'YYYY.MM.DD HH24:MI:SS'), 1);
3716: END IF;
3717: ELSE
3718: POPULATE_REVISION_DETAILS(p_session_id ,
4097: p_rev_date => l_rev_date ,
4098: p_index => i);
4099:
4100: -- Bug 8659192 : Insert the Rev Date for the Item, in the column pk5_value
4101: INSERT INTO ego_odi_ws_entities ( session_id,odi_session_id,entity_type,pk1_value,pk2_value,pk3_value, pk4_value, pk5_value, SEQUENCE_NUMBER)
4102: VALUES (p_session_id,p_odi_session_id,'ITEM',l_inv_item_id,l_organization_id,l_revision_id, i, To_Char(l_revision_date,'YYYY.MM.DD HH24:MI:SS') , i);
4103: END IF;
4104: ELSE
4105: SELECT To_Date(extractValue(xmlcontent, '/itemQueryParameters/RevisionDate'),'YYYY.MM.DD HH24:MI:SS')
4748: IF l_sec_predicate IS NOT NULL THEN
4749:
4750: BEGIN
4751: l_dynamic_sql := ' select distinct PK4_VALUE ' ||
4752: ' from EGO_ODI_WS_ENTITIES i ' ||
4753: ' where i.session_id = :1 ' ||
4754: ' AND nvl(i.REF1_VALUE, ''Y'') = ''Y'' ' ||
4755: ' AND NOT ' || l_sec_predicate;
4756:
4773: INTO l_batch_ent_obj_id
4774: FROM Ego_Pub_Bat_Ent_Objs_v
4775: WHERE batch_id = l_batch_id
4776: AND (PK1_VALUE, PK2_VALUE, PK3_VALUE) in (select pk1_value, pk2_value, pk3_value
4777: from EGO_ODI_WS_ENTITIES
4778: where session_id = p_session_id
4779: and SEQUENCE_NUMBER = l_seq_number);
4780:
4781: -- Need to use an API - which will be provided by PUB FWK
4797: CLOSE v_dynamic_cursor;
4798: END IF;
4799: END; -- end of BEGIN
4800:
4801: l_dynamic_update_sql := ' update EGO_ODI_WS_ENTITIES i ' ||
4802: ' set REF1_VALUE = ''N'' ' ||
4803: ' where i.session_id = :1 ' ||
4804: ' AND nvl(i.REF1_VALUE, ''Y'') = ''Y'' ' ||
4805: ' AND NOT ' || l_sec_predicate;
4826:
4827: IF l_sec_predicate IS NOT NULL THEN
4828: BEGIN
4829: l_dynamic_sql := ' select pk1_value, pk2_value, pk3_value, PK4_VALUE ' ||
4830: ' from EGO_ODI_WS_ENTITIES i ' ||
4831: ' where i.session_id = :1 ' ||
4832: ' AND nvl(i.REF1_VALUE, ''Y'') = ''N'' ' ||
4833: ' AND SEQUENCE_NUMBER IS NULL ' ||
4834: ' AND ' || l_sec_predicate;
4862: END IF;
4863: END; -- end of BEGIN
4864:
4865: l_dynamic_sql := ' select distinct PK4_VALUE ' ||
4866: ' from EGO_ODI_WS_ENTITIES i ' ||
4867: ' where i.session_id = :1 ' ||
4868: ' AND nvl(i.REF1_VALUE, ''Y'') = ''N'' ' ||
4869: ' AND SEQUENCE_NUMBER IS NULL ' ||
4870: ' AND NOT ' || l_sec_predicate;
4884: CLOSE v_dynamic_cursor;
4885: x_return_status := 'S';
4886: ELSE
4887: for i in (SELECT PK1_VALUE, PK2_VALUE, PK3_VALUE, PK4_VALUE
4888: FROM EGO_ODI_WS_ENTITIES
4889: WHERE SESSION_ID = P_SESSION_ID
4890: AND NVL(REF1_VALUE, 'Y') = 'N'
4891: AND SEQUENCE_NUMBER IS NULL)
4892: loop
4905: x_return_status := 'S';
4906: END IF; -- end of l_sec_predicate IS NOT NULL
4907: END IF;
4908:
4909: UPDATE EGO_ODI_WS_ENTITIES ent1
4910: SET REF1_VALUE = 'N'
4911: WHERE Nvl(REF1_VALUE, 'Y') <> 'N'
4912: AND session_id = p_session_id
4913: AND PK4_VALUE IN (SELECT PK4_VALUE FROM EGO_ODI_WS_ENTITIES ent2
4909: UPDATE EGO_ODI_WS_ENTITIES ent1
4910: SET REF1_VALUE = 'N'
4911: WHERE Nvl(REF1_VALUE, 'Y') <> 'N'
4912: AND session_id = p_session_id
4913: AND PK4_VALUE IN (SELECT PK4_VALUE FROM EGO_ODI_WS_ENTITIES ent2
4914: WHERE Nvl(REF1_VALUE, 'Y') = 'N'
4915: AND SEQUENCE_NUMBER IS NULL
4916: AND ent1.session_id = ent2.session_id
4917: );
5107: p_err_code => 'EGO_INVALID_SECURITY_DETAILS',
5108: p_err_message => 'Invalid Security Details');
5109:
5110: -- Do not publish any item, So delete all the records.
5111: DELETE ego_odi_ws_entities
5112: WHERE session_id = p_session_id;
5113:
5114: p_return_status := 'E';
5115: -- Bug 8776414 : End