DBA Data[Home] [Help]

APPS.WMS_REPLENISHMENT_PVT SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 107

	SELECT NAME,
	  NVL(ORDER_ID_PRIORITY, 999999999),
	  DECODE(ORDER_ID_SORT, 'A', 'ASC', 'D', 'DESC', ''),
	  NVL(INVOICE_VALUE_PRIORITY, 999999999),
	  DECODE(INVOICE_VALUE_SORT, 'A', 'ASC', 'D', 'DESC', ''),
	  NVL(SCHEDULE_DATE_PRIORITY, 999999999),
	  DECODE(SCHEDULE_DATE_SORT, 'A', 'ASC', 'D', 'DESC', ''),
	  NVL(SHIPMENT_PRI_PRIORITY, 999999999),
	  DECODE(SHIPMENT_PRI_SORT, 'A', 'ASC', 'D', 'DESC', ''),
	  NVL(TRIP_STOP_DATE_PRIORITY, 999999999),
	  DECODE(TRIP_STOP_DATE_SORT, 'A', 'ASC', 'D', 'DESC', '')
	  FROM WSH_PICK_SEQUENCE_RULES
	  WHERE PICK_SEQUENCE_RULE_ID = v_psr_id
	  AND SYSDATE BETWEEN TRUNC(NVL(START_DATE_ACTIVE, SYSDATE)) AND
	  NVL(END_DATE_ACTIVE, TRUNC(SYSDATE) + 1);
Line: 244

	select MISI.SOURCE_SUBINVENTORY, MSISR.pick_uom_code, Nvl(MISI.max_minmax_quantity,0), NVL(MISI.FIXED_LOT_MULTIPLE, -1)
	  FROM MTL_ITEM_SUB_INVENTORIES MISI,
	  MTL_SECONDARY_INVENTORIES msi,
	  MTL_SECONDARY_INVENTORIES MSISR
	  WHERE MISI.organization_id = p_Org_id
	  AND MISI.SECONDARY_INVENTORY = MSI.SECONDARY_INVENTORY_NAME
	  AND MISI.ORGANIZATION_ID = MSI.ORGANIZATION_ID
	  and MISI.INVENTORY_ITEM_ID = p_Item_id
	  and MISI.source_type = 3 --(for Subinventory)
	  AND MISI.source_organization_id = p_Org_id
	  and MISI.SECONDARY_INVENTORY = p_picking_sub
	  and MSISR.SECONDARY_INVENTORY_NAME = MISI.SOURCE_SUBINVENTORY
	  AND MSISR.ORGANIZATION_ID = MISI.ORGANIZATION_ID
	  order by MSI.picking_order;
Line: 322

PROCEDURE update_wdd_repl_status (p_deliv_detail_id   IN NUMBER
				  , p_repl_status     IN VARCHAR2
				  , p_deliv_qty       IN NUMBER DEFAULT NULL
				  , x_return_status            OUT    NOCOPY VARCHAR2
				  )
  IS

     l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
Line: 351

   l_detail_info_tab.DELETE;
Line: 362

      l_in_rec.action_code := 'UPDATE';
Line: 364

      WSH_INTERFACE_EXT_GRP.Create_Update_Delivery_Detail
	(p_api_version_number  => 1.0,
	 p_init_msg_list       => fnd_api.g_false,
	 p_commit              => fnd_api.g_false,
	 x_return_status       => l_return_status,
	 x_msg_count           => l_msg_count,
	 x_msg_data            => l_msg_data,
	 p_detail_info_tab     => l_detail_info_tab,
	 p_in_rec              => l_in_rec,
	 x_out_rec             => l_out_rec
	 );
Line: 382

	    print_debug('Error returned from Create_Update_Delivery_Detail IN api update_wdd_repl_status');
Line: 387

	    print_debug('Unexpected errror from Create_Update_Delivery_Detail IN api update_wdd_repl_status');
Line: 437

	 print_debug('Error update_wdd_repl_status: ' || sqlcode || ',' || sqlerrm);
Line: 441

END update_wdd_repl_status;
Line: 464

    SELECT delivery_detail_id
      FROM wsh_delivery_details wdd
      WHERE wdd.source_code = 'OE'
      AND wdd.organization_id = p_org_id
      AND wdd.requested_quantity > 0
      -- excluding Replenishment Requested status
      AND wdd.released_status in ('R', 'B') and wdd.replenishment_status = 'R'
      -- there might not be reservation
      AND NOT EXISTS
      (select 1
       from mtl_reservations mr
       WHERE MR.DEMAND_SOURCE_LINE_ID = wdd.source_line_id
       and MR.DEMAND_SOURCE_HEADER_ID =
       inv_salesorder.get_salesorder_for_oeheader(wdd.source_header_id)
       and MR.demand_source_type_id =
       decode(wdd.source_document_type_id, 10, 8, 2)
       and MR.SUBINVENTORY_CODE IS NOT NULL  --locator is not needed,
       )-- Exclude detailed RSV
	 AND NOT EXISTS
	 (select wrd.demand_line_detail_id
	  from WMS_REPLENISHMENT_DETAILS wrd
	  where wrd.demand_line_detail_id = wdd.delivery_detail_id
	  and wrd.demand_line_id = wdd.source_line_id
	  and wrd.organization_id = wdd.organization_id
	  AND wrd.organization_id = p_org_id)
	 AND wdd.batch_id = p_batch_id;
Line: 512

 l_detail_info_tab.DELETE;
Line: 528

 l_in_rec.action_code := 'UPDATE';
Line: 530

 WSH_INTERFACE_EXT_GRP.Create_Update_Delivery_Detail
     (p_api_version_number  => 1.0,
      p_init_msg_list       => fnd_api.g_false,
      p_commit              => fnd_api.g_false,
      x_return_status       => l_return_status,
      x_msg_count           => l_msg_count,
      x_msg_data            => l_msg_data,
      p_detail_info_tab     => l_detail_info_tab,
      p_in_rec              => l_in_rec,
      x_out_rec             => l_out_rec
      );
Line: 548

	 print_debug('Error returned from Create_Update_Delivery_Detail IN api Revert_ALL_WDD_dynamic_repl');
Line: 553

	 print_debug('Unexpected errror from Create_Update_Delivery_Detail api IN Revert_ALL_WDD_dynamic_repl');
Line: 592

	SELECT demand_line_detail_id
	  FROM wms_repl_demand_gtmp
	  WHERE inventory_item_id = p_item_id
	  AND ORGANIZATION_ID  = p_org_id
	  AND repl_level = 1
	  AND demand_type_id <> 4;
Line: 626

      l_detail_info_tab.DELETE;
Line: 637

      l_in_rec.action_code := 'UPDATE';
Line: 639

      WSH_INTERFACE_EXT_GRP.Create_Update_Delivery_Detail
	(p_api_version_number  => 1.0,
	 p_init_msg_list       => fnd_api.g_false,
	 p_commit              => fnd_api.g_false,
	 x_return_status       => l_return_status,
	 x_msg_count           => l_msg_count,
	 x_msg_data            => l_msg_data,
	 p_detail_info_tab     => l_detail_info_tab,
	 p_in_rec              => l_in_rec,
	 x_out_rec             => l_out_rec
	 );
Line: 657

	    print_debug('Error returned from Create_Update_Delivery_Detail IN api revert_consol_item_changes');
Line: 662

	    print_debug('Unexpected errror from	Create_Update_Delivery_Detail api IN revert_consol_item_changes');
Line: 671

   DELETE FROM  wms_repl_demand_gtmp
     WHERE inventory_item_id = p_item_id
     AND ORGANIZATION_ID  = p_org_id;
Line: 725

   G_backorder_deliv_tab.DELETE;
Line: 726

   G_backorder_qty_tab.DELETE;
Line: 727

   G_dummy_table.DELETE;
Line: 736

      G_backorder_deliv_tab.DELETE;
Line: 737

      G_backorder_qty_tab.DELETE;
Line: 738

      G_dummy_table.DELETE;
Line: 811

	SELECT  demand_header_id,
	  demand_line_id,
	  demand_line_detail_id,
	  demand_type_id,
	  Quantity,
	  Uom_code,
	  quantity_in_repl_uom,
	  REPL_UOM_code,
	  Expected_ship_date,
	  Repl_To_Subinventory_code,
	  repl_status,
	  RELEASED_STATUS
	  FROM wms_repl_demand_gtmp
	  WHERE inventory_item_id = l_item_id
	  AND organization_id = l_org_id
	  AND repl_level = P_REPL_LEVEL
	  ORDER BY repl_sequence_id;
Line: 973

	SELECT NVL(SUM(mr.primary_reservation_quantity),0)
	INTO l_rsvd_demand_qty
	FROM mtl_reservations mr ,
	     (select  distinct organization_id, inventory_item_id,
			  demand_line_id, demand_header_id
		   from WMS_REPL_DEMAND_GTMP
		   where inventory_item_id = l_item_id
		   and  organization_id = l_org_id
		   and demand_type_id <> 4
		   and repl_level = nvl(p_repl_level,1)) wrdg_v
	WHERE mr.organization_id       = wrdg_v.organization_id
	AND mr.inventory_item_id       = wrdg_v.inventory_item_id
	AND MR.DEMAND_SOURCE_LINE_ID   = wrdg_v.DEMAND_line_ID
	AND MR.DEMAND_SOURCE_HEADER_ID = wrdg_v.DEMAND_HEADER_ID;
Line: 990

	SELECT Nvl(sum(wrdg.QUANTITY),0) INTO l_gtmp_demand_qty
	  from WMS_REPL_DEMAND_GTMP WRDG
	  WHERE  Wrdg.INVENTORY_ITEM_ID = l_item_id
	  and wrdg.ORGANIZATION_ID = L_ORG_ID
	  and wrdg.demand_type_id <> 4
	  and wrdg.repl_level = nvl(p_repl_level, 1);
Line: 998

	SELECT  Nvl(SUM(wdd.requested_quantity),0) INTO l_other_wdd_qty
	  FROM wsh_delivery_details wdd
	  WHERE wdd.organization_id = l_org_id
	  AND wdd.inventory_item_id = l_item_id
	  AND((wdd.released_status NOT IN ('R','N','B','X','C') AND wdd.replenishment_status IS NULL)
	      OR (wdd.released_status = 'B' AND wdd.replenishment_status IS NOT NULL))
	  AND NOT EXISTS
		(SELECT 1
		 FROM wms_repl_demand_gtmp wrdg
		 WHERE wrdg.organization_id = wdd.organization_id
		 AND wrdg.inventory_item_id = wdd.inventory_item_id
		 AND wrdg.demand_line_detail_id = wdd.delivery_detail_id
		 AND wrdg.demand_header_id = inv_salesorder.get_salesorder_for_oeheader(wdd.source_header_id)
		 AND wrdg.demand_line_id = wdd.source_line_id
		 )
	  AND inv_salesorder.get_salesorder_for_oeheader(wdd.source_header_id) IN
		(
		 SELECT DISTINCT demand_header_id FROM wms_repl_demand_gtmp wrdg1
		 WHERE WRDG1.organization_id = l_org_id
		 AND WRDG1.inventory_item_id = l_item_id
		 );
Line: 1062

	  SELECT  SUM((mtrl.quantity - (Nvl(mtrl.quantity_detailed,0) +
					Nvl(mtrl.quantity_delivered,0))))  INTO l_open_mo_qty
	    FROM mtl_txn_request_lines mtrl,
	    Mtl_txn_request_headers mtrh
	    WHERE  mtrl.header_id = mtrh.header_id
	    AND mtrl.organization_id = mtrh.organization_id
	    AND mtrl.organization_id   = L_ORG_ID
	    AND mtrl.inventory_item_id = L_item_id
	    AND mtrl.organization_id in (select organization_id from mtl_parameters where wms_enabled_flag = 'Y')
	    AND MTRH.move_order_type = 2
	    and mtrl.line_status in (3,7) -- only approved and pre-approved
	    and mtrl.transaction_type_id = 64
	    and mtrl.transaction_source_type_id = 4
	    and mtrl.from_SUBINVENTORY_CODE = x_consol_item_repl_tbl(i).repl_to_subinventory_code
	    GROUP BY mtrl.inventory_item_id;
Line: 1107

	--  l_dyn_bkord_dd_id_tab.DELETE;
Line: 1108

	--  l_push_bkord_dd_id_tab.DELETE;
Line: 1131

       SELECT NVL(SUM(mr.primary_reservation_quantity),0)
			INTO l_rsvd_demand_line_qty
			FROM mtl_reservations mr
			WHERE mr.organization_id       =l_org_id
			AND mr.inventory_item_id       =l_item_id
			AND MR.DEMAND_SOURCE_LINE_ID   =  l_demand_line_id
			AND MR.DEMAND_SOURCE_HEADER_ID = l_demand_header_id;
Line: 1160

		   -- Shipping will update current WDD with qty = l_atr
		   -- and create a new WDD with qty = (l_quantity - l_atr)

		   -- 2-Split the Qty in the GTMP :UPDATE current demand RECORD with qty = l_atr
		   -- We do NOT need to insert the new record in GTMP with qty = (l_quantity - l_atr)
		   -- since we are going to delete downstream from GTMP for ALL unmet demand lines

		   -- -3-Adjust 	l_prim_repl_qty := l_prim_repl_qty +l_atr;
Line: 1170

		   l_detail_id_tab.DELETE;
Line: 1210

		   -- update the qty in the existing GTMP record
		   UPDATE wms_repl_demand_gtmp
		     SET  QUANTITY   = l_atr,
		     QUANTITY_IN_REPL_UOM  =  l_new_qty_in_repl_uom
		     WHERE demand_line_detail_id = l_demand_line_detail_id;
Line: 1230

		-- add to the backorder table to backorder demand AND delete from GTMP
		IF p_repl_type = g_push_repl THEN

		   -- we can call the backorder API for WDD lines that are already backordered
		   -- Now, Shipping team has made changes and it will honor
		   -- consolidation of the backordered api feature
		   -- it does NOT matter whether DD_id was alredy backordered

		   l_cnt := l_cnt+1; --BUG10131943
Line: 1272

		  -- delete this demand line from the GTMP
		  -- subtract the qty from the consol record
		  DELETE FROM wms_repl_demand_gtmp
		    WHERE demand_line_detail_id = l_demand_line_detail_id;
Line: 1277

		  -- we have not updated the qty l_prim_repl_qty yet
		  -- so no need to update the consol qty for this item

		  -- Add here to list of delivery_details to be backordered
		  cnt := cnt+1;
Line: 1297

	     print_debug( 'PUSH - NUMBER OF lines to be deleted :'||l_push_bkord_dd_id_tab.count);
Line: 1301

	    DELETE FROM wms_repl_demand_gtmp
	    WHERE demand_line_detail_id = l_push_bkord_dd_id_tab(k)
	    AND inventory_item_id = l_item_id
	    AND organization_id = L_ORG_ID
	    AND Nvl(repl_level,1) = p_repl_level;
Line: 1308

	     print_debug( 'DYNAMIC - NUMBER OF lines to be deleted :'||l_dyn_bkord_dd_id_tab.count);
Line: 1327

	    DELETE FROM wms_repl_demand_gtmp
	    WHERE demand_line_detail_id = l_dyn_bkord_dd_id_tab(k)
	    AND inventory_item_id = l_item_id
	    AND organization_id = L_ORG_ID
	    AND Nvl(repl_level,1) = p_repl_level;
Line: 1359

	    x_consol_item_repl_tbl.DELETE(i);
Line: 1396

	  l_in_rec.action_code := 'UPDATE';
Line: 1398

	  WSH_INTERFACE_EXT_GRP.Create_Update_Delivery_Detail
	    (p_api_version_number  => 1.0,
	     p_init_msg_list       => fnd_api.g_false,
	     p_commit              => fnd_api.g_false,
	     x_return_status       => l_return_status,
	     x_msg_count           => l_msg_count,
	     x_msg_data            => l_msg_data,
	     p_detail_info_tab     => l_detail_info_tab,
	     p_in_rec              => l_in_rec,
	     x_out_rec             => l_out_rec
	     );
Line: 1416

		print_debug('Error returned from Create_Update_Delivery_Detail IN api ADJUST_ATR_FOR_ITEM');
Line: 1421

		print_debug('Unexpected errror from Create_Update_Delivery_Detail api IN ADJUST_ATR_FOR_ITEM');
Line: 1430

	l_dyn_bkord_dd_id_tab.DELETE;
Line: 1431

	l_push_bkord_dd_id_tab.DELETE;
Line: 1545

   l_consol_item_repl_tbl.DELETE;
Line: 1548

   g_item_uom_conversion_tb.DELETE;
Line: 1581

      l_consol_item_repl_tbl.DELETE;
Line: 1597

			   print_debug('RECORD has been deleted from consol table, Skipping it');
Line: 1617

      l_consol_item_repl_tbl.DELETE;
Line: 1687

      l_consol_item_repl_tbl.DELETE;
Line: 1688

      g_item_uom_conversion_tb.DELETE;
Line: 1741

   l_consol_item_repl_tbl.DELETE;
Line: 1744

   g_item_uom_conversion_tb.DELETE;
Line: 1765

      l_consol_item_repl_tbl.DELETE;
Line: 1787

			   print_debug('RECORD has been deleted from consol table, Skipping it');
Line: 1865

      l_consol_item_repl_tbl.DELETE;
Line: 1939

	SELECT
	  item_id,header_id,line_id,delivery_detail_id,demand_type_id,requested_quantity,requested_quantity_uom,
	  quantity_in_repl_uom, expected_ship_date , replenishment_status,released_status,
	  sort_attribute1 ,sort_attribute2,sort_attribute3,sort_attribute4,sort_attribute5

	  FROM (
		SELECT wdd.inventory_item_id as item_id,
		inv_salesorder.get_salesorder_for_oeheader(wdd.source_header_id) AS header_id,
		wdd.source_line_id AS line_id,
		wdd.delivery_detail_id delivery_detail_id,
		decode(wdd.source_document_type_id, 10, 8, 2) as demand_type_id, -- for SO=2 and Internal Order=8
		wdd.requested_quantity requested_quantity, -- this is always stored in primary UOM
		wdd.requested_quantity_uom requested_quantity_uom,
		ROUND((wdd.requested_quantity * get_conversion_rate(wdd.inventory_item_id,
					 wdd.requested_quantity_uom,
					 p_repl_UOM)),g_conversion_precision) as quantity_in_repl_uom,

		decode(p_Scheduled_Ship_Date_To,
		       null,
		       decode(p_Scheduled_Ship_Date_From,
			      null,
			      null,
			      NVL(WMS_REPLENISHMENT_PVT.Get_Expected_Time(decode(wdd.source_document_type_id, 10, 8, 2),
									  wdd.source_header_id,
									  wdd.source_line_id,
									  wdd.delivery_detail_id),
				  WDD.date_scheduled)),

		       NVL(WMS_REPLENISHMENT_PVT.Get_Expected_Time(decode(wdd.source_document_type_id, 10, 8, 2),
								   wdd.source_header_id,
								   wdd.source_line_id,
								   wdd.delivery_detail_id),
			   WDD.date_scheduled)) as expected_ship_date,
			     wdd.replenishment_status,
			     wdd.released_status,

			     -- For order clause by select column values for WSH_PICK_SEQUENCE_RULES
			     -- get for sort_attribute1
			     To_number(DECODE(p_Release_Sequence_Rule_Id,
					      null,
					      null,
                  DECODE(g_ordered_psr(1).attribute_name,
                         'ORDER_NUMBER',
                         DECODE(L_ORDER_ID_SORT,
                                'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
			       NULL),
			 'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
                                 'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute1,

           -- get for sort_attribute2
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(2).attribute_name,
                         'ORDER_NUMBER',
			 DECODE(L_ORDER_ID_SORT,
				'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
				NULL),
                         'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
				'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute2,

           -- get for sort_attribute3
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(3).attribute_name,
                         'ORDER_NUMBER',
			 DECODE(L_ORDER_ID_SORT,
				'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
				NULL),
                         'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
				'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute3,

           -- get for sort_attribute4
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(4).attribute_name,
                         'ORDER_NUMBER',
			 DECODE(L_ORDER_ID_SORT,
				'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
				NULL),
			 'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
				'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute4,

           -- get for sort_attribute5
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(5).attribute_name,
                         'ORDER_NUMBER',
			 DECODE(L_ORDER_ID_SORT,
				'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
				null),
                         'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
				'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
			   NULL))) as sort_attribute5

			   FROM oe_order_lines_all oel,
			   wsh_delivery_details wdd
			   WHERE wdd.organization_id = p_organization_id
			   AND wdd.source_code = 'OE'
			   AND oel.booked_flag = 'Y'
			   AND oel.open_flag = 'Y'
			   AND wdd.requested_quantity > 0
			   AND oel.line_id = wdd.source_line_id
			   -- excluding Replenishment requested status
			   AND wdd.released_status in ('R', 'B')
			   and nvl(wdd.replenishment_status, 'C') = 'C'
			   -- there might not be reservation
			   AND not exists
			   (select 1
			    from mtl_reservations mr
			    WHERE MR.DEMAND_SOURCE_LINE_ID = wdd.source_line_id
			    and MR.DEMAND_SOURCE_HEADER_ID =
			    inv_salesorder.get_salesorder_for_oeheader(wdd.source_header_id)
			    AND MR.SUBINVENTORY_CODE IS NOT NULL) --locator is not needed -- Exclude detailed RSV

			      --Exclude those demands that have suub
			      -- specified, we can not use sub = Forward_pick_sub either
			      -- becs FP sub info is not availble while marking 'RC' at the pick drop time when rsv = N
			    AND wdd.subinventory IS NULL
				/*10131943- Made the query on MTL_ABC_ASSIGNMENTS a sub-query because an item can have multiple ABC compile/group assignments*/
                AND (NOT EXISTS (SELECT 1
							   FROM   mtl_abc_assignments maa
							   WHERE   maa.inventory_item_id = oel.inventory_item_id)
					 OR EXISTS (SELECT 1
							   FROM   mtl_abc_assignments maa
							   WHERE   maa.inventory_item_id = oel.inventory_item_id
								AND Nvl(maa.assignment_group_id, -1) = Nvl(p_ABC_assignment_group_id, Nvl(maa.assignment_group_id, -1))
								AND Nvl(maa.abc_class_id, -1) = Nvl(p_abc_class_id, Nvl(maa.abc_class_id, -1))
								)
					)
			     AND (nvl(wdd.customer_id, -1) = nvl(p_customer_id,nvl(wdd.customer_id, -1))
				   OR  wdd.customer_id in (SELECT party_id FROM  hz_cust_accounts
						      WHERE customer_class_code = p_customer_class
						      AND  status <> 'I'
						      AND  party_id = nvl(p_customer_id,party_id)))
			      AND wdd.source_header_type_id = nvl(P_ORDER_TYPE_ID,source_header_type_id)
			      AND NOT  exists
			      (select wrd.demand_line_detail_id
			       from WMS_REPLENISHMENT_DETAILS wrd
			       where wrd.demand_line_detail_id = wdd.delivery_detail_id
			       and wrd.demand_line_id = wdd.source_line_id
			       and wrd.organization_id = wdd.organization_id
			       And wrd.organization_id = p_organization_id)

			      AND wdd.INVENTORY_ITEM_ID = NVL(P_ITEM_ID, wdd.INVENTORY_ITEM_ID)
			      AND nvl(wdd.carrier_id, -1) =
			      NVL(p_Carrier_id, nvl(wdd.carrier_id, -1))
			      AND nvl(wdd.SHIP_METHOD_CODE, '@@@') =
			      NVL(p_Ship_Method_code, nvl(wdd.SHIP_METHOD_CODE, '@@@')) -- mandatory field

			      ) X

			WHERE x.quantity_in_repl_uom > 0
			AND x.expected_ship_date <= (SYSDATE + p_scheduled_ship_date_to )-- MANDATORY FIELD

				ORDER BY
			      x.sort_attribute1,
			      x.sort_attribute2,
			      x.sort_attribute3,
			      x.sort_attribute4,
			      x.sort_attribute5
			      FOR UPDATE SKIP LOCKED;
Line: 2243

	SELECT  X.inventory_item_id inventory_item_id,
	  X.total_demand_qty total_demand_qty,
	  X.date_required date_required
	  FROM (SELECT inventory_item_id,
		sum(quantity_in_repl_uom) as total_demand_qty,
		MIN(expected_ship_date) as date_required,
		MIN(repl_sequence_id) AS order_priority -- to avoid conflicting situation
		FROM WMS_REPL_DEMAND_GTMP
		where organization_id = p_organization_id
		group by inventory_item_id
		order by decode(p_Sort_Criteria,
				1,
				sum(quantity_in_repl_uom),
				count(1)) DESC, order_priority ASC) X
		  WHERE ROWNUM <= nvl(p_max_NUM_items_for_repl, 1e25);
Line: 2298

   g_ordered_psr.DELETE;
Line: 2318

   l_item_id_tb.DELETE;
Line: 2319

   l_header_id_tb.DELETE;
Line: 2320

   l_line_id_tb.DELETE;
Line: 2321

   l_delivery_detail_id_tb.DELETE;
Line: 2322

   l_demand_type_id_tb.DELETE;
Line: 2323

   l_requested_quantity_tb.DELETE;
Line: 2324

   l_requested_quantity_uom_tb.DELETE;
Line: 2325

   l_quantity_in_repl_uom_tb.DELETE;
Line: 2326

   l_expected_ship_date_tb.DELETE;
Line: 2327

   l_repl_status_tb.DELETE;
Line: 2328

   l_released_status_tb.DELETE;
Line: 2329

   l_attr1_tab.DELETE;
Line: 2330

   l_attr2_tab.DELETE;
Line: 2331

   l_attr3_tab.DELETE;
Line: 2332

   l_attr4_tab.DELETE;
Line: 2333

   l_attr5_tab.DELETE;
Line: 2362

	insert into WMS_REPL_DEMAND_GTMP
	(Repl_Sequence_id,
	 repl_level,
	 Inventory_item_id,
	 Organization_id,
	 demand_header_id,
	 demand_line_id,
	 demand_line_detail_id,
	 demand_type_id,
	 Quantity,
	 Uom_code,
	 quantity_in_repl_uom,
	 REPL_UOM_code,
	 Expected_ship_date,
	 Repl_To_Subinventory_code,
	 filter_item_flag,
	 repl_status,
	 repl_type,
	 RELEASED_STATUS)
	values
	(WMS_REPL_DEMAND_GTMP_S.NEXTVAL,
	 p_repl_level,
	 l_item_id_tb(k),
	 p_organization_id,
	 l_header_id_tb(k),
	 l_line_id_tb(k),
	 l_delivery_detail_id_tb(k),
	 l_demand_type_id_tb(k),
	 l_requested_quantity_tb(k),
	 l_requested_quantity_uom_tb(k),
	 l_quantity_in_repl_uom_tb(k),
	 p_repl_UOM,
	 l_expected_ship_date_tb(k),
	 P_Forward_Pick_Sub,
	 NULL,
	 l_repl_status_tb(k),
	 1,
	 l_released_status_tb(k)); -- for Push replenishment
Line: 2414

	 DELETE FROM  WMS_REPL_DEMAND_GTMP
	   WHERE expected_ship_date < (SYSDATE - p_scheduled_ship_date_from);
Line: 2424

	 DELETE FROM  WMS_REPL_DEMAND_GTMP
	   WHERE (inventory_item_id)
	   IN  (SELECT inventory_item_id
		from WMS_REPL_DEMAND_GTMP
		where organization_id = p_organization_id
		group by inventory_item_id
		having sum(quantity_in_repl_uom) < p_Min_repl_qty_threshold);
Line: 2438

	 DELETE  FROM  WMS_REPL_DEMAND_GTMP
	   where(inventory_item_id) in
	   (SELECT  inventory_item_id from WMS_REPL_DEMAND_GTMP
	    where organization_id = p_organization_id group by inventory_item_id
	    having count(1) < Nvl(p_min_order_lines_threshold,1));
Line: 2448

	    print_debug('Error inserting wms_repl_demand_gtmp table');
Line: 2467

   l_item_id_tb.DELETE;
Line: 2468

   l_total_demand_qty_tb.DELETE;
Line: 2469

   l_date_required_tb.DELETE;
Line: 2502

      x_consol_item_repl_tbl.DELETE;
Line: 2537

	   INSERT INTO WMS_REPL_DEMAND_GTMP
	   (Repl_Sequence_id,
	    repl_level,
	    Inventory_item_id,
	    Organization_id,
	    demand_header_id,
	    demand_line_id,
	    demand_line_detail_id,
	    demand_type_id,
	    quantity_in_repl_uom,
	    REPL_UOM_code,
	    Quantity,
	    Uom_code,
	    Expected_ship_date,
	    Repl_To_Subinventory_code,
	    filter_item_flag,
	    repl_status,
	    repl_type,
	    RELEASED_STATUS)
	   VALUES
	   (WMS_REPL_DEMAND_GTMP_S.NEXTVAL,
	    p_repl_level,
	    l_item_id_tb(k),
	    p_organization_id, --for push repl, it is same though
	    -9999,
	    -9999,
	    -9999,
	    -9999,
	    -9999,
	    p_repl_UOM,
	    -9999,
	    '@@@',
	    l_date_required_tb(k),
	    P_Forward_Pick_Sub,
	    'Y',
	    NULL,
	    1, -- For Push replenishment
	    NULL);
Line: 2577

	 --2 Delete those item records in the GTMP table whose item_ids are not same as item_id
	 --records that correspond to Filter_item_flag columns = 'Y' records
	 DELETE FROM wms_repl_demand_gtmp
	   WHERE filter_item_flag IS NULL
	     AND inventory_item_id NOT IN (SELECT inventory_item_id FROM
					   wms_repl_demand_gtmp WHERE
					   Nvl(filter_item_flag,'N') = 'Y');
Line: 2587

	   DELETE FROM wms_repl_demand_gtmp
	     WHERE filter_item_flag = 'Y';
Line: 2593

	       print_debug('Error inserting in WRDG temp table with Filter_item_flag = y : '||SQLCODE ||' '||SQLERRM);
Line: 2597

	    x_consol_item_repl_tbl.DELETE;
Line: 2617

	    x_consol_item_repl_tbl.DELETE;
Line: 2630

	 SELECT COUNT(1) INTO  l_temp_cnt FROM wms_repl_demand_gtmp;
Line: 2652

      x_consol_item_repl_tbl.DELETE;
Line: 2694

      SELECT repl_level
	INTO l_repl_level
	FROM wms_replenishment_details
	WHERE source_type_id = 4
	AND organization_id = p_organization_id
	AND inventory_item_id = p_inventory_item_id
	AND source_header_id = p_move_order_header_id
	AND source_line_id = p_move_order_line_id
	AND ROWNUM = 1;
Line: 2722

      SELECT (quantity - Nvl(quantity_detailed,0) - Nvl(quantity_delivered,0))
	, from_subinventory_code
	, from_locator_id
	INTO l_create_qty
	, l_mo_source_sub
	, l_mo_source_loc
	FROM mtl_txn_request_lines
	WHERE line_id = p_move_order_line_id
	AND organization_id = p_organization_id
	AND inventory_item_id = p_inventory_item_id;
Line: 2742

	select MISI.SOURCE_SUBINVENTORY into l_next_lvl_src_sub
	FROM MTL_ITEM_SUB_INVENTORIES MISI
	WHERE MISI.organization_id = p_organization_id
	and MISI.INVENTORY_ITEM_ID = p_inventory_item_id
	and MISI.source_type = 3 --(for Subinventory)
	and MISI.SECONDARY_INVENTORY = l_mo_source_sub
	AND ROWNUM = 1;
Line: 2877

	SELECT DISTINCT organization_id
	  FROM wms_repl_demand_gtmp
	  WHERE repl_level = p_repl_level;
Line: 2882

	SELECT inventory_item_id,
	  sum(quantity_in_repl_uom) as total_demand_qty,
	      repl_to_subinventory_code,
	      repl_uom_code
	      FROM wms_repl_demand_gtmp
	      WHERE organization_id = v_org_id
	      AND repl_level = p_repl_level
	      GROUP BY inventory_item_id, repl_to_subinventory_code,repl_uom_code
	      ORDER BY inventory_item_id, repl_to_subinventory_code;
Line: 2893

   l_org_id_tb.DELETE;
Line: 2907

	 DELETE FROM wms_repl_demand_gtmp WHERE repl_level = p_repl_level;
Line: 2915

      l_item_id_tb.DELETE;
Line: 2916

      l_total_demand_qty_tb.DELETE;
Line: 2917

      l_repl_to_sub_code_tb.DELETE;
Line: 2918

      l_repl_uom_code_tb.DELETE;
Line: 2929

	 l_consol_item_repl_tbl.DELETE;
Line: 2966

	       DELETE FROM wms_repl_demand_gtmp
		 WHERE repl_level = p_repl_level
		 AND organization_id = l_org_id_tb(j);
Line: 2984

	    DELETE FROM wms_repl_demand_gtmp
	      WHERE repl_level = p_repl_level
	      AND organization_id = l_org_id_tb(j);
Line: 3078

	 SELECT COUNT(1) INTO  l_temp_cnt FROM wms_repl_demand_gtmp;
Line: 3174

   DELETE FROM wms_repl_demand_gtmp WHERE repl_level=Nvl(p_repl_level,1);
Line: 3202

   	   DELETE FROM wms_repl_demand_gtmp WHERE repl_level = (Nvl(p_repl_level,1)+1);
Line: 3351

	Select repl_sequence_id,
	  demand_header_id,
	  demand_line_id,
	  demand_line_detail_id,
	  demand_type_id,
	  quantity,
	  uom_code,
	  expected_ship_date,
	  quantity_in_repl_uom,
	  repl_uom_code,
	  Nvl(repl_level,1),
	  repl_type
	  FROM WMS_REPL_DEMAND_GTMP
	  WHERE ORGANIZATION_ID = p_org_id
	  AND inventory_item_id = p_item_id
	  AND REPL_TO_SUBINVENTORY_CODE = P_FP_SUB
	  order by Repl_Sequence_id;
Line: 3370

      SELECT transaction_temp_id
        FROM mtl_material_transactions_temp
	WHERE move_order_line_id = l_mo_line_id;
Line: 3383

   l_trohdr_rec.last_updated_by        := fnd_global.user_id;
Line: 3384

   l_trohdr_rec.last_update_date       := sysdate;
Line: 3385

   l_trohdr_rec.last_update_login      := fnd_global.user_id;
Line: 3394

   l_item_id_tb.DELETE;
Line: 3395

   l_org_id_tb.DELETE;
Line: 3396

   l_demand_header_id_tb.DELETE;
Line: 3397

   l_demand_line_id_tb.DELETE;
Line: 3398

   l_demand_type_id_tb.DELETE;
Line: 3399

   l_requested_quantity_tb.DELETE;
Line: 3400

   l_requested_quantity_uom_tb.DELETE;
Line: 3401

   l_quantity_in_repl_uom_tb.DELETE;
Line: 3402

   l_expected_ship_date_tb.DELETE;
Line: 3403

   l_repl_to_sub_code_tb.DELETE;
Line: 3404

   l_repl_uom_code_tb.DELETE;
Line: 3627

		     -- Now take care of stamping right UOM and updated qty
		     IF (l_src_pick_uom IS NOT NULL)  THEN
			IF l_conversion  > 0 THEN
			   -- convert the final qty into apporopriate qty based on l_src_pick_uom
			   p_consol_item_repl_tbl(i).final_replenishment_qty :=
			     ROUND((l_txn_prim_qty * get_conversion_rate(p_consol_item_repl_tbl(i).Item_id,
									 inv_cache.item_rec.primary_uom_code,
									 l_src_pick_uom )),
				   g_conversion_precision);
Line: 3637

			   -- UPDATE THE UOM CODE AS WELL
			   p_consol_item_repl_tbl(i).repl_uom_code := l_src_pick_uom;
Line: 3703

	    l_trolin_tbl.DELETE;
Line: 3718

	    l_trolin_tbl(l_order_count).last_updated_by := fnd_global.user_id;
Line: 3719

	    l_trolin_tbl(l_order_count).last_update_date := sysdate;
Line: 3720

	    l_trolin_tbl(l_order_count).last_update_login := fnd_global.user_id;
Line: 3785

		     fnd_msg_pub.delete_msg(i);
Line: 3789

	       l_trolin_tbl.DELETE(l_order_count);
Line: 3800

		     fnd_msg_pub.delete_msg(i);
Line: 3804

	       l_trolin_tbl.DELETE(l_order_count);
Line: 3872

		     l_trolin_tbl.DELETE(l_order_count);
Line: 3918

			l_trolin_tbl.DELETE(l_order_count);
Line: 3942

		     update_wdd_repl_status (p_deliv_detail_id   =>  l_demand_line_detail_id
					     , p_repl_status     => 'R' -- for completed status
					     , x_return_status   => l_return_status
					     );
Line: 3949

			l_trolin_tbl.DELETE(l_order_count);
Line: 3955

		  -- STORE DATA here and do BULK INSERT later
		  l_organization_id_tab(l_index) := p_consol_item_repl_tbl(i).organization_id;
Line: 3973

		  -- entry in the GTMP table will be deleted at the end of the processing of the replenishment calls

	       END LOOP; -- for each demand line for an item
Line: 3984

		 INSERT INTO wms_replenishment_details
		 (Replenishment_id,
		  Organization_id,
		  source_header_id,
		  Source_line_id,
		  Source_line_detail_id,
		  Source_type_id,
		  demand_header_id,
		  demand_line_id,
		  demand_line_detail_id,
		  demand_type_id,
		  Inventory_item_id,
		  Primary_UOM,
		  Primary_Quantity,
		  demand_sort_order,
		  repl_level,
		  repl_type,
		  CREATION_DATE,
		  LAST_UPDATE_DATE,
		  CREATED_BY,
		  LAST_UPDATED_BY,
		  LAST_UPDATE_LOGIN
		  )VALUES (
			   WMS_REPLENISHMENT_DETAILS_S.NEXTVAL,
			   l_organization_id_tab(k),
			   l_mo_header_id_tab(k),
			   l_mo_line_id_tab(k),
			   NULL,
			   4, --  For Move Orders
			   l_demand_header_id_tab(k),
			   l_demand_line_id_tab(k),
			   l_demand_line_detail_id_tab(k),
			   l_demand_type_id_tab(k),
			   l_item_id_tab(k),
			   l_demand_uom_code_tab(k),
			   l_demand_quantity_tab(k),
			   l_sequence_id_tab(k),
			   l_repl_level_tab(k),
			   l_repl_type_tab(k),
			   Sysdate,
			   Sysdate,
			   fnd_global.user_id,
			   fnd_global.user_id,
			   fnd_global.user_id);
Line: 4030

	       l_organization_id_tab.DELETE;
Line: 4031

	       l_mo_header_id_tab.DELETE;
Line: 4032

	       l_mo_line_id_tab.DELETE;
Line: 4033

	       l_demand_header_id_tab.DELETE;
Line: 4034

	       l_demand_line_id_tab.DELETE;
Line: 4035

	       l_demand_line_detail_id_tab.DELETE;
Line: 4036

	       l_demand_type_id_tab.DELETE;
Line: 4037

	       l_item_id_tab.DELETE;
Line: 4038

	       l_demand_uom_code_tab.DELETE;
Line: 4039

	       l_demand_quantity_tab.DELETE;
Line: 4040

	       l_sequence_id_tab.DELETE;
Line: 4041

	       l_repl_level_tab.DELETE;
Line: 4042

	       l_repl_type_tab.DELETE;
Line: 4053

		-- just insert records into the WRD table
		IF L_DEBUG = 1 THEN
		   print_debug('******Create_Reservation = N and Next LEVEL repl');
Line: 4071

		   INSERT INTO wms_replenishment_details
		     (Replenishment_id,
		       Organization_id,
		       source_header_id,
		       Source_line_id,
		       Source_line_detail_id,
		       Source_type_id,
		       demand_header_id,
		       demand_line_id,
		       demand_line_detail_id,
		       demand_type_id,
		       Inventory_item_id,
		       Primary_UOM,
		       Primary_Quantity,
		       demand_sort_order,
		       repl_level,
		       repl_type,
		       CREATION_DATE,
		       LAST_UPDATE_DATE,
		       CREATED_BY,
		       LAST_UPDATED_BY,
		       LAST_UPDATE_LOGIN
		       )
      		      SELECT
		      WMS_REPLENISHMENT_DETAILS_S.NEXTVAL,       --Replenishment_id,
		      p_consol_item_repl_tbl(i).organization_id, --Organization_id,
		     l_x_trolin_tbl(1).header_id, --  source_header_id,
		     l_x_trolin_tbl(1).line_id,   --  Source_line_id,
		     NULL,                        --  Source_line_detail_id,
		     4,                           --  Source_type_id,
		     demand_header_id,
		     demand_line_id,
		     demand_line_detail_id,       -- stored as -9999 for next level
		     demand_type_id,              -- stored as 4 for next level
		     p_consol_item_repl_tbl(i).item_id,   -- Inventory_item_id,
		     inv_cache.item_rec.primary_uom_code, --  Primary_UOM,
		     l_txn_prim_qty,                      --  Primary_Quantity,
		     repl_sequence_id ,                   --demand_sort_order,
		     repl_level,
		     repl_type,
		     Sysdate,
		     Sysdate,
		     fnd_global.user_id,
		     fnd_global.user_id,
		     fnd_global.user_id
		     FROM WMS_REPL_DEMAND_GTMP
		     WHERE ORGANIZATION_ID = p_consol_item_repl_tbl(i).ORGANIZATION_ID
		     AND inventory_item_id = p_consol_item_repl_tbl(i).item_id
		     AND REPL_TO_SUBINVENTORY_CODE =  p_consol_item_repl_tbl(i).repl_to_subinventory_code;
Line: 4221

	       --update the MO line quantity_detailed field or close the MO
               BEGIN
		  SELECT NVL(SUM(primary_quantity), 0)
		    ,NVL(sum(transaction_quantity),0)
		    ,COUNT(*)
		    INTO l_prim_quantity_detailed
		    ,l_quantity_detailed_conv
		    ,l_num_detail_recs
		    FROM mtl_material_transactions_temp
		    WHERE move_order_line_id = l_x_trolin_tbl(1).line_id;
Line: 4271

		  -- update the quantity detailed correctly
		  UPDATE mtl_txn_request_lines mtrl
		    SET mtrl.quantity_detailed = l_quantity_detailed
		    where line_id = l_x_trolin_tbl(1).line_id;
Line: 4277

		     print_debug('Updated the detailed qty on the MO line');
Line: 4283

		  UPDATE mtl_txn_request_lines mtrl
		    SET mtrl.quantity_detailed = l_quantity_detailed
		    where line_id = l_x_trolin_tbl(1).line_id;
Line: 4308

	       -- Call to check to insert into temp table next level record after
	       --
	       IF (( l_prev_item_id IS NULL AND
		     l_prev_sub_code IS NULL ) OR
		   l_prev_org_id <> p_consol_item_repl_tbl(i).organization_id  OR
		   l_prev_item_id <> p_consol_item_repl_tbl(i).Item_id OR
		   l_prev_sub_code <> l_src_sub) THEN
		  l_source_sub_atr := NULL;
Line: 4396

	   -- store the index of the consol table to be deleted outside the loop
	   l_del_index := l_del_index +1;
Line: 4410

      p_consol_item_repl_tbl.DELETE(l_del_consol_item_tb(j));
Line: 4417

     INSERT INTO WMS_REPL_DEMAND_GTMP
     (Repl_Sequence_id,
      repl_level,
      Inventory_item_id,
      Organization_id,
      demand_header_id,
      demand_line_id,
      DEMAND_LINE_DETAIL_ID,
      demand_type_id,
      quantity_in_repl_uom,
      REPL_UOM_code,
      Quantity,
      Uom_code,
      Expected_ship_date,
      Repl_To_Subinventory_code,
      filter_item_flag,
      repl_type)
     VALUES
     (WMS_REPL_DEMAND_GTMP_S.NEXTVAL,
      Nvl(p_repl_level,1) + 1,
      l_item_id_tb(k),
      l_org_id_tb(k),
      l_demand_header_id_tb(k),
      l_demand_line_id_tb(k),
      -9999,
      l_demand_type_id_tb(k),
      l_quantity_in_repl_uom_tb(k),
      l_repl_uom_code_tb(k),
      l_requested_quantity_tb(k),
      l_requested_quantity_uom_tb(k),
      l_expected_ship_date_tb(k),
      l_repl_to_sub_code_tb(k),
      NULL,
      2);
Line: 4530

     l_detail_id_delete_tab num_tab;
Line: 4537

	SELECT Repl_Sequence_id,
	  demand_header_id,
	  demand_line_id,
	  demand_line_detail_id,
	  demand_type_id,
	  Nvl(quantity,0),
	  uom_code,
	  expected_ship_date,
	  Nvl(quantity_in_repl_uom,0),
	  repl_level,
	  repl_type
	  FROM WMS_REPL_DEMAND_GTMP
	  WHERE ORGANIZATION_ID = P_ORG_ID
	  AND inventory_item_id = p_item_id
	  AND repl_to_subinventory_code = p_fp_sub
	  order by Repl_Sequence_id;
Line: 4558

	select mtrl.line_id,
	  mtrl.header_id,
	  -- get all open move order qty that are not part of WRD
	  -- once fully transacted, mtrl.QUANTITY = mtrl.QUANTITY_DETAILED + mtrl.QUANTITY_DELIVERED
	  -- here quantity containes  QUANTITY_DETAILED at the current sub as
	  -- well AS untouched move ORDER qty
	  (mtrl.QUANTITY - NVL(mtrl.QUANTITY_DELIVERED,0)) AS quantity,
	    mtrl.uom_code,
	    Nvl(mtrl.quantity_detailed,0) AS quantity_detailed
	      from mtl_txn_request_lines mtrl, mtl_txn_request_headers mtrh
	      where mtrl.header_id = mtrh.header_id
	      and mtrl.organization_id = P_ORG_ID
	      and mtrl.inventory_item_id = p_item_id
	      and mtrl.to_subinventory_code = P_FP_SUB
	      and mtrl.line_status in (3, 7) -- only approved and pre-approved
	      and mtrh.move_order_type = 2 -- for replenishment only
	      AND not exists
	      (select WRD.Source_line_id
	       from WMS_REPLENISHMENT_DETAILS wrd
	       where WRD.source_header_id = MTRL.HEADER_ID
               AND WRD.Source_line_id = MTRL.LINE_ID
               And wrd.organization_id = mtrl.organization_id
               And wrd.organization_id = p_org_id )
	      UNION
	      -- get all Open Move Order qty that are left out due to rounding or other reason
	      select mtrl.line_id,
	      mtrl.header_id,
	      -- qty inside function Round(**) below might NOT be allocated yet based on
	      -- how the stock up was RUN but we have earmarked that much mo qty through WRD for certain demands
	      -- so we need to subtract that much qty from existing_mo_qty for availble_mo_qty
	      (mtrl.QUANTITY- NVL(mtrl.QUANTITY_DELIVERED,0) -
	       ROUND((WMS_REPLENISHMENT_PVT.get_conversion_rate(p_item_id, x.primary_uom, mtrl.uom_code)* Nvl(X.quantity,0)),5)) AS quantity,

		 mtrl.uom_code,
		 Nvl(mtrl.quantity_detailed,0) AS quantity_detailed
		   FROM
		   mtl_txn_request_lines mtrl,
		   (
		    SELECT WRD.Source_line_id, WRD.source_header_id,
		    wrd.inventory_item_id, SUM(wrd.Primary_quantity) quantity,
		    wrd.organization_id,wrd.primary_uom
		    FROM  WMS_REPLENISHMENT_DETAILS wrd, wsh_delivery_details wdd
		    WHERE wrd.demand_line_detail_id = wdd.delivery_detail_id
		    AND  wrd.demand_line_id = wdd.source_line_id
		    AND  wrd.organization_id = P_ORG_ID
		    AND  wrd.organization_id = wdd.organization_id
		    GROUP BY  wrd.organization_id,
		    WRD.source_header_id,
		    WRD.Source_line_id,
		    wrd.inventory_item_id,
		    wrd.primary_uom) X
		   WHERE X.inventory_item_id = mtrl.inventory_item_id
		   and x.source_header_id = MTRL.HEADER_ID
		   AND x.Source_line_id = MTRL.LINE_ID
		   and x.organization_id = mtrl.organization_id
		   and mtrl.organization_id = P_ORG_ID
		   and mtrl.inventory_item_id = p_item_id
		   and mtrl.to_subinventory_code = P_FP_SUB
		   and mtrl.line_status in (3, 7)
		   order by quantity DESC;
Line: 4622

		    SELECT demand_line_detail_id, demand_line_id
		      FROM WMS_REPLENISHMENT_DETAILS WRD
		      WHERE WRD.organization_id = P_ORG_ID
		      AND WRD.source_header_id = P_mo_header_id
		      AND WRD.Source_line_id = P_mo_line_id;
Line: 4686

	    IF (l_detail_id_delete_tab.COUNT()>0) THEN
			FOR d in 1 .. l_detail_id_delete_tab.COUNT() LOOP
				IF (l_detail_id_delete_tab(d) = l_demand_line_detail_id) THEN
					l_detail_removed := 'Y';
Line: 4747

		  update_wdd_repl_status (p_deliv_detail_id   =>  l_demand_line_detail_id
					  , p_repl_status     => 'R' -- for completed status
					  , x_return_status   => l_return_status
					  );
Line: 4852

		  -- STORE DATA here and do BULK INSERT later
		  l_organization_id_tab(l_index) := x_consol_item_repl_tbl(i).organization_id;
Line: 4885

	       -- This set can be different than set inserted in the WRD table
	       -- Store here to BULK DELETE later
	       l_detail_id_delete_tab(l_del_index) := l_demand_line_detail_id;
Line: 4942

      print_debug('BULK INSERT ALL CONSUMED DEMANDS IN WRD table' );
Line: 4947

     INSERT INTO WMS_REPLENISHMENT_DETAILS
     (Replenishment_id,
      Organization_Id,
      source_header_id,
      Source_line_id,
      Source_line_detail_id,
      Source_type_id,
      demand_header_id,
      demand_line_id,
      demand_line_detail_id,
      demand_type_id,
      Inventory_item_id,
      Primary_UOM,
      Primary_Quantity,
      demand_sort_order,
      repl_level,
      repl_type,
      CREATION_DATE,
      LAST_UPDATE_DATE,
      CREATED_BY,
      LAST_UPDATED_BY,
      LAST_UPDATE_LOGIN
      )VALUES (
	       WMS_REPLENISHMENT_DETAILS_S.NEXTVAL,
	       l_organization_id_tab(k),
	       l_mo_header_id_tab(k),
	       l_mo_line_id_tab(k),
	       NULL,
	       4, --  For Move Orders
	       l_demand_header_id_tab(k),
	       l_demand_line_id_tab(k),
	       l_demand_line_detail_id_tab(k),
	       l_demand_type_id_tab(k),
	       l_item_id_tab(k),
	       l_demand_uom_code_tab(k),
	       l_demand_quantity_tab(k),
	       l_sequence_id_tab(k),
	       l_repl_level_tab(k),
	       l_repl_type_tab(k),
	       Sysdate,
	       Sysdate,
	       fnd_global.user_id,
	       fnd_global.user_id,
	       fnd_global.user_id
	       );
Line: 4994

   l_organization_id_tab.DELETE;
Line: 4995

   l_mo_header_id_tab.DELETE;
Line: 4996

   l_mo_line_id_tab.DELETE;
Line: 4997

   l_demand_header_id_tab.DELETE;
Line: 4998

   l_demand_line_id_tab.DELETE;
Line: 4999

   l_demand_line_detail_id_tab.DELETE;
Line: 5000

   l_demand_type_id_tab.DELETE;
Line: 5001

   l_item_id_tab.DELETE;
Line: 5002

   l_demand_uom_code_tab.DELETE;
Line: 5003

   l_demand_quantity_tab.DELETE;
Line: 5004

   l_sequence_id_tab.DELETE;
Line: 5005

   l_repl_level_tab.DELETE;
Line: 5006

   l_repl_type_tab.DELETE;
Line: 5012

   FORALL k in 1 .. l_detail_id_delete_tab.COUNT()
     DELETE  From WMS_REPL_DEMAND_GTMP
     WHERE demand_line_detail_id = l_detail_id_delete_tab(k);
Line: 5017

   l_detail_id_delete_tab.DELETE;
Line: 5101

	SELECT repl_sequence_id, demand_header_id, demand_line_id,
	  demand_line_detail_id,
	  demand_type_id, quantity, uom_code, expected_ship_date,
	  quantity_in_repl_uom, repl_status
	  FROM  WMS_REPL_DEMAND_GTMP
	  WHERE  ORGANIZATION_ID = P_ORG_ID
	  AND inventory_item_id = p_item_id
	  AND  repl_to_subinventory_code = p_fp_sub
	  order by Repl_Sequence_id;
Line: 5330

		  l_rsv_id_tb.DELETE;
Line: 5375

		     update_wdd_repl_status (p_deliv_detail_id   =>  l_demand_line_detail_id
					     , p_repl_status     => 'C'  -- for completed status
					     , x_return_status   => l_return_status
					     );
Line: 5389

		     DELETE FROM wms_repl_demand_gtmp
		       WHERE  Organization_id = x_consol_item_repl_tbl(i).organization_id
		       AND INVENTORY_ITEM_ID =  x_consol_item_repl_tbl(i).item_id
		       AND demand_type_id = l_demand_type_id
		       AND DEMAND_LINE_DETAIL_ID = l_demand_line_detail_id
		       AND demand_header_id = l_demand_header_id
		       AND demand_line_id = l_demand_line_id;
Line: 5403

		       UPDATE mtl_reservations
		       SET     subinventory_code = x_consol_item_repl_tbl(i).repl_to_subinventory_code
		       WHERE   reservation_id = l_rsv_id_tb(k);
Line: 5439

		     update_wdd_repl_status (p_deliv_detail_id   =>  l_demand_line_detail_id
					     , p_repl_status     => 'C'  -- for completed status
					     , x_return_status   => l_return_status
					     );
Line: 5452

		     DELETE FROM wms_repl_demand_gtmp
		       WHERE  Organization_id = x_consol_item_repl_tbl(i).organization_id
		       AND INVENTORY_ITEM_ID =  x_consol_item_repl_tbl(i).item_id
		       AND demand_type_id = l_demand_type_id
		       AND DEMAND_LINE_DETAIL_ID = l_demand_line_detail_id
		       AND demand_header_id = l_demand_header_id
		       AND demand_line_id = l_demand_line_id;
Line: 5571

		     update_wdd_repl_status (p_deliv_detail_id   =>  l_demand_line_detail_id
					     , p_repl_status     => 'C'  -- for completed status
					     , x_return_status   => l_return_status
					     );
Line: 5588

		  DELETE FROM wms_repl_demand_gtmp
		    WHERE  Organization_id = x_consol_item_repl_tbl(i).organization_id
		    AND INVENTORY_ITEM_ID =  x_consol_item_repl_tbl(i).item_id
		    AND demand_type_id = l_demand_type_id
		    AND DEMAND_LINE_DETAIL_ID = l_demand_line_detail_id
		    AND demand_header_id = l_demand_header_id
		    AND demand_line_id = l_demand_line_id;
Line: 5721

	    DELETE FROM wms_repl_demand_gtmp
	      WHERE  Organization_id = x_consol_item_repl_tbl(i).organization_id
	      AND INVENTORY_ITEM_ID =  x_consol_item_repl_tbl(i).item_id
	      AND demand_type_id = l_demand_type_id
	      AND DEMAND_LINE_DETAIL_ID = l_demand_line_detail_id
	      AND demand_header_id = l_demand_header_id
	      AND demand_line_id = l_demand_line_id;
Line: 5756

	   -- store the index of the consol table to be deleted outside the loop
	   l_del_index := l_del_index +1;
Line: 5771

      x_consol_item_repl_tbl.DELETE(l_del_consol_item_tb(j));
Line: 5975

	SELECT  NVL(wts.planned_departure_date,
		    NVL(wdd.date_scheduled,
			NVL(ool.schedule_ship_date, ool.promise_date))) AS expected_ship_date
			  FROM wsh_delivery_details wdd, oe_order_lines_all ool,
			  wsh_delivery_assignments_v wda, wsh_new_deliveries wnd, wsh_delivery_legs wdl,
			  wsh_trip_stops wts, wsh_trips wt
			  WHERE wdd.delivery_detail_id = p_delivery_line_id
			  AND ool.line_id = p_source_line_id
			  AND wdd.source_line_id = ool.line_id
			  AND wdd.source_header_id = p_source_header_id
			  AND wdd.delivery_detail_id = wda.delivery_detail_id (+)
			  AND wda.delivery_id = wnd.delivery_id (+)
			  AND wnd.delivery_id = wdl.delivery_id (+)
			  AND (wdl.sequence_number IS NULL OR
			       wdl.sequence_number = (SELECT MIN(sequence_number)
						      FROM wsh_delivery_legs wdl_first_leg
						      WHERE wdl_first_leg.delivery_id = wdl.delivery_id))
			    AND wdl.pick_up_stop_id = wts.stop_id (+)
			    AND wts.trip_id         = wt.trip_id  (+);
Line: 6046

	SELECT  MIN(NVL(wts.planned_departure_date, wdd.date_scheduled))
	  --	    MIN(NVL(wts.planned_departure_date,
	  --	    NVL(wdd.date_scheduled,
	  --	    NVL(ool.schedule_ship_date, ool.promise_date)))) AS min_expected_ship_date,
	  FROM wsh_new_deliveries wnd,  wsh_delivery_details wdd, wsh_delivery_assignments_v wda,
	  wsh_delivery_legs wdl, wsh_trip_stops wts
	  --	    oe_order_lines_all ool

	  WHERE wdd.delivery_detail_id = p_delivery_detail_id
	  --	    AND wdd.source_line_id = ool.line_id (+)
	  AND wnd.shipment_direction = 'O'
	  AND wnd.delivery_id = wda.delivery_id (+)
	  AND wda.delivery_detail_id = wdd.delivery_detail_id (+)
	  AND wnd.delivery_id = wdl.delivery_id (+)
	  AND (wdl.sequence_number IS NULL OR
	       wdl.sequence_number = (SELECT MIN(sequence_number)
				      FROM wsh_delivery_legs wdl_first_leg
				      WHERE wdl_first_leg.delivery_id = wdl.delivery_id))
	    AND wdl.pick_up_stop_id = wts.stop_id (+)
	    GROUP BY wnd.organization_id, wnd.delivery_id, wts.stop_id;
Line: 6287

	SELECT SECONDARY_INVENTORY, PICK_UOM_CODE
	  FROM (select MISI.SECONDARY_INVENTORY,
		MSI.PICK_UOM_CODE,
		MSIB.PRIMARY_UOM_CODE,
		get_conversion_rate(MISI.INVENTORY_ITEM_id,
				    MSI.PICK_UOM_CODE,
				    MSIB.PRIMARY_UOM_CODE) AS CONVERSION_RATE
		from MTL_ITEM_SUB_INVENTORIES  MISI,
		MTL_SECONDARY_INVENTORIES MSI,
		MTL_SYSTEM_ITEMS_B        MSIB
		WHERE MISI.organization_id = P_Org_id
		and MISI.INVENTORY_ITEM_ID = P_Item_id
		AND MISI.SECONDARY_INVENTORY = MSI.SECONDARY_INVENTORY_NAME
		AND MISI.ORGANIZATION_ID = MSI.ORGANIZATION_ID
		AND MSI.PICK_UOM_CODE IS NOT NULL
		--AND MOD(P_PRIMARY_DEMAND_QTY,(get_conversion_rate(MISI.INVENTORY_ITEM_id,MSI.PICK_UOM_CODE,MSIB.PRIMARY_UOM_CODE)))=0
        AND P_PRIMARY_DEMAND_QTY/get_conversion_rate(MISI.INVENTORY_ITEM_id,MSI.PICK_UOM_CODE,MSIB.PRIMARY_UOM_CODE) >= 1 --13419401
        AND get_conversion_rate(MISI.INVENTORY_ITEM_id,
					MSI.PICK_UOM_CODE,
					MSIB.PRIMARY_UOM_CODE) > 0
		AND MISI.INVENTORY_ITEM_id = MSIB.INVENTORY_ITEM_id
		AND MISI.ORGANIZATION_ID = MSIB.ORGANIZATION_ID
		ORDER BY CONVERSION_RATE DESC, MSI.PICKING_ORDER) X
		  WHERE ROWNUM = 1;
Line: 6325

      SELECT PICK_UOM_CODE INTO  x_repl_uom_code
	FROM  MTL_SECONDARY_INVENTORIES MSI
	WHERE MSI.ORGANIZATION_ID = p_org_id
	and secondary_inventory_name = x_to_subinventory_code;
Line: 6410

     SELECT wdd.inventory_item_id as item_id,
       inv_salesorder.get_salesorder_for_oeheader(wdd.source_header_id) AS header_id,
       wdd.source_line_id AS line_id,
       wdd.delivery_detail_id,
       decode(wdd.source_document_type_id, 10, 8, 2) as demand_type_id, -- for SO=2 and Internal Order=8
       wdd.requested_quantity, -- this is always stored in primary UOM
	 wdd.requested_quantity_uom,
	 NVL(WMS_REPLENISHMENT_PVT.Get_Expected_Time(decode(wdd.source_document_type_id, 10, 8, 2),
						 wdd.source_header_id,
						 wdd.source_line_id,
						 wdd.delivery_detail_id),
	 WDD.date_scheduled) as expected_ship_date,
	   wdd.subinventory,
	   wdd.replenishment_status,
	   wdd.released_status,
	   -- get for sort_attribute1
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(1).attribute_name,
                         'ORDER_NUMBER',
                         DECODE(L_ORDER_ID_SORT,
                                'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
			       NULL),
			 'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
                                'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute1,

           -- get for sort_attribute2
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(2).attribute_name,
                         'ORDER_NUMBER',
			 DECODE(L_ORDER_ID_SORT,
                                'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
				NULL),
                         'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
                                'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute2,

           -- get for sort_attribute3
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(3).attribute_name,
                         'ORDER_NUMBER',
			 DECODE(L_ORDER_ID_SORT,
                                'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
				NULL),
                         'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
                                'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute3,

           -- get for sort_attribute4
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(4).attribute_name,
                         'ORDER_NUMBER',
			 DECODE(L_ORDER_ID_SORT,
                                'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
				NULL),
			 'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
                                'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute4,

           -- get for sort_attribute5
            To_number(DECODE(p_Release_Sequence_Rule_Id,
                  null,
                  null,
                  DECODE(g_ordered_psr(5).attribute_name,
                         'ORDER_NUMBER',
			 DECODE(L_ORDER_ID_SORT,
                                'ASC',
                                To_number(wdd.source_header_number),
                                'DESC',
                                (-1 * To_number(wdd.SOURCE_HEADER_NUMBER)),
                                null),
                         'SHIPMENT_PRIORITY',
			 DECODE(WDD.SHIPMENT_PRIORITY_CODE,
				'High',
				20,
				'Standard',
				10,
				NULL),
                         'INVOICE_VALUE',
                         GET_SORT_INVOICE_VALUE(WDD.SOURCE_HEADER_ID,
                                                L_INVOICE_VALUE_SORT),
                         'SCHEDULE_DATE',
                         DECODE(L_SCHEDULE_DATE_SORT,
                                'ASC',
                                (WDD.DATE_SCHEDULED -
                                TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS')),
                                'DESC',
                                (TO_DATE('01-01-1700 23:59:59',
                                         'DD-MM-YYYY HH24:MI:SS') -
                                WDD.DATE_SCHEDULED),
                                null),
                         'TRIP_STOP_DATE',
                         GET_SORT_TRIP_STOP_DATE(wdd.delivery_detail_id,
                                                 L_TRIP_STOP_DATE_SORT),
                         NULL))) as sort_attribute5
	FROM wsh_delivery_details wdd
	WHERE wdd.source_code = 'OE'
	 AND wdd.organization_id = p_org_id
	 AND wdd.requested_quantity > 0
          -- excluding Replenishment Requested status
       AND wdd.released_status in ('R', 'B') and wdd.replenishment_status = 'R'
          -- there might not be reservation
       AND NOT EXISTS
     (select 1
              from mtl_reservations mr
             WHERE MR.DEMAND_SOURCE_LINE_ID = wdd.source_line_id
               and MR.DEMAND_SOURCE_HEADER_ID =
                   inv_salesorder.get_salesorder_for_oeheader(wdd.source_header_id)
               and MR.demand_source_type_id =
                   decode(wdd.source_document_type_id, 10, 8, 2)
               and MR.SUBINVENTORY_CODE IS NOT NULL  --locator is not needed
	       and (nvl(mr.staged_flag,'N') = 'N' and nvl(mr.detailed_quantity,0) = 0))  --13398141 ; Exclude detailed RSV
Line: 6632

     (select wrd.demand_line_detail_id
      from WMS_REPLENISHMENT_DETAILS wrd
      where wrd.demand_line_detail_id = wdd.delivery_detail_id
      and wrd.demand_line_id = wdd.source_line_id
      and wrd.organization_id = wdd.organization_id
      AND wrd.organization_id = p_org_id)
     AND wdd.batch_id = P_Batch_id
     ORDER BY sort_attribute1,
              sort_attribute2,
              sort_attribute3,
              sort_attribute4,
              sort_attribute5
       FOR UPDATE SKIP LOCKED;
Line: 6648

		  SELECT inventory_item_id,
		    sum(quantity_in_repl_uom) as total_demand_qty,
		      MIN(expected_ship_date) as date_required,
			repl_to_subinventory_code,
			repl_uom_code
			FROM wms_repl_demand_gtmp
			WHERE organization_id = p_org_id
			GROUP BY inventory_item_id, repl_to_subinventory_code,repl_uom_code
			ORDER BY inventory_item_id, repl_to_subinventory_code;
Line: 6716

   g_ordered_psr.DELETE;
Line: 6741

   l_item_id_tb.DELETE;
Line: 6742

   l_header_id_tb.DELETE;
Line: 6743

   l_line_id_tb.DELETE;
Line: 6744

   l_delivery_detail_id_tb.DELETE;
Line: 6745

   l_demand_type_id_tb.DELETE;
Line: 6746

   l_requested_quantity_tb.DELETE;
Line: 6747

   l_requested_quantity_uom_tb.DELETE;
Line: 6748

   l_expected_ship_date_tb.DELETE;
Line: 6749

   l_repl_status_tb.DELETE;
Line: 6750

   l_released_status_tb.DELETE;
Line: 6751

   l_attr1_tb.DELETE;
Line: 6752

   l_attr2_tb.DELETE;
Line: 6753

   l_attr3_tb.DELETE;
Line: 6754

   l_attr4_tb.DELETE;
Line: 6755

   l_attr5_tb.DELETE;
Line: 6756

   l_repl_to_sub_code_tb.DELETE;
Line: 6757

   l_quantity_in_repl_uom_tb.DELETE;
Line: 6758

   l_repl_uom_code_tb.DELETE;
Line: 6779

   select pick_from_subinventory INTO l_PR_sub
     from wsh_picking_batches where batch_id = p_batch_id;
Line: 6829

	    -- Must delete this records jth element from the bulk uploaded tables later
	    l_revert_wdd := TRUE;
Line: 6848

	 -- Must delete this records jth element from the bulk uploaded tables later
	 l_revert_wdd := TRUE;
Line: 6876

	   -- Must delete this records jth element from the bulk uploaded tables later
	   IF (l_debug = 1) THEN
	      print_debug('Skipping REPL for the delivery detail:'||l_delivery_detail_id_tb(j)  );
Line: 6881

	   -- Note: these delete in pl/sql table do not reindex
	   -- data. element deleted at J remains NULL. it works sort of
	   -- key-value pair for id and values

	   l_item_id_tb.DELETE(j);
Line: 6886

	   l_header_id_tb.DELETE(j);
Line: 6887

	   l_line_id_tb.DELETE(j);
Line: 6888

	   l_delivery_detail_id_tb.DELETE(j);
Line: 6889

	   l_demand_type_id_tb.DELETE(j);
Line: 6890

	   l_requested_quantity_tb.DELETE(j);
Line: 6891

	   l_requested_quantity_uom_tb.DELETE(j);
Line: 6892

	   l_expected_ship_date_tb.DELETE(j);
Line: 6893

	   l_repl_status_tb.DELETE(j);
Line: 6894

	   l_released_status_tb.DELETE(j);
Line: 6895

	   l_repl_to_sub_code_tb.DELETE(j);
Line: 6896

	   l_quantity_in_repl_uom_tb.DELETE(j);
Line: 6897

	   l_repl_uom_code_tb.DELETE(j);
Line: 6904

	      l_item_id_tb.DELETE;
Line: 6905

	      l_header_id_tb.DELETE;
Line: 6906

	      l_line_id_tb.DELETE;
Line: 6907

	      l_delivery_detail_id_tb.DELETE;
Line: 6908

	      l_demand_type_id_tb.DELETE;
Line: 6909

	      l_requested_quantity_tb.DELETE;
Line: 6910

	      l_requested_quantity_uom_tb.DELETE;
Line: 6911

	      l_expected_ship_date_tb.DELETE;
Line: 6912

	      l_repl_status_tb.DELETE;
Line: 6913

	      l_released_status_tb.DELETE;
Line: 6914

	      l_repl_to_sub_code_tb.DELETE;
Line: 6915

	      l_quantity_in_repl_uom_tb.DELETE;
Line: 6916

	      l_repl_uom_code_tb.DELETE;
Line: 6929

     INSERT INTO WMS_REPL_DEMAND_GTMP
     (Repl_Sequence_id,
      repl_level,
      Inventory_item_id,
      Organization_id,
      demand_header_id,
      demand_line_id,
      demand_line_detail_id,
      demand_type_id,
      quantity_in_repl_uom,
      REPL_UOM_code,
      Quantity,
      Uom_code,
      Expected_ship_date,
      Repl_To_Subinventory_code,
      filter_item_flag,
      repl_status,
      repl_type,
      RELEASED_STATUS)
     VALUES
     (WMS_REPL_DEMAND_GTMP_S.NEXTVAL,
      p_repl_level,
      l_item_id_tb(k),
      p_org_id,
      l_header_id_tb(k),
      l_line_id_tb(k),
      l_delivery_detail_id_tb(k),
      l_demand_type_id_tb(k),
      l_quantity_in_repl_uom_tb(k),
      l_repl_uom_code_tb(k),
      l_requested_quantity_tb(k),
      l_requested_quantity_uom_tb(k),
      l_expected_ship_date_tb(k),
      l_repl_to_sub_code_tb(k),
      NULL,
      l_repl_status_tb(k),
      2,  -- for dynamic replenishment
      l_released_status_tb(k));
Line: 6977

      SELECT COUNT(1) INTO  l_temp_cnt FROM wms_repl_demand_gtmp;
Line: 6987

   l_item_id_tb.DELETE;
Line: 6988

   l_total_demand_qty_tb.DELETE;
Line: 6989

   l_date_required_tb.DELETE;
Line: 6990

   l_repl_to_sub_code_tb.DELETE;
Line: 6991

   l_repl_uom_code_tb.DELETE;
Line: 7010

   x_consol_item_repl_tbl.DELETE;
Line: 7073

      x_consol_item_repl_tbl.DELETE;
Line: 7126

	select
	  mtrl.organization_id,
	  mtrl.INVENTORY_ITEM_ID,
	  mtrl.FROM_SUBINVENTORY_CODE,
	  mtrl.TO_SUBINVENTORY_CODE,
	  mtrl.quantity mol_qty,
	  Nvl(mtrl.quantity_detailed,0) mol_detailed_qty,
	  Nvl(mtrl.quantity_delivered,0) mol_delivered_qty,
	  mtrl.uom_code,
	  mtrl.header_id,
	  mtrl.line_id
	  FROM mtl_txn_request_lines mtrl,
	  Mtl_txn_request_headers mtrh
	  WHERE  mtrl.header_id = mtrh.header_id
	  And mtrl.organization_id = mtrh.organization_id
	  and mtrl.organization_id in (select organization_id from mtl_parameters where wms_enabled_flag = 'Y')
	  And MTRH.move_order_type = 2
	  and mtrl.line_status in (3,7) -- only approved and pre-approved
	  and (mtrl.quantity - (Nvl(mtrl.quantity_detailed,0) + Nvl(mtrl.quantity_delivered,0)))  > 0
	  and mtrh.transaction_type_id = 64
	  and mtrl.transaction_type_id = 64
	  and mtrl.transaction_source_type_id = 4
	  ORDER BY mtrl.organization_id, mtrl.TO_SUBINVENTORY_CODE, mtrl.line_id, mtrl.INVENTORY_ITEM_ID;
Line: 7158

	SELECT INVENTORY_LOCATION_ID
	  FROM MTL_ITEM_LOCATIONS
	  WHERE SUBINVENTORY_CODE = P_SUB_CODE
	  AND ORGANIZATION_ID = p_organization_id
	  ORDER BY PICKING_ORDER;
Line: 7165

	SELECT MSI.PICK_UOM_CODE, MISI.FIXED_LOT_MULTIPLE
	  from MTL_ITEM_SUB_INVENTORIES  MISI,
	  MTL_SECONDARY_INVENTORIES MSI
	  where MISI.organization_id =  p_org_id
	  AND MISI.SOURCE_SUBINVENTORY = MSI.SECONDARY_INVENTORY_NAME
	  AND MISI.ORGANIZATION_ID = MSI.ORGANIZATION_ID
	  AND nvl(MISI.SOURCE_SUBINVENTORY, '@@@') = NVL(p_src_sub , nvl(MISI.SOURCE_SUBINVENTORY,'@@@'))
	  AND MISI.SECONDARY_INVENTORY = p_dest_sub
	  AND MISI.INVENTORY_ITEM_ID   = p_Item_id
	  and MISI.source_type = 3 --(for Subinventory)
	  AND MISI.source_organization_id =  p_org_id;
Line: 7178

	SELECT muom.uom_code
	  FROM  mtl_units_of_measure_tl muom,mtl_units_of_measure_tl muom2
	  WHERE muom2.uom_code = p_txn_uom_code
	  AND muom2.language = userenv('LANG')
	  AND muom.uom_class = muom2.uom_class
	  AND muom.language = userenv('LANG')
	  AND muom.base_uom_flag = 'Y';
Line: 7188

      SELECT transaction_temp_id
        FROM mtl_material_transactions_temp
	WHERE move_order_line_id = l_mo_line_id;
Line: 7343

	    --  returning the updated available capacity.

	    IF (l_debug = 1) THEN
	       print_debug('Capacity of current locator: '||l_available_capacity);
Line: 7488

		  --update the MO line quantity_detailed field or close the MO
                  BEGIN
		     SELECT NVL(SUM(primary_quantity), 0)
		       ,NVL(sum(transaction_quantity),0)
		       ,COUNT(*)
		       INTO l_prim_quantity_detailed
		       ,l_quantity_detailed_conv
		       ,l_num_detail_recs
		       FROM mtl_material_transactions_temp
		       WHERE move_order_line_id = l_open_repl_mo.line_id;
Line: 7536

		     -- update the quantity detailed correctly
		     UPDATE mtl_txn_request_lines mtrl
		       SET mtrl.quantity_detailed = l_quantity_detailed
		       where line_id = l_open_repl_mo.line_id;
Line: 7542

			print_debug('Updated the detailed qty on the MO line');
Line: 7549

		     UPDATE mtl_txn_request_lines mtrl
		       SET mtrl.quantity_detailed = l_quantity_detailed
		       where line_id = l_open_repl_mo.line_id;
Line: 7601

PROCEDURE UPDATE_DELIVERY_DETAIL (
				  p_delivery_detail_id       IN NUMBER,
				  P_PRIMARY_QUANTITY         IN NUMBER,
				  P_SPLIT_DELIVERY_DETAIL_ID IN NUMBER  DEFAULT NULL,
				  p_split_source_line_id     IN NUMBER DEFAULT NULL,
				  x_return_status            OUT    NOCOPY VARCHAR2
				  )

  IS
     l_debug   NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
Line: 7645

	 --UPDATE THE PRIMARY QTY FOR THE DEMAND

	 UPDATE WMS_REPLENISHMENT_DETAILS
	   SET PRIMARY_QUANTITY = P_PRIMARY_QUANTITY
	   WHERE DEMAND_LINE_DETAIL_ID = p_delivery_detail_id
	   AND primary_quantity >= P_PRIMARY_QUANTITY;
Line: 7659

	 DELETE FROM WMS_REPLENISHMENT_DETAILS
	   WHERE DEMAND_LINE_DETAIL_ID = P_DELIVERY_DETAIL_ID;
Line: 7675

	 SELECT
	   source_header_id, Source_line_id,
	   Source_line_detail_id,Source_type_id, demand_header_id,
	   demand_line_id,demand_type_id, Primary_UOM, Primary_Quantity,
	   demand_sort_order, inventory_item_id, organization_id
	   , Nvl(repl_level,1), repl_type
	   INTO l_source_header_id,l_Source_line_id,
	   l_Source_line_detail_id, l_Source_type_id,
	   l_demand_header_id,l_demand_line_id, l_demand_type_id,l_Primary_UOM, l_orig_pri_qty, l_demand_sort_order,
	   l_item_id, l_org_id , l_repl_level, l_repl_type
	   FROM WMS_REPLENISHMENT_DETAILS
	   WHERE DEMAND_LINE_DETAIL_ID = p_delivery_detail_id;
Line: 7697

	 -- Update old delivery with decreased qty
	 UPDATE WMS_REPLENISHMENT_DETAILS
	   SET PRIMARY_QUANTITY = P_PRIMARY_QUANTITY
	   WHERE DEMAND_LINE_DETAIL_ID = p_delivery_detail_id;
Line: 7702

	 -- Insert a new record in WRD with remaining qty
	 -- Note: Priority of the Split demand Order remain same as the
	 -- original one
	 INSERT INTO WMS_REPLENISHMENT_DETAILS
	   (Replenishment_id,
	    Organization_Id,
	    source_header_id,
	    Source_line_id,
	    Source_line_detail_id,
	    Source_type_id,
	    demand_header_id,
	    demand_line_id,
	    demand_line_detail_id,
	    demand_type_id,
	    Inventory_item_id,
	    Primary_UOM,
	    Primary_Quantity,
	    demand_sort_order,
	    repl_type,
	    repl_level,
	    CREATION_DATE,
	    LAST_UPDATE_DATE,
	    CREATED_BY,
	    LAST_UPDATED_BY,
	    LAST_UPDATE_LOGIN
	    )VALUES (
		     WMS_REPLENISHMENT_DETAILS_S.NEXTVAL,
		     l_org_id,
		     l_source_header_id,
		     l_source_line_id,
		     l_Source_line_detail_id,
		     l_Source_type_id,
		     l_demand_header_id,
		     Nvl(p_split_source_line_id,l_demand_line_id),
		     p_split_delivery_detail_id,
		     l_demand_type_id,
		     l_item_id,
		     l_Primary_UOM,
		     (l_orig_pri_qty - p_primary_quantity) ,
		     l_demand_sort_order,
		     L_repl_type,
		     l_repl_level,
		     Sysdate,
		     Sysdate,
		     fnd_global.user_id,
		     fnd_global.user_id,
		     fnd_global.user_id);
Line: 7758

	 print_debug('Exception in update_delivery_detail: ' || sqlcode || ', ' || sqlerrm);
Line: 7760

END update_delivery_detail;