5: PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('MSC_ATP_DEBUG'), 'N');
6:
7: -- dlt dsting. replaced hash with nested table since 8i doesn't support it
8: MAX_DLT_CACHE_SZ NUMBER := 10;
9: dlt_lookup MRP_ATP_PUB.char80_arr := MRP_ATP_PUB.char80_arr();
10: dlt_cache MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
11: ship_method_cache MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
12: dlt_idx NUMBER := 0;
13:
6:
7: -- dlt dsting. replaced hash with nested table since 8i doesn't support it
8: MAX_DLT_CACHE_SZ NUMBER := 10;
9: dlt_lookup MRP_ATP_PUB.char80_arr := MRP_ATP_PUB.char80_arr();
10: dlt_cache MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
11: ship_method_cache MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
12: dlt_idx NUMBER := 0;
13:
14: -- 2834932
7: -- dlt dsting. replaced hash with nested table since 8i doesn't support it
8: MAX_DLT_CACHE_SZ NUMBER := 10;
9: dlt_lookup MRP_ATP_PUB.char80_arr := MRP_ATP_PUB.char80_arr();
10: dlt_cache MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
11: ship_method_cache MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
12: dlt_idx NUMBER := 0;
13:
14: -- 2834932
15: G_NONWORKING_DAY CONSTANT NUMBER := 1;
47: p_organization_id IN NUMBER,
48: p_supplier_id IN NUMBER,
49: p_supplier_site_id IN NUMBER,
50: p_infinite_time_fence_date IN DATE,
51: x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ
52:
53: ) IS
54: j NUMBER;
55: l_return_status VARCHAR2(1);
103: -- NOTE: as part of the pegging enhancement this procedure assumes that
104: -- only 1 item's data is in the session specific temp table
105: --
106: PROCEDURE get_period_data_from_SD_temp(
107: x_atp_period OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ
108: ) IS
109: i NUMBER;
110: j NUMBER;
111: x_return_status NUMBER;
196: -- New procedure added as part of time_phased_atp to fix the
197: -- issue of not displaying correct quantities in ATP SD Window when
198: -- user opens ATP SD window from ATP pegging in allocated scenarios
199: PROCEDURE Get_Alloc_Data_From_Sd_Temp(
200: x_atp_period OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
201: x_return_status OUT NOCOPY VARCHAR2
202: ) IS
203: i NUMBER;
204: j NUMBER;
297: p_organization_id IN NUMBER,
298: p_customer_id IN NUMBER,
299: p_customer_site_id IN NUMBER,
300: p_assign_set_id IN NUMBER,
301: ---p_ship_set_item IN MRP_ATP_PUB.number_arr,
302: p_item_sourcing_info_rec IN MSC_ATP_CTO.Item_Sourcing_Info_Rec,
303: p_session_id IN NUMBER,
304: x_atp_sources OUT NoCopy MRP_ATP_PVT.Atp_Source_Typ,
305: x_return_status OUT NoCopy VARCHAR2,
317: l_distinct_item PLS_INTEGER;
318: l_organization_id NUMBER;
319:
320: /* Variables added for Bug 2585710 start */
321: l_dist_sr_ship_set_item_list MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
322: l_dest_ship_set_item_list MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
323: l_sysdate DATE;
324: l_return_status VARCHAR2(100);
325: /* Variables added for Bug 2585710 end */
318: l_organization_id NUMBER;
319:
320: /* Variables added for Bug 2585710 start */
321: l_dist_sr_ship_set_item_list MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
322: l_dest_ship_set_item_list MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
323: l_sysdate DATE;
324: l_return_status VARCHAR2(100);
325: /* Variables added for Bug 2585710 end */
326: --s_cto_rearch
324: l_return_status VARCHAR2(100);
325: /* Variables added for Bug 2585710 end */
326: --s_cto_rearch
327: l_model_flag number := 2;
328: l_line_ids MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
329: l_source_list MRP_ATP_PVT.Atp_Source_Typ;
330: --e_cto_rearch
331:
332: BEGIN
1620: --
1621: --
1622:
1623: PROCEDURE atp_consume_range (
1624: p_atp_qty IN OUT NoCopy MRP_ATP_PUB.number_arr,
1625: p_start_idx IN NUMBER,
1626: p_end_idx IN NUMBER)
1627: IS
1628: j NUMBER;
1711:
1712: END atp_consume_range;
1713:
1714: PROCEDURE atp_consume (
1715: p_atp_qty IN OUT NoCopy MRP_ATP_PUB.number_arr,
1716: p_counter IN NUMBER)
1717: IS
1718: BEGIN
1719: atp_consume_range(p_atp_qty, 1, p_counter);
1719: atp_consume_range(p_atp_qty, 1, p_counter);
1720: END atp_consume;
1721:
1722: PROCEDURE Details_Output (
1723: p_atp_period IN MRP_ATP_PUB.ATP_Period_Typ,
1724: p_atp_supply_demand IN MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1725: x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
1726: x_atp_supply_demand IN OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1727: x_return_status OUT NoCopy VARCHAR2
1720: END atp_consume;
1721:
1722: PROCEDURE Details_Output (
1723: p_atp_period IN MRP_ATP_PUB.ATP_Period_Typ,
1724: p_atp_supply_demand IN MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1725: x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
1726: x_atp_supply_demand IN OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1727: x_return_status OUT NoCopy VARCHAR2
1728: ) IS
1721:
1722: PROCEDURE Details_Output (
1723: p_atp_period IN MRP_ATP_PUB.ATP_Period_Typ,
1724: p_atp_supply_demand IN MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1725: x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
1726: x_atp_supply_demand IN OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1727: x_return_status OUT NoCopy VARCHAR2
1728: ) IS
1729:
1722: PROCEDURE Details_Output (
1723: p_atp_period IN MRP_ATP_PUB.ATP_Period_Typ,
1724: p_atp_supply_demand IN MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1725: x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
1726: x_atp_supply_demand IN OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1727: x_return_status OUT NoCopy VARCHAR2
1728: ) IS
1729:
1730: l_period_count PLS_INTEGER;
1925: END get_dept_res_code;
1926:
1927:
1928: PROCEDURE Get_SD_Period_Rec(
1929: p_atp_period IN MRP_ATP_PUB.ATP_Period_Typ,
1930: p_atp_supply_demand IN MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1931: p_identifier IN NUMBER,
1932: p_scenario_id IN NUMBER,
1933: p_new_scenario_id IN NUMBER,
1926:
1927:
1928: PROCEDURE Get_SD_Period_Rec(
1929: p_atp_period IN MRP_ATP_PUB.ATP_Period_Typ,
1930: p_atp_supply_demand IN MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1931: p_identifier IN NUMBER,
1932: p_scenario_id IN NUMBER,
1933: p_new_scenario_id IN NUMBER,
1934: x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
1930: p_atp_supply_demand IN MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1931: p_identifier IN NUMBER,
1932: p_scenario_id IN NUMBER,
1933: p_new_scenario_id IN NUMBER,
1934: x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
1935: x_atp_supply_demand IN OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1936: x_return_status OUT NoCopy VARCHAR2
1937: ) IS
1938:
1931: p_identifier IN NUMBER,
1932: p_scenario_id IN NUMBER,
1933: p_new_scenario_id IN NUMBER,
1934: x_atp_period IN OUT NOCOPY MRP_ATP_PUB.ATP_Period_Typ,
1935: x_atp_supply_demand IN OUT NOCOPY MRP_ATP_PUB.ATP_Supply_Demand_Typ,
1936: x_return_status OUT NoCopy VARCHAR2
1937: ) IS
1938:
1939: l_period_count PLS_INTEGER;
2237: l_using_new_plan number;
2238: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
2239:
2240: --bug 2854351
2241: l_plan_ids MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
2242: i number;
2243: l_generic_plan number;
2244:
2245: --ATP4drp local variable for time phased ATP.
2831:
2832: END Get_Plan_Info;
2833:
2834: PROCEDURE Atp_Backward_Consume(
2835: p_atp_qty IN OUT NoCopy MRP_ATP_PUB.number_arr
2836: )
2837: IS
2838: i NUMBER;
2839: j NUMBER;
2878: END Atp_Backward_Consume;
2879:
2880:
2881: PROCEDURE Atp_Accumulate(
2882: p_atp_qty IN OUT NoCopy MRP_ATP_PUB.number_arr
2883: )
2884: IS
2885: i NUMBER;
2886:
2920: )
2921: IS
2922:
2923: TYPE ITEM_COPRODUCTS is RECORD (
2924: Inventory_item_id MRP_ATP_PUB.number_Arr,
2925: Quantity MRP_ATP_PUB.number_arr);
2926: l_coproducts_rec ITEM_COPRODUCTS;
2927: --l_supply_usage number;
2928: --l_coproducts_flag varchar(4);
2921: IS
2922:
2923: TYPE ITEM_COPRODUCTS is RECORD (
2924: Inventory_item_id MRP_ATP_PUB.number_Arr,
2925: Quantity MRP_ATP_PUB.number_arr);
2926: l_coproducts_rec ITEM_COPRODUCTS;
2927: --l_supply_usage number;
2928: --l_coproducts_flag varchar(4);
2929: l_transaction_id NUMBER;
3217: IS
3218: l_return_status VARCHAR2(100);
3219: l_request_item_id NUMBER := NULL;
3220: l_sources mrp_atp_pvt.atp_source_typ;
3221: l_item_arr mrp_atp_pub.number_arr := mrp_atp_pub.number_arr(1);
3222: l_item_sourcing_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
3223: l_other_cols order_sch_wb.other_cols_typ;
3224: l_item_id NUMBER;
3225: l_sr_instance_id NUMBER;
4956:
4957:
4958: ---------------- Local Variables
4959:
4960: l_ship_method_arr MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
4961: l_lead_time_arr MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
4962:
4963: l_ship_method_arr_null MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
4964: l_lead_time_arr_null MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
4957:
4958: ---------------- Local Variables
4959:
4960: l_ship_method_arr MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
4961: l_lead_time_arr MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
4962:
4963: l_ship_method_arr_null MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
4964: l_lead_time_arr_null MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
4965:
4959:
4960: l_ship_method_arr MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
4961: l_lead_time_arr MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
4962:
4963: l_ship_method_arr_null MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
4964: l_lead_time_arr_null MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
4965:
4966: l_counter number;
4967: l_counter2 number;
4960: l_ship_method_arr MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
4961: l_lead_time_arr MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
4962:
4963: l_ship_method_arr_null MRP_ATP_PUB.char30_arr := MRP_ATP_PUB.char30_arr();
4964: l_lead_time_arr_null MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
4965:
4966: l_counter number;
4967: l_counter2 number;
4968: l_level_tmp number;
5432: p_partner_type IN NUMBER, --2814895
5433: p_party_site_id IN NUMBER, --2814895
5434: p_order_line_id IN NUMBER) --2814895
5435: IS
5436: l_dist_level_type MRP_ATP_PUB.number_arr;
5437: l_counter PLS_INTEGER := 0;
5438: l_sysdate DATE;
5439: l_inserted_rows PLS_INTEGER := 0;
5440: l_updated_rows PLS_INTEGER := 0;
5438: l_sysdate DATE;
5439: l_inserted_rows PLS_INTEGER := 0;
5440: l_updated_rows PLS_INTEGER := 0;
5441: l_min_region_value PLS_INTEGER := 0;
5442: l_inventory_item_id_arr MRP_ATP_PUB.number_arr;
5443: l_min_region_value_arr MRP_ATP_PUB.number_arr;
5444: l_items_visited PLS_INTEGER := 0;
5445: i PLS_INTEGER := 0;
5446:
5439: l_inserted_rows PLS_INTEGER := 0;
5440: l_updated_rows PLS_INTEGER := 0;
5441: l_min_region_value PLS_INTEGER := 0;
5442: l_inventory_item_id_arr MRP_ATP_PUB.number_arr;
5443: l_min_region_value_arr MRP_ATP_PUB.number_arr;
5444: l_items_visited PLS_INTEGER := 0;
5445: i PLS_INTEGER := 0;
5446:
5447: BEGIN
7868: -- Set processing procedures --
7869: --------------------------------------------------
7870:
7871: PROCEDURE Initialize_Set_Processing (
7872: p_set IN MRP_ATP_PUB.ATP_Rec_Typ,
7873: p_start IN NUMBER
7874: ) IS
7875: BEGIN
7876: IF PG_DEBUG in ('Y', 'C') THEN
7889: G_latest_arr_date_set := null;
7890: END Initialize_Set_Processing;
7891:
7892: PROCEDURE Process_Set_Line(
7893: p_set IN OUT NOCOPY MRP_ATP_PUB.ATP_Rec_Typ,
7894: i IN NUMBER,
7895: x_line_status OUT NOCOPY NUMBER
7896: ) IS
7897: l_request_date_ln DATE;
8042:
8043: END Process_Set_Line;
8044:
8045: PROCEDURE Process_Set_Dates_Errors(
8046: p_set IN OUT NOCOPY MRP_ATP_PUB.ATP_Rec_Typ,
8047: p_src_dest IN VARCHAR2,
8048: x_set_status OUT NOCOPY NUMBER,
8049: p_start IN NUMBER DEFAULT NULL,
8050: p_end IN NUMBER DEFAULT NULL
8288: END Process_Set_Dates_Errors;
8289:
8290: -- dsting copied and pasted from schedule
8291: PROCEDURE Update_Set_SD_Dates(
8292: p_set IN OUT NOCOPY MRP_ATP_PUB.ATP_Rec_Typ,
8293: p_arrival_set IN mrp_atp_pub.date_arr
8294: ) IS
8295: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
8296: l_plan_id NUMBER;
8289:
8290: -- dsting copied and pasted from schedule
8291: PROCEDURE Update_Set_SD_Dates(
8292: p_set IN OUT NOCOPY MRP_ATP_PUB.ATP_Rec_Typ,
8293: p_arrival_set IN mrp_atp_pub.date_arr
8294: ) IS
8295: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
8296: l_plan_id NUMBER;
8297: l_demand_pegging_id NUMBER;
8871:
8872: END get_delivery_lead_time;
8873:
8874: PROCEDURE number_arr_cat (
8875: p1 IN OUT NOCOPY mrp_atp_pub.number_arr,
8876: p2 IN mrp_atp_pub.number_arr
8877: ) IS
8878: len number;
8879: BEGIN
8872: END get_delivery_lead_time;
8873:
8874: PROCEDURE number_arr_cat (
8875: p1 IN OUT NOCOPY mrp_atp_pub.number_arr,
8876: p2 IN mrp_atp_pub.number_arr
8877: ) IS
8878: len number;
8879: BEGIN
8880: len := p1.count();
8884: end loop;
8885: END number_arr_cat;
8886:
8887: PROCEDURE date_arr_cat (
8888: p1 IN OUT NOCOPY mrp_atp_pub.date_arr,
8889: p2 IN mrp_atp_pub.date_arr
8890: ) IS
8891: len number;
8892: BEGIN
8885: END number_arr_cat;
8886:
8887: PROCEDURE date_arr_cat (
8888: p1 IN OUT NOCOPY mrp_atp_pub.date_arr,
8889: p2 IN mrp_atp_pub.date_arr
8890: ) IS
8891: len number;
8892: BEGIN
8893: len := p1.count();
8899:
8900: PROCEDURE cleanup_set(
8901: p_instance_id IN number,
8902: p_plan_id IN number,
8903: peg_ids IN mrp_atp_pub.number_arr,
8904: dmd_class_flag IN mrp_atp_pub.number_arr
8905: ) IS
8906: l_return_sts varchar2(1);
8907: BEGIN
8900: PROCEDURE cleanup_set(
8901: p_instance_id IN number,
8902: p_plan_id IN number,
8903: peg_ids IN mrp_atp_pub.number_arr,
8904: dmd_class_flag IN mrp_atp_pub.number_arr
8905: ) IS
8906: l_return_sts varchar2(1);
8907: BEGIN
8908: FOR i in 1..peg_ids.count LOOP