22: x_msg_count OUT NOCOPY NUMBER,
23: x_msg_data OUT NOCOPY VARCHAR2) IS
24:
25: l_routine_name VARCHAR2(30) := 'ALLOCATE_COMPLETION_TO_SO';
26: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
27: l_reservation_tbl inv_reservation_global.mtl_reservation_tbl_type;
28: l_rsv_tbl_count NUMBER;
29: l_transaction_tbl transaction_temp_tbl_type;
30: l_return_status VARCHAR(1);
23: x_msg_data OUT NOCOPY VARCHAR2) IS
24:
25: l_routine_name VARCHAR2(30) := 'ALLOCATE_COMPLETION_TO_SO';
26: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
27: l_reservation_tbl inv_reservation_global.mtl_reservation_tbl_type;
28: l_rsv_tbl_count NUMBER;
29: l_transaction_tbl transaction_temp_tbl_type;
30: l_return_status VARCHAR(1);
31: l_msg_count NUMBER;
52: l_reservation_rec.organization_id := p_organization_id;
53: l_reservation_rec.supply_source_header_id := p_wip_entity_id;
54: l_reservation_rec.inventory_item_id := p_inventory_item_id;
55: -- l_reservation_rec.demand_source_type_id :=
56: -- inv_reservation_global.g_source_type_oe;
57: l_reservation_rec.supply_source_type_id :=
58: inv_reservation_global.g_source_type_wip;
59:
60: -- query reservations against this particular WIP job.
54: l_reservation_rec.inventory_item_id := p_inventory_item_id;
55: -- l_reservation_rec.demand_source_type_id :=
56: -- inv_reservation_global.g_source_type_oe;
57: l_reservation_rec.supply_source_type_id :=
58: inv_reservation_global.g_source_type_wip;
59:
60: -- query reservations against this particular WIP job.
61: -- tell API to lock rows in mtl_reservations.
62: -- records are returned based on requirement date ascending.
70: x_msg_count => l_msg_count,
71: x_msg_data => l_msg_data,
72: p_query_input => l_reservation_rec,
73: p_lock_records => fnd_api.g_true,
74: p_sort_by_req_date => inv_reservation_global.g_query_req_date_asc,
75: x_mtl_reservation_tbl => l_reservation_tbl,
76: x_mtl_reservation_tbl_count => l_rsv_tbl_count,
77: x_error_code => l_error_code);
78:
164: x_msg_count => l_msg_count,
165: x_msg_data => l_msg_data,
166: p_query_input => l_reservation_rec,
167: p_lock_records => fnd_api.g_true,
168: p_sort_by_req_date => inv_reservation_global.g_query_req_date_asc,
169: x_mtl_reservation_tbl => l_reservation_tbl,
170: x_mtl_reservation_tbl_count => l_rsv_tbl_count,
171: x_error_code => l_error_code);
172:
447: x_msg_count OUT NOCOPY NUMBER,
448: x_msg_data OUT NOCOPY VARCHAR2) IS
449:
450: l_routine_name VARCHAR2(30) := 'RETURN_RESERVATION_TO_WIP';
451: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
452: l_reservation_tbl inv_reservation_global.mtl_reservation_tbl_type;
453: l_rsv_tbl_count NUMBER;
454: l_transaction_tbl transaction_temp_tbl_type;
455: l_return_status VARCHAR(1);
448: x_msg_data OUT NOCOPY VARCHAR2) IS
449:
450: l_routine_name VARCHAR2(30) := 'RETURN_RESERVATION_TO_WIP';
451: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
452: l_reservation_tbl inv_reservation_global.mtl_reservation_tbl_type;
453: l_rsv_tbl_count NUMBER;
454: l_transaction_tbl transaction_temp_tbl_type;
455: l_return_status VARCHAR(1);
456: l_msg_count NUMBER;
487: -- Get reservation
488: -------------------
489: l_reservation_rec.organization_id := p_organization_id;
490: l_reservation_rec.inventory_item_id := p_inventory_item_id;
491: --l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_oe;
492: l_reservation_rec.supply_source_type_id := inv_reservation_global.g_source_type_inv; -- not wip
493:
494: -- query reservations for a particular inventory item
495: -- tell API to lock rows in mtl_reservations.
488: -------------------
489: l_reservation_rec.organization_id := p_organization_id;
490: l_reservation_rec.inventory_item_id := p_inventory_item_id;
491: --l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_oe;
492: l_reservation_rec.supply_source_type_id := inv_reservation_global.g_source_type_inv; -- not wip
493:
494: -- query reservations for a particular inventory item
495: -- tell API to lock rows in mtl_reservations.
496: -- records are returned based on requirement date ascending.
501: x_msg_count => l_msg_count,
502: x_msg_data => l_msg_data,
503: p_query_input => l_reservation_rec,
504: p_lock_records => fnd_api.g_true,
505: p_sort_by_req_date => inv_reservation_global.g_query_req_date_asc,
506: x_mtl_reservation_tbl => l_reservation_tbl,
507: x_mtl_reservation_tbl_count => l_rsv_tbl_count,
508: x_error_code => l_error_code);
509:
680: l_routine_name VARCHAR2(30) := 'TRANSFER_FLOW_LINES';
681: l_reservation_qty NUMBER;
682: l_oe_header_id NUMBER;
683: l_so_type NUMBER;
684: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
685: l_expiration_date DATE := NULL;
686: l_reservation_id NUMBER;--
687: l_serial_number_tbl inv_reservation_global.serial_number_tbl_type;--
688: l_to_serial_number_tbl inv_reservation_global.serial_number_tbl_type;--
683: l_so_type NUMBER;
684: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
685: l_expiration_date DATE := NULL;
686: l_reservation_id NUMBER;--
687: l_serial_number_tbl inv_reservation_global.serial_number_tbl_type;--
688: l_to_serial_number_tbl inv_reservation_global.serial_number_tbl_type;--
689: l_quantity_reserved NUMBER;--
690: l_lotcount NUMBER := 0;--
691: l_return_status VARCHAR2(1);
684: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
685: l_expiration_date DATE := NULL;
686: l_reservation_id NUMBER;--
687: l_serial_number_tbl inv_reservation_global.serial_number_tbl_type;--
688: l_to_serial_number_tbl inv_reservation_global.serial_number_tbl_type;--
689: l_quantity_reserved NUMBER;--
690: l_lotcount NUMBER := 0;--
691: l_return_status VARCHAR2(1);
692: l_msg_count NUMBER;
851: l_reservation_rec.inventory_item_id := p_transaction_tbl(i).inventory_item_id;
852:
853:
854: IF (l_so_type = 10) THEN
855: l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_internal_ord;
856: ELSE
857: l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_oe;
858: END IF;
859:
853:
854: IF (l_so_type = 10) THEN
855: l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_internal_ord;
856: ELSE
857: l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_oe;
858: END IF;
859:
860: l_reservation_rec.demand_source_name := NULL;
861: l_reservation_rec.demand_source_delivery := NULL;
871: l_reservation_rec.detailed_quantity := NULL;
872: l_reservation_rec.autodetail_group_id := NULL;
873: l_reservation_rec.external_source_code := NULL;
874: l_reservation_rec.external_source_line_id := NULL;
875: l_reservation_rec.supply_source_type_id := inv_reservation_global.g_source_type_inv;
876: l_reservation_rec.supply_source_header_id := p_transaction_tbl(i).wip_entity_id;
877: l_reservation_rec.supply_source_line_id := NULL;
878: l_reservation_rec.supply_source_name := NULL;
879: l_reservation_rec.supply_source_line_detail := NULL;
1211: x_msg_count OUT NOCOPY NUMBER,
1212: x_msg_data OUT NOCOPY VARCHAR2) IS
1213:
1214: l_routine_name VARCHAR2(30) := 'COMPLETE_FLOW_SCHED_TO_SO';
1215: --l_reservation_rec_default inv_reservation_global.mtl_reservation_rec_type;
1216: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
1217: l_transaction_tbl transaction_temp_tbl_type;
1218: l_return_status VARCHAR2(1);
1219: l_msg_count NUMBER;
1212: x_msg_data OUT NOCOPY VARCHAR2) IS
1213:
1214: l_routine_name VARCHAR2(30) := 'COMPLETE_FLOW_SCHED_TO_SO';
1215: --l_reservation_rec_default inv_reservation_global.mtl_reservation_rec_type;
1216: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
1217: l_transaction_tbl transaction_temp_tbl_type;
1218: l_return_status VARCHAR2(1);
1219: l_msg_count NUMBER;
1220: l_msg_data VARCHAR2(2000);
1222: l_primary_uom_code VARCHAR2(3);
1223: l_primary_open_quantity NUMBER;
1224: l_quantity_reserved NUMBER;
1225: l_reservation_id NUMBER;
1226: l_serial_number_tbl inv_reservation_global.serial_number_tbl_type;
1227: l_to_serial_number_tbl inv_reservation_global.serial_number_tbl_type;
1228: l_line_rec OE_Order_PUB.Line_Rec_Type;
1229: l_line_id NUMBER;
1230: l_oe_header_id NUMBER;
1223: l_primary_open_quantity NUMBER;
1224: l_quantity_reserved NUMBER;
1225: l_reservation_id NUMBER;
1226: l_serial_number_tbl inv_reservation_global.serial_number_tbl_type;
1227: l_to_serial_number_tbl inv_reservation_global.serial_number_tbl_type;
1228: l_line_rec OE_Order_PUB.Line_Rec_Type;
1229: l_line_id NUMBER;
1230: l_oe_header_id NUMBER;
1231: l_so_type NUMBER;
1629: -- then the difference could be from free on-hand.
1630: -- ---------------------------------------------------------------------------
1631: FUNCTION validate_txn_line_against_rsv(
1632: p_transaction_rec IN transaction_temp_rec_type,
1633: p_reservation_rec IN inv_reservation_global.mtl_reservation_rec_type,
1634: p_transaction_type IN NUMBER,
1635: x_return_status OUT NOCOPY VARCHAR2,
1636: x_query_reservation OUT NOCOPY VARCHAR2 )
1637: RETURN BOOLEAN IS
1638:
1639: l_routine_name VARCHAR2(30) := 'VALIDATE_TXN_LINE_AGAINST_RSV';
1640: l_oe_header_id NUMBER;
1641: l_so_type NUMBER;
1642: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
1643: l_requirement_date DATE;
1644: l_primary_uom_code VARCHAR2(3);
1645: l_primary_open_quantity NUMBER;
1646: l_line_id NUMBER;
1644: l_primary_uom_code VARCHAR2(3);
1645: l_primary_open_quantity NUMBER;
1646: l_line_id NUMBER;
1647: l_msg_count NUMBER;
1648: l_dummy_sn INV_Reservation_Global.Serial_Number_Tbl_Type;
1649: l_return_status varchar2(1);
1650: l_api_return_status varchar2(1);
1651: l_msg_data VARCHAR(2000);
1652: x_msg_count NUMBER;
1652: x_msg_count NUMBER;
1653: x_msg_data VARCHAR(2000);
1654: l_quantity_reserved NUMBER;
1655: l_reservation_id NUMBER;
1656: l_reservation_tbl inv_reservation_global.mtl_reservation_tbl_type;
1657: l_rsv_tbl_count NUMBER;
1658: l_error_code NUMBER;
1659:
1660:
1763: l_reservation_rec.organization_id := p_transaction_rec.organization_id;
1764: l_reservation_rec.inventory_item_id := p_transaction_rec.inventory_item_id;
1765:
1766: IF (l_so_type = 10) THEN
1767: l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_internal_ord;
1768: ELSE
1769: l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_oe;
1770: END IF;
1771:
1765:
1766: IF (l_so_type = 10) THEN
1767: l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_internal_ord;
1768: ELSE
1769: l_reservation_rec.demand_source_type_id := inv_reservation_global.g_source_type_oe;
1770: END IF;
1771:
1772: l_reservation_rec.demand_source_name := NULL;
1773: l_reservation_rec.demand_source_delivery := NULL;
1789: l_reservation_rec.detailed_quantity := NULL;
1790: l_reservation_rec.autodetail_group_id := NULL;
1791: l_reservation_rec.external_source_code := NULL;
1792: l_reservation_rec.external_source_line_id := NULL;
1793: l_reservation_rec.supply_source_type_id := inv_reservation_global.g_source_type_wip;
1794: l_reservation_rec.supply_source_header_id := p_transaction_rec.wip_entity_id;
1795: l_reservation_rec.supply_source_line_id := NULL;
1796: l_reservation_rec.supply_source_name := NULL;
1797: l_reservation_rec.supply_source_line_detail := NULL;
1925: -- Internal helper
1926: -- ---------------------------------------------------------------------------
1927: PROCEDURE transfer_reservation(
1928: p_transaction_rec IN transaction_temp_rec_type,
1929: p_reservation_rec IN inv_reservation_global.mtl_reservation_rec_type,
1930: p_transaction_type IN NUMBER,
1931: x_return_status OUT NOCOPY VARCHAR2) IS
1932:
1933: l_routine_name VARCHAR2(30) := 'TRANSFER_RESERVATION';
1930: p_transaction_type IN NUMBER,
1931: x_return_status OUT NOCOPY VARCHAR2) IS
1932:
1933: l_routine_name VARCHAR2(30) := 'TRANSFER_RESERVATION';
1934: l_to_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
1935: l_to_reservation_id NUMBER;
1936: l_quantity NUMBER;
1937: l_return_status VARCHAR(1);
1938: l_msg_count NUMBER;
1936: l_quantity NUMBER;
1937: l_return_status VARCHAR(1);
1938: l_msg_count NUMBER;
1939: l_msg_data VARCHAR(2000);
1940: l_original_serial_number inv_reservation_global.serial_number_tbl_type;
1941: l_to_serial_number inv_reservation_global.serial_number_tbl_type;
1942: l_wip_cfg_rsv_level NUMBER;
1943:
1944: BEGIN
1937: l_return_status VARCHAR(1);
1938: l_msg_count NUMBER;
1939: l_msg_data VARCHAR(2000);
1940: l_original_serial_number inv_reservation_global.serial_number_tbl_type;
1941: l_to_serial_number inv_reservation_global.serial_number_tbl_type;
1942: l_wip_cfg_rsv_level NUMBER;
1943:
1944: BEGIN
1945: IF(p_transaction_type = WIP_CONSTANTS.WASSY_COMPLETION) THEN
1945: IF(p_transaction_type = WIP_CONSTANTS.WASSY_COMPLETION) THEN
1946: l_quantity := p_transaction_rec.primary_quantity;
1947:
1948: l_to_reservation_rec.supply_source_type_id :=
1949: inv_reservation_global.g_source_type_inv;
1950: l_to_reservation_rec.supply_source_header_id := p_transaction_rec.wip_entity_id;
1951: l_to_reservation_rec.supply_source_line_id := NULL;
1952: l_to_reservation_rec.supply_source_name := NULL;
1953: l_to_reservation_rec.supply_source_line_detail := NULL;
1972: ELSE
1973: l_quantity := - p_transaction_rec.primary_quantity;
1974:
1975: l_to_reservation_rec.supply_source_type_id :=
1976: inv_reservation_global.g_source_type_wip;
1977: /* Fix for bug 4236074: The following line was commented in 115.8. Uncommented this */
1978: l_to_reservation_rec.supply_source_header_id := p_transaction_rec.wip_entity_id;
1979: l_to_reservation_rec.supply_source_line_id := NULL;
1980: l_to_reservation_rec.supply_source_name := NULL;
2516: x_msg_data OUT NOCOPY VARCHAR2 ) IS
2517:
2518: l_routine_name VARCHAR2(30) := 'RELIEVE_WIP_RESERVATION';
2519: l_quantity_to_be_relieved Number;
2520: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
2521: l_reservation_tbl inv_reservation_global.mtl_reservation_tbl_type;
2522: l_rsv_tbl_count NUMBER;
2523: l_return_status VARCHAR2(1);
2524: l_msg_count NUMBER;
2517:
2518: l_routine_name VARCHAR2(30) := 'RELIEVE_WIP_RESERVATION';
2519: l_quantity_to_be_relieved Number;
2520: l_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
2521: l_reservation_tbl inv_reservation_global.mtl_reservation_tbl_type;
2522: l_rsv_tbl_count NUMBER;
2523: l_return_status VARCHAR2(1);
2524: l_msg_count NUMBER;
2525: l_msg_data VARCHAR2(2000);
2522: l_rsv_tbl_count NUMBER;
2523: l_return_status VARCHAR2(1);
2524: l_msg_count NUMBER;
2525: l_msg_data VARCHAR2(2000);
2526: l_to_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
2527: l_error_code NUMBER;
2528: l_line_reservation_quantity NUMBER;
2529: l_new_line_rsv_quantity NUMBER;
2530: l_dummy_sn inv_reservation_global.serial_number_tbl_type;
2526: l_to_reservation_rec inv_reservation_global.mtl_reservation_rec_type;
2527: l_error_code NUMBER;
2528: l_line_reservation_quantity NUMBER;
2529: l_new_line_rsv_quantity NUMBER;
2530: l_dummy_sn inv_reservation_global.serial_number_tbl_type;
2531:
2532:
2533: BEGIN
2534: fnd_msg_pub.initialize;
2538:
2539: l_reservation_rec.organization_id := p_organization_id;
2540: l_reservation_rec.supply_source_header_id := p_wip_entity_id;
2541: l_reservation_rec.inventory_item_id := p_inventory_item_id;
2542: l_reservation_rec.supply_source_type_id := inv_reservation_global.g_source_type_wip;
2543:
2544:
2545: -- query reservations against this particular WIP job.
2546: -- tell API to lock rows in mtl_reservations.
2552: x_msg_count => l_msg_count,
2553: x_msg_data => l_msg_data,
2554: p_query_input => l_reservation_rec,
2555: p_lock_records => fnd_api.g_true,
2556: p_sort_by_req_date => inv_reservation_global.g_query_req_date_desc,
2557: x_mtl_reservation_tbl => l_reservation_tbl,
2558: x_mtl_reservation_tbl_count => l_rsv_tbl_count,
2559: x_error_code => l_error_code);
2560:
2645: x_return_status OUT NOCOPY VARCHAR2) IS
2646:
2647: l_msg_count NUMBER;
2648: l_msg_data VARCHAR2(240);
2649: l_dummy_sn inv_reservation_global.serial_number_tbl_type;
2650: l_rsv_array inv_reservation_global.mtl_reservation_tbl_type;
2651: l_size NUMBER;
2652: l_error_code NUMBER;
2653: BEGIN
2646:
2647: l_msg_count NUMBER;
2648: l_msg_data VARCHAR2(240);
2649: l_dummy_sn inv_reservation_global.serial_number_tbl_type;
2650: l_rsv_array inv_reservation_global.mtl_reservation_tbl_type;
2651: l_size NUMBER;
2652: l_error_code NUMBER;
2653: BEGIN
2654: inv_reservation_form_pkg.query_reservation(
2778: x_return_status OUT NOCOPY VARCHAR2) IS
2779:
2780: l_msg_count NUMBER;
2781: l_msg_data VARCHAR2(240);
2782: l_rsv_array inv_reservation_global.mtl_reservation_tbl_type;
2783: l_error_code NUMBER;
2784: BEGIN
2785: inv_reservation_form_pkg.query_reservation(
2786: p_api_version_number => 1.0,