[Home] [Help]
1253: default_unchanged_uf_details(p_x_uf_details_tbl => p_x_uf_details_tbl);
1254: --save details now
1255: FOR i IN p_x_uf_details_tbl.FIRST..p_x_uf_details_tbl.LAST LOOP
1256: IF(p_x_uf_details_tbl(i).operation_flag = AHL_UMP_UF_PVT.G_OP_DELETE) THEN
1257: AHL_UF_DETAILS_PKG.delete_row(p_x_uf_details_tbl(i).uf_detail_id);
1258: END IF;
1259: END LOOP;
1260:
1261: FOR i IN p_x_uf_details_tbl.FIRST..p_x_uf_details_tbl.LAST LOOP
1267: p_x_uf_details_tbl(i).last_updated_by := fnd_global.user_id;
1268: p_x_uf_details_tbl(i).last_update_date := SYSDATE;
1269: p_x_uf_details_tbl(i).last_update_login := fnd_global.user_id;
1270:
1271: AHL_UF_DETAILS_PKG.update_row(
1272: x_uf_detail_id => p_x_uf_details_tbl(i).uf_detail_id,
1273: x_object_version_number => p_x_uf_details_tbl(i).object_version_number,
1274: x_last_updated_by => p_x_uf_details_tbl(i).last_updated_by,
1275: x_last_update_date => p_x_uf_details_tbl(i).last_update_date,
1310: p_x_uf_details_tbl(i).last_update_login := fnd_global.user_id;
1311:
1312: p_x_uf_details_tbl(i).uf_header_id := p_uf_header_rec.uf_header_id;
1313:
1314: AHL_UF_DETAILS_PKG.insert_row(
1315: x_uf_detail_id => p_x_uf_details_tbl(i).uf_detail_id,
1316: x_object_version_number => p_x_uf_details_tbl(i).object_version_number,
1317: x_created_by => p_x_uf_details_tbl(i).created_by,
1318: x_creation_date => p_x_uf_details_tbl(i).creation_date,
1378: ) IS
1379:
1380: CURSOR uf_details_csr (p_uf_detail_id IN NUMBER) IS
1381: SELECT object_version_number, uf_header_id,uom_code,start_date,end_date,usage_per_day
1382: FROM ahl_uf_details
1383: WHERE uf_detail_id = p_uf_detail_id;
1384:
1385: l_object_version_number NUMBER;
1386: l_uf_header_id NUMBER;
1383: WHERE uf_detail_id = p_uf_detail_id;
1384:
1385: l_object_version_number NUMBER;
1386: l_uf_header_id NUMBER;
1387: l_uom_code ahl_uf_details.uom_code%TYPE;
1388: l_start_date DATE;
1389: l_end_date DATE;
1390: l_usage_per_day NUMBER;
1391:
1642: ) IS
1643:
1644: CURSOR uf_sorted_details_csr (p_uf_header_id IN NUMBER) IS
1645: SELECT object_version_number, uf_detail_id, uf_header_id,uom_code,start_date,end_date,usage_per_day
1646: FROM ahl_uf_details
1647: WHERE uf_header_id = p_uf_header_id
1648: AND (end_date IS NULL OR TRUNC(end_date) >= TRUNC(SYSDATE))
1649: ORDER BY uom_code,start_date;
1650:
1719: CURSOR uf_details_csr(p_uf_detail_id IN NUMBER, p_object_version_number IN NUMBER) IS
1720: SELECT uf_header_id,end_date,attribute_category, attribute1,attribute2, attribute3, attribute4,
1721: attribute5, attribute6, attribute7, attribute8, attribute9, attribute10, attribute11,
1722: attribute12, attribute13, attribute14, attribute15
1723: FROM ahl_uf_details
1724: WHERE object_version_number= p_object_version_number
1725: AND uf_detail_id = p_uf_detail_id;
1726:
1727: l_uf_details_rec AHL_UMP_UF_PVT.uf_details_rec_type;
1918: ) IS
1919:
1920: CURSOR uf_details_csr (p_uf_header_id IN NUMBER) IS
1921: SELECT 'x'
1922: FROM ahl_uf_details WHERE uf_header_id = p_uf_header_id;
1923:
1924: l_exist VARCHAR2(1);
1925:
1926:
2002: CONNECT BY pc_node_id = PRIOR parent_node_id;
2003: --
2004: CURSOR ahl_uf_uom_nodes_csr (c_pc_id IN NUMBER) IS
2005: SELECT distinct a.uom_code
2006: FROM ahl_uf_details a, ahl_uf_headers b
2007: WHERE a.uf_header_id = b.uf_header_id
2008: AND b.pc_node_id = c_pc_id
2009: -- JKJain, NR Analysis and Forecasting
2010: order by uom_code;
2008: AND b.pc_node_id = c_pc_id
2009: -- JKJain, NR Analysis and Forecasting
2010: order by uom_code;
2011: --
2012: CURSOR ahl_uf_details_csr (c_pc_id IN NUMBER, p_uom_code IN VARCHAR2) IS
2013: SELECT a.UF_DETAIL_ID,
2014: a.OBJECT_VERSION_NUMBER,
2015: a.LAST_UPDATE_DATE ,
2016: a.LAST_UPDATED_BY ,
2037: a.ATTRIBUTE12 ,
2038: a.ATTRIBUTE13 ,
2039: a.ATTRIBUTE14 ,
2040: a.ATTRIBUTE15
2041: FROM ahl_uf_details a, ahl_uf_headers b
2042: WHERE a.uom_code = p_uom_code
2043: AND b.pc_node_id = c_pc_id
2044: AND a.uf_header_id = b.uf_header_id;
2045: --
2042: WHERE a.uom_code = p_uom_code
2043: AND b.pc_node_id = c_pc_id
2044: AND a.uf_header_id = b.uf_header_id;
2045: --
2046: CURSOR ahl_uf_details_date_csr (p_pc_id IN NUMBER, p_uom_code IN VARCHAR2,p_onward_end_date IN DATE) IS
2047: SELECT a.UF_DETAIL_ID,
2048: a.OBJECT_VERSION_NUMBER,
2049: a.LAST_UPDATE_DATE ,
2050: a.LAST_UPDATED_BY ,
2071: a.ATTRIBUTE12 ,
2072: a.ATTRIBUTE13 ,
2073: a.ATTRIBUTE14 ,
2074: a.ATTRIBUTE15
2075: FROM ahl_uf_details a, ahl_uf_headers b
2076: WHERE (a.end_date IS NULL OR TRUNC(a.end_date) >= TRUNC(p_onward_end_date))
2077: AND a.uf_header_id = b.uf_header_id
2078: AND a.uom_code = p_uom_code
2079: AND b.pc_node_id = p_pc_id;
2080:
2081: -- added to fix bug# 6749351
2082: CURSOR ahl_uf_uom_item_csr (p_inventory_item_id IN NUMBER) IS
2083: SELECT distinct a.uom_code
2084: FROM ahl_uf_details a, ahl_uf_headers b
2085: WHERE a.uf_header_id = b.uf_header_id
2086: AND b.inventory_item_id = p_inventory_item_id
2087: -- JKJain, NR Analysis and Forecasting
2088: order by uom_code;
2117: a.ATTRIBUTE12 ,
2118: a.ATTRIBUTE13 ,
2119: a.ATTRIBUTE14 ,
2120: a.ATTRIBUTE15
2121: FROM ahl_uf_details a, ahl_uf_headers b
2122: WHERE a.uf_header_id = b.uf_header_id
2123: AND a.uom_code = p_uom_code
2124: AND b.inventory_item_id = p_inventory_item_id;
2125:
2154: a.ATTRIBUTE12 ,
2155: a.ATTRIBUTE13 ,
2156: a.ATTRIBUTE14 ,
2157: a.ATTRIBUTE15
2158: FROM ahl_uf_details a, ahl_uf_headers b
2159: WHERE (a.end_date IS NULL OR TRUNC(a.end_date) >= TRUNC(p_onward_end_date))
2160: AND a.uf_header_id = b.uf_header_id
2161: AND a.uom_code = p_uom_code
2162: AND b.inventory_item_id = p_inventory_item_id;
2163:
2164: -- added to fix bug# 6749351
2165: CURSOR ahl_uf_uom_unit_csr (p_unit_config_id IN NUMBER) IS
2166: SELECT distinct a.uom_code
2167: FROM ahl_uf_details a, ahl_uf_headers b
2168: WHERE a.uf_header_id = b.uf_header_id
2169: AND b.unit_config_header_id = p_unit_config_id
2170: order by uom_code;
2171:
2199: a.ATTRIBUTE12 ,
2200: a.ATTRIBUTE13 ,
2201: a.ATTRIBUTE14 ,
2202: a.ATTRIBUTE15
2203: FROM ahl_uf_details a, ahl_uf_headers b
2204: WHERE a.uf_header_id = b.uf_header_id
2205: AND a.uom_code = p_uom_code
2206: AND b.unit_config_header_id = p_unit_config_id;
2207:
2236: a.ATTRIBUTE12 ,
2237: a.ATTRIBUTE13 ,
2238: a.ATTRIBUTE14 ,
2239: a.ATTRIBUTE15
2240: FROM ahl_uf_details a, ahl_uf_headers b
2241: WHERE (a.end_date IS NULL OR TRUNC(a.end_date) >= TRUNC(p_onward_end_date))
2242: AND a.uf_header_id = b.uf_header_id
2243: AND a.uom_code = p_uom_code
2244: AND b.unit_config_header_id = p_unit_config_id;
2244: AND b.unit_config_header_id = p_unit_config_id;
2245: --
2246: l_UF_details_tbl AHL_UMP_UF_PVT.uf_details_tbl_type;
2247: l_UF_details_rec AHL_UMP_UF_PVT.uf_details_rec_type;
2248: l_temp_details_rec ahl_uf_details_csr%ROWTYPE;
2249: l_unit_config_header_id NUMBER DEFAULT p_unit_config_header_id;
2250: l_inventory_item_id NUMBER DEFAULT p_inventory_item_id;
2251: l_pc_node_id NUMBER DEFAULT p_PC_node_id;
2252: l_pc_id NUMBER;
2249: l_unit_config_header_id NUMBER DEFAULT p_unit_config_header_id;
2250: l_inventory_item_id NUMBER DEFAULT p_inventory_item_id;
2251: l_pc_node_id NUMBER DEFAULT p_PC_node_id;
2252: l_pc_id NUMBER;
2253: l_uom_code AHL_UF_DETAILS.UOM_CODE%TYPE;
2254: l_msg_count NUMBER;
2255: l_duplicate VARCHAR2(1);
2256: l_junk VARCHAR2(1);
2257: j NUMBER;
2565:
2566: -- If no duplicates are found for given uom, add to table all dates
2567: IF (l_duplicate = 'N') THEN
2568: IF(p_onward_end_date IS NULL) THEN
2569: OPEN ahl_uf_details_csr(l_pc_id, l_uom_code);
2570: LOOP
2571: FETCH ahl_uf_details_csr INTO l_temp_details_rec;
2572: EXIT WHEN ahl_uf_details_csr%NOTFOUND;
2573:
2567: IF (l_duplicate = 'N') THEN
2568: IF(p_onward_end_date IS NULL) THEN
2569: OPEN ahl_uf_details_csr(l_pc_id, l_uom_code);
2570: LOOP
2571: FETCH ahl_uf_details_csr INTO l_temp_details_rec;
2572: EXIT WHEN ahl_uf_details_csr%NOTFOUND;
2573:
2574: l_UF_details_rec.UF_DETAIL_ID := l_temp_details_rec.UF_DETAIL_ID;
2575: l_UF_details_rec.OBJECT_VERSION_NUMBER := l_temp_details_rec.OBJECT_VERSION_NUMBER ;
2568: IF(p_onward_end_date IS NULL) THEN
2569: OPEN ahl_uf_details_csr(l_pc_id, l_uom_code);
2570: LOOP
2571: FETCH ahl_uf_details_csr INTO l_temp_details_rec;
2572: EXIT WHEN ahl_uf_details_csr%NOTFOUND;
2573:
2574: l_UF_details_rec.UF_DETAIL_ID := l_temp_details_rec.UF_DETAIL_ID;
2575: l_UF_details_rec.OBJECT_VERSION_NUMBER := l_temp_details_rec.OBJECT_VERSION_NUMBER ;
2576: l_UF_details_rec.LAST_UPDATE_DATE := l_temp_details_rec.LAST_UPDATE_DATE ;
2601: l_UF_details_rec.ATTRIBUTE15 := l_temp_details_rec.ATTRIBUTE15 ;
2602: l_UF_details_tbl(j) := l_UF_details_rec;
2603: j := j+1;
2604: END LOOP;
2605: CLOSE ahl_uf_details_csr;
2606: ELSE
2607: OPEN ahl_uf_details_date_csr(l_pc_id, l_uom_code, p_onward_end_date);
2608: LOOP
2609: FETCH ahl_uf_details_date_csr INTO l_temp_details_rec;
2603: j := j+1;
2604: END LOOP;
2605: CLOSE ahl_uf_details_csr;
2606: ELSE
2607: OPEN ahl_uf_details_date_csr(l_pc_id, l_uom_code, p_onward_end_date);
2608: LOOP
2609: FETCH ahl_uf_details_date_csr INTO l_temp_details_rec;
2610: EXIT WHEN ahl_uf_details_date_csr%NOTFOUND;
2611:
2605: CLOSE ahl_uf_details_csr;
2606: ELSE
2607: OPEN ahl_uf_details_date_csr(l_pc_id, l_uom_code, p_onward_end_date);
2608: LOOP
2609: FETCH ahl_uf_details_date_csr INTO l_temp_details_rec;
2610: EXIT WHEN ahl_uf_details_date_csr%NOTFOUND;
2611:
2612: l_UF_details_rec.UF_DETAIL_ID := l_temp_details_rec.UF_DETAIL_ID;
2613: l_UF_details_rec.OBJECT_VERSION_NUMBER := l_temp_details_rec.OBJECT_VERSION_NUMBER ;
2606: ELSE
2607: OPEN ahl_uf_details_date_csr(l_pc_id, l_uom_code, p_onward_end_date);
2608: LOOP
2609: FETCH ahl_uf_details_date_csr INTO l_temp_details_rec;
2610: EXIT WHEN ahl_uf_details_date_csr%NOTFOUND;
2611:
2612: l_UF_details_rec.UF_DETAIL_ID := l_temp_details_rec.UF_DETAIL_ID;
2613: l_UF_details_rec.OBJECT_VERSION_NUMBER := l_temp_details_rec.OBJECT_VERSION_NUMBER ;
2614: l_UF_details_rec.LAST_UPDATE_DATE := l_temp_details_rec.LAST_UPDATE_DATE ;
2639: l_UF_details_rec.ATTRIBUTE15 := l_temp_details_rec.ATTRIBUTE15 ;
2640: l_UF_details_tbl(j) := l_UF_details_rec;
2641: j := j+1;
2642: END LOOP;
2643: CLOSE ahl_uf_details_date_csr;
2644: END IF;
2645: END IF;
2646:
2647: END LOOP;
2664: x_return_status OUT NOCOPY VARCHAR2)
2665: IS
2666:
2667: --
2668: CURSOR ahl_uf_details_csr (p_csi_item_instance_id IN NUMBER) IS
2669: SELECT a.UF_DETAIL_ID,
2670: a.OBJECT_VERSION_NUMBER,
2671: a.LAST_UPDATE_DATE ,
2672: a.LAST_UPDATED_BY ,
2693: a.ATTRIBUTE12 ,
2694: a.ATTRIBUTE13 ,
2695: a.ATTRIBUTE14 ,
2696: a.ATTRIBUTE15
2697: FROM ahl_uf_details a, ahl_uf_headers b,csi_item_instances c
2698: WHERE a.uf_header_id = b.uf_header_id
2699: AND b.inventory_item_id = c.inventory_item_id
2700: AND c.instance_id = p_csi_item_instance_id;
2701:
2698: WHERE a.uf_header_id = b.uf_header_id
2699: AND b.inventory_item_id = c.inventory_item_id
2700: AND c.instance_id = p_csi_item_instance_id;
2701:
2702: CURSOR ahl_uf_details_date_csr (p_csi_item_instance_id IN NUMBER, p_onward_end_date IN DATE) IS
2703: SELECT a.UF_DETAIL_ID,
2704: a.OBJECT_VERSION_NUMBER,
2705: a.LAST_UPDATE_DATE ,
2706: a.LAST_UPDATED_BY ,
2727: a.ATTRIBUTE12 ,
2728: a.ATTRIBUTE13 ,
2729: a.ATTRIBUTE14 ,
2730: a.ATTRIBUTE15
2731: FROM ahl_uf_details a, ahl_uf_headers b,csi_item_instances c
2732: WHERE (a.end_date IS NULL OR TRUNC(a.end_date) >= TRUNC(p_onward_end_date))
2733: AND a.uf_header_id = b.uf_header_id
2734: AND b.inventory_item_id = c.inventory_item_id
2735: AND c.instance_id = p_csi_item_instance_id;
2736:
2737:
2738: l_UF_details_tbl AHL_UMP_UF_PVT.uf_details_tbl_type;
2739: l_UF_details_rec AHL_UMP_UF_PVT.uf_details_rec_type;
2740: l_temp_details_rec ahl_uf_details_csr%ROWTYPE;
2741: j NUMBER;
2742:
2743:
2744: BEGIN
2751: -- Initialize API return status to success
2752: x_return_status := FND_API.G_RET_STS_SUCCESS;
2753: j := 0;
2754: IF(p_onward_end_date IS NULL) THEN
2755: OPEN ahl_uf_details_csr(p_csi_item_instance_id);
2756: LOOP
2757: FETCH ahl_uf_details_csr INTO l_temp_details_rec;
2758: EXIT WHEN ahl_uf_details_csr%NOTFOUND;
2759:
2753: j := 0;
2754: IF(p_onward_end_date IS NULL) THEN
2755: OPEN ahl_uf_details_csr(p_csi_item_instance_id);
2756: LOOP
2757: FETCH ahl_uf_details_csr INTO l_temp_details_rec;
2758: EXIT WHEN ahl_uf_details_csr%NOTFOUND;
2759:
2760: l_UF_details_rec.UF_DETAIL_ID := l_temp_details_rec.UF_DETAIL_ID;
2761: l_UF_details_rec.OBJECT_VERSION_NUMBER := l_temp_details_rec.OBJECT_VERSION_NUMBER ;
2754: IF(p_onward_end_date IS NULL) THEN
2755: OPEN ahl_uf_details_csr(p_csi_item_instance_id);
2756: LOOP
2757: FETCH ahl_uf_details_csr INTO l_temp_details_rec;
2758: EXIT WHEN ahl_uf_details_csr%NOTFOUND;
2759:
2760: l_UF_details_rec.UF_DETAIL_ID := l_temp_details_rec.UF_DETAIL_ID;
2761: l_UF_details_rec.OBJECT_VERSION_NUMBER := l_temp_details_rec.OBJECT_VERSION_NUMBER ;
2762: l_UF_details_rec.LAST_UPDATE_DATE := l_temp_details_rec.LAST_UPDATE_DATE ;
2787: l_UF_details_rec.ATTRIBUTE15 := l_temp_details_rec.ATTRIBUTE15 ;
2788: l_UF_details_tbl(j) := l_UF_details_rec;
2789: j := j+1;
2790: END LOOP;
2791: CLOSE ahl_uf_details_csr;
2792: ELSE
2793: OPEN ahl_uf_details_date_csr(p_csi_item_instance_id, p_onward_end_date);
2794: LOOP
2795: FETCH ahl_uf_details_date_csr INTO l_temp_details_rec;
2789: j := j+1;
2790: END LOOP;
2791: CLOSE ahl_uf_details_csr;
2792: ELSE
2793: OPEN ahl_uf_details_date_csr(p_csi_item_instance_id, p_onward_end_date);
2794: LOOP
2795: FETCH ahl_uf_details_date_csr INTO l_temp_details_rec;
2796: EXIT WHEN ahl_uf_details_date_csr%NOTFOUND;
2797:
2791: CLOSE ahl_uf_details_csr;
2792: ELSE
2793: OPEN ahl_uf_details_date_csr(p_csi_item_instance_id, p_onward_end_date);
2794: LOOP
2795: FETCH ahl_uf_details_date_csr INTO l_temp_details_rec;
2796: EXIT WHEN ahl_uf_details_date_csr%NOTFOUND;
2797:
2798: l_UF_details_rec.UF_DETAIL_ID := l_temp_details_rec.UF_DETAIL_ID;
2799: l_UF_details_rec.OBJECT_VERSION_NUMBER := l_temp_details_rec.OBJECT_VERSION_NUMBER ;
2792: ELSE
2793: OPEN ahl_uf_details_date_csr(p_csi_item_instance_id, p_onward_end_date);
2794: LOOP
2795: FETCH ahl_uf_details_date_csr INTO l_temp_details_rec;
2796: EXIT WHEN ahl_uf_details_date_csr%NOTFOUND;
2797:
2798: l_UF_details_rec.UF_DETAIL_ID := l_temp_details_rec.UF_DETAIL_ID;
2799: l_UF_details_rec.OBJECT_VERSION_NUMBER := l_temp_details_rec.OBJECT_VERSION_NUMBER ;
2800: l_UF_details_rec.LAST_UPDATE_DATE := l_temp_details_rec.LAST_UPDATE_DATE ;
2825: l_UF_details_rec.ATTRIBUTE15 := l_temp_details_rec.ATTRIBUTE15 ;
2826: l_UF_details_tbl(j) := l_UF_details_rec;
2827: j := j+1;
2828: END LOOP;
2829: CLOSE ahl_uf_details_date_csr;
2830: END IF;
2831:
2832: x_UF_details_tbl := l_UF_details_tbl;
2833: