DBA Data[Home] [Help]

APPS.WMS_STRATEGY_PVT dependencies on WMS_ENGINE_PVT

Line 383: log_statement(l_api_name, 'WMS_Engine_PVT.g_move_order_type', WMS_Engine_PVT.g_move_order_type);-- Added for Bug 13718173

379:
380: log_statement(l_api_name, 'x_transaction_source_type_id:-', x_transaction_source_type_id);
381: log_statement(l_api_name, 'l_transaction_action_id:-', l_transaction_action_id);
382: log_statement(l_api_name, 'p_type_code:-', p_type_code);
383: log_statement(l_api_name, 'WMS_Engine_PVT.g_move_order_type', WMS_Engine_PVT.g_move_order_type);-- Added for Bug 13718173
384: if p_type_code= 2 and x_transaction_source_type_id=4 and l_transaction_action_id=2 AND WMS_Engine_PVT.g_move_order_type=inv_globals.G_MOVE_ORDER_PUT_AWAY then-- Added g_move_order_type condition for Bug 13718173
385: x_tree_mode := INV_Quantity_Tree_PUB.g_no_lpn_rsvs_mode ;
386: elsif p_type_code = 2 then
387: x_tree_mode := INV_Quantity_Tree_PVT.g_transaction_mode;

Line 384: if p_type_code= 2 and x_transaction_source_type_id=4 and l_transaction_action_id=2 AND WMS_Engine_PVT.g_move_order_type=inv_globals.G_MOVE_ORDER_PUT_AWAY then-- Added g_move_order_type condition for Bug 13718173

380: log_statement(l_api_name, 'x_transaction_source_type_id:-', x_transaction_source_type_id);
381: log_statement(l_api_name, 'l_transaction_action_id:-', l_transaction_action_id);
382: log_statement(l_api_name, 'p_type_code:-', p_type_code);
383: log_statement(l_api_name, 'WMS_Engine_PVT.g_move_order_type', WMS_Engine_PVT.g_move_order_type);-- Added for Bug 13718173
384: if p_type_code= 2 and x_transaction_source_type_id=4 and l_transaction_action_id=2 AND WMS_Engine_PVT.g_move_order_type=inv_globals.G_MOVE_ORDER_PUT_AWAY then-- Added g_move_order_type condition for Bug 13718173
385: x_tree_mode := INV_Quantity_Tree_PUB.g_no_lpn_rsvs_mode ;
386: elsif p_type_code = 2 then
387: x_tree_mode := INV_Quantity_Tree_PVT.g_transaction_mode;
388: else

Line 1464: wms_engine_pvt.g_business_object_id := l_object_id;

1460: 'The strategy search function found a valid strategy. ' ||
1461: 'Strategy : '|| l_strategy_id);
1462: End if;
1463: -- Calls to populate globals used by Simulation form
1464: wms_engine_pvt.g_business_object_id := l_object_id;
1465: IF p_type_code = 1 THEN
1466: wms_search_order_globals_pvt.g_putaway_business_object_id := l_object_id;
1467: wms_search_order_globals_pvt.g_putaway_strategy_id := l_strategy_id;
1468: wms_search_order_globals_pvt.g_putaway_pk1_value:= l_pk1_value;

Line 1671: l_mo_quantity := WMS_Engine_PVT.g_mo_quantity;

1667: IF (l_debug = 1) THEN
1668: log_statement(l_api_name, 'Entering get_max_tolerance', '-------------------');
1669: END IF;
1670: l_return_status := FND_API.G_RET_STS_SUCCESS;
1671: l_mo_quantity := WMS_Engine_PVT.g_mo_quantity;
1672: l_mo_sec_qty := WMS_Engine_PVT.g_mo_sec_qty;
1673:
1674: -- l_other_alloc is sum of allocation for all MO except current MO, with same p_trx_source_line_id
1675: SELECT NVL(SUM(transaction_quantity), 0)

Line 1672: l_mo_sec_qty := WMS_Engine_PVT.g_mo_sec_qty;

1668: log_statement(l_api_name, 'Entering get_max_tolerance', '-------------------');
1669: END IF;
1670: l_return_status := FND_API.G_RET_STS_SUCCESS;
1671: l_mo_quantity := WMS_Engine_PVT.g_mo_quantity;
1672: l_mo_sec_qty := WMS_Engine_PVT.g_mo_sec_qty;
1673:
1674: -- l_other_alloc is sum of allocation for all MO except current MO, with same p_trx_source_line_id
1675: SELECT NVL(SUM(transaction_quantity), 0)
1676: , NVL(SUM(secondary_transaction_quantity), 0)

Line 1739: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

1735: log_statement(l_api_name, 'l_requested_sec_qty', l_requested_sec_qty);
1736: END IF;
1737:
1738: l_other_alloc := l_other_alloc + GREATEST(0,(l_alloc_qty - l_requested_qty));
1739: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
1740: l_other_sec_alloc := l_other_sec_alloc + GREATEST(0,(l_alloc_sec_qty - l_requested_sec_qty));
1741: END IF;
1742:
1743: IF (l_debug = 1) THEN

Line 1752: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

1748:
1749: -- l_quantity_to_pick is required by 'wsh_details_validations.check_quantity_to_pick' to decide if any more
1750: -- allocation is allowed or not and will return value of l_allowed_flag. This is not being used currently here.
1751: l_quantity_to_pick := l_other_alloc + l_mo_quantity;
1752: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
1753: l_sec_qty_to_pick := l_other_sec_alloc + l_mo_sec_qty;
1754: END IF;
1755:
1756: /* Shipping API returns the following:

Line 1796: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

1792:
1793: -- l_max_possible_qty is maximum quantity(including tolerance) that can be allocated
1794: -- l_other_alloc should never exceed l_max_quantity, however to be safe putting GREATEST
1795: l_max_possible_qty := GREATEST(0, l_max_quantity - NVL(l_other_alloc,0));
1796: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
1797: l_max_poss_sec_qty := GREATEST(0, l_max_sec_qty - NVL(l_other_sec_alloc,0));
1798: END IF;
1799:
1800: -- WMS_RULE_PVT.g_min_qty_to_allocate is minimum quantity remaining to be allocated to satisfy sales order line

Line 1804: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

1800: -- WMS_RULE_PVT.g_min_qty_to_allocate is minimum quantity remaining to be allocated to satisfy sales order line
1801: -- quantity. Loop in Rules will try to allocate till this or current MO quantity whichever is less and will
1802: -- exit if this quantity is allocated
1803: WMS_RULE_PVT.g_min_qty_to_allocate := GREATEST(0,l_avail_req_qty - NVL(l_other_alloc,0) - NVL(l_cur_mo_alloc, 0));
1804: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
1805: WMS_RULE_PVT.g_min_sec_qty_to_alloc := GREATEST(0,l_avail_req_sec_qty
1806: - NVL(l_other_sec_alloc,0)
1807: - NVL(l_cur_mo_alloc, 0)
1808: );

Line 1814: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

1810:
1811: -- l_max_tolerance is tolerance value for the current MO, however it will be set to zero if it is non-negative
1812: -- and Rule allocation mode does not allows it
1813: l_max_tolerance := l_max_possible_qty - l_mo_quantity;
1814: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
1815: l_max_sec_tolerance := l_max_poss_sec_qty - l_mo_sec_qty;
1816: END IF;
1817:
1818: IF (l_debug = 1) THEN

Line 1836: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

1832:
1833: x_return_status := l_return_status;
1834: x_max_tolerance := l_max_tolerance;
1835:
1836: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
1837: x_max_sec_tolerance := l_max_sec_tolerance;
1838: ELSE
1839: x_max_sec_tolerance := 0;
1840: END IF;

Line 1902: -- WMS_Engine_PVT.Create_Suggestions only !

1898: -- Initial version 1.0
1899: -- Notes : calls API's of Wms_re_common_pvt, WMS_Rule_PVT
1900: -- and INV_Quantity_Tree_PVT
1901: -- This API must be called internally by
1902: -- WMS_Engine_PVT.Create_Suggestions only !
1903: -- End of comments
1904:
1905: procedure Apply (
1906: p_api_version IN NUMBER

Line 2273: IF l_lot_divisible_flag = 'N' and l_lot_control_code <> 1 and p_type_code = 2 and WMS_Engine_PVT.g_move_order_type = 3 THEN

2269:
2270: WMS_RULE_PVT.g_max_tolerance := 0;
2271: WMS_RULE_PVT.g_over_allocation := 'N';
2272:
2273: IF l_lot_divisible_flag = 'N' and l_lot_control_code <> 1 and p_type_code = 2 and WMS_Engine_PVT.g_move_order_type = 3 THEN
2274: --{ lot ctl and indivisible
2275: WMS_RULE_PVT.g_min_tolerance := 0;
2276:
2277: -- Start Bug 10222873

Line 2309: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

2305: END IF;
2306:
2307: WMS_RULE_PVT.g_max_tolerance := l_max_tolerance;
2308:
2309: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
2310: WMS_RULE_PVT.g_max_sec_tolerance := l_max_sec_tolerance;
2311: END IF;
2312: --} End Bug 10222873
2313:

Line 2315: AND (WMS_Engine_PVT.g_move_order_type IN (2,3) OR --Added Replenishment Move Order Type for bug# 9656966

2311: END IF;
2312: --} End Bug 10222873
2313:
2314: ELSIF p_type_code = 2
2315: AND (WMS_Engine_PVT.g_move_order_type IN (2,3) OR --Added Replenishment Move Order Type for bug# 9656966
2316: (WMS_Engine_PVT.g_move_order_type IN (5,8) AND WMS_Engine_PVT.g_wip_entity_type IN (9,10))) -- BUG14517947
2317: AND l_wms_enabled_flag = 'Y' THEN
2318: --{
2319: -- Though with constant tolerance over allocation will occur, but WMS_RULE_PVT.g_over_allocation = 'N'

Line 2316: (WMS_Engine_PVT.g_move_order_type IN (5,8) AND WMS_Engine_PVT.g_wip_entity_type IN (9,10))) -- BUG14517947

2312: --} End Bug 10222873
2313:
2314: ELSIF p_type_code = 2
2315: AND (WMS_Engine_PVT.g_move_order_type IN (2,3) OR --Added Replenishment Move Order Type for bug# 9656966
2316: (WMS_Engine_PVT.g_move_order_type IN (5,8) AND WMS_Engine_PVT.g_wip_entity_type IN (9,10))) -- BUG14517947
2317: AND l_wms_enabled_flag = 'Y' THEN
2318: --{
2319: -- Though with constant tolerance over allocation will occur, but WMS_RULE_PVT.g_over_allocation = 'N'
2320: -- will show that get_max_tolerance was not called,which will decide EXIT condition in the loop in Rules API

Line 2323: WMS_RULE_PVT.g_max_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_quantity)/100;

2319: -- Though with constant tolerance over allocation will occur, but WMS_RULE_PVT.g_over_allocation = 'N'
2320: -- will show that get_max_tolerance was not called,which will decide EXIT condition in the loop in Rules API
2321: IF l_over_allocation_mode = 3 -- constant tolerance
2322: THEN
2323: WMS_RULE_PVT.g_max_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_quantity)/100;
2324: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
2325: WMS_RULE_PVT.g_max_sec_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_sec_qty)/100;
2326: END IF;
2327: WMS_RULE_PVT.g_over_allocation := 'N';

Line 2324: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

2320: -- will show that get_max_tolerance was not called,which will decide EXIT condition in the loop in Rules API
2321: IF l_over_allocation_mode = 3 -- constant tolerance
2322: THEN
2323: WMS_RULE_PVT.g_max_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_quantity)/100;
2324: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
2325: WMS_RULE_PVT.g_max_sec_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_sec_qty)/100;
2326: END IF;
2327: WMS_RULE_PVT.g_over_allocation := 'N';
2328: ELSIF (l_over_allocation_mode = 2 AND WMS_Engine_PVT.g_move_order_type = 3) THEN --get_max_tolerance should not be called for OPM or replenishment move orders

Line 2325: WMS_RULE_PVT.g_max_sec_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_sec_qty)/100;

2321: IF l_over_allocation_mode = 3 -- constant tolerance
2322: THEN
2323: WMS_RULE_PVT.g_max_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_quantity)/100;
2324: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
2325: WMS_RULE_PVT.g_max_sec_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_sec_qty)/100;
2326: END IF;
2327: WMS_RULE_PVT.g_over_allocation := 'N';
2328: ELSIF (l_over_allocation_mode = 2 AND WMS_Engine_PVT.g_move_order_type = 3) THEN --get_max_tolerance should not be called for OPM or replenishment move orders
2329: get_max_tolerance(

Line 2328: ELSIF (l_over_allocation_mode = 2 AND WMS_Engine_PVT.g_move_order_type = 3) THEN --get_max_tolerance should not be called for OPM or replenishment move orders

2324: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
2325: WMS_RULE_PVT.g_max_sec_tolerance := (l_tolerance_value * WMS_Engine_PVT.g_mo_sec_qty)/100;
2326: END IF;
2327: WMS_RULE_PVT.g_over_allocation := 'N';
2328: ELSIF (l_over_allocation_mode = 2 AND WMS_Engine_PVT.g_move_order_type = 3) THEN --get_max_tolerance should not be called for OPM or replenishment move orders
2329: get_max_tolerance(
2330: p_transaction_temp_id => p_transaction_temp_id,
2331: p_organization_id => l_organization_id,
2332: p_inventory_item_id => l_inventory_item_id,

Line 2351: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

2347: END IF;
2348: END IF;
2349:
2350: WMS_RULE_PVT.g_max_tolerance := l_max_tolerance;
2351: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
2352: WMS_RULE_PVT.g_max_sec_tolerance := l_max_sec_tolerance;
2353: END IF;
2354: WMS_RULE_PVT.g_over_allocation := 'Y';
2355:

Line 2356: ELSIF ((p_strategy_id IS NULL or l_over_allocation_mode = 1) AND WMS_Engine_PVT.g_move_order_type = 3) THEN -- overallocation mode=None

2352: WMS_RULE_PVT.g_max_sec_tolerance := l_max_sec_tolerance;
2353: END IF;
2354: WMS_RULE_PVT.g_over_allocation := 'Y';
2355:
2356: ELSIF ((p_strategy_id IS NULL or l_over_allocation_mode = 1) AND WMS_Engine_PVT.g_move_order_type = 3) THEN -- overallocation mode=None
2357: -- Querying all MO other than current MO line that have the same l_trx_source_line_id to see if any one
2358: -- then have been Over Allocated earlier. If so, then even though the current Strategy does not allow
2359: -- for Over Allocation, we need to consider the previous over allocated quantity and make sure we honor
2360: -- the tolerance limits

Line 2363: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

2359: -- for Over Allocation, we need to consider the previous over allocated quantity and make sure we honor
2360: -- the tolerance limits
2361: --{
2362: BEGIN
2363: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
2364: SELECT 'Y'
2365: INTO WMS_RULE_PVT.g_over_allocation
2366: FROM mtl_txn_request_lines mtrl
2367: WHERE mtrl.txn_source_line_id = l_trx_source_line_id

Line 2429: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN

2425: log_statement(l_api_name, 'get_max_tolerance', 'Error in get_max_tolerance Call');
2426: END IF;
2427: END IF;
2428:
2429: IF NVL(wms_engine_pvt.g_fulfillment_base,'P') = 'S' THEN
2430: IF l_max_sec_tolerance < 0 THEN
2431: WMS_RULE_PVT.g_max_sec_tolerance := l_max_sec_tolerance;
2432: END IF;
2433: ELSE

Line 2531: (WMS_ENGINE_PVT.g_Is_xdock AND p_type_code = 1 ) -- [ Skip Rules for Xdocking

2527: --Added for bug3237702
2528: -- IF (is_pickrelease AND p_type_code = 1 AND l_req_locator_id IS NOT NULL) OR
2529: IF ((is_pickrelease OR p_wave_simulation_mode = 'Y') AND p_type_code = 1 AND l_req_locator_id IS NOT NULL) OR
2530: ( p_type_code = 1 AND l_wms_enabled_flag = 'N' ) OR -- [ Skiping putaway rules for INV Org ]
2531: (WMS_ENGINE_PVT.g_Is_xdock AND p_type_code = 1 ) -- [ Skip Rules for Xdocking
2532: THEN
2533: IF l_debug = 1 THEN
2534: log_event(l_api_name, 'APPLY()', 'applydefloc ');
2535: If l_wms_installed THEN