Skip to end of metadata
Go to start of metadata

Note; it also ensures it's a warehouse item.

Stored Proc: _as_EnableWarehouseItem
-- SP

IF EXISTS ( SELECT  * FROM  sys.objects WHERE   object_id = OBJECT_ID(N'_AS_EnableWarehouseItem') AND type IN ( N'P', N'PC' ) ) 
DROP PROCEDURE _AS_EnableWarehouseItem


GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create Procedure [dbo].[_AS_EnableWarehouseItem]
@StockCode Varchar(100),
@WHCode Varchar(100) = NULL
AS
BEGIN

Declare @LogMessage as Varchar(1024)
  
	
	--1) Get basic information
	Declare @stockLink int
	Declare @Group varchar(100)
	
	Select @stockLink =  (Select stocklink from stkitem where Code = @StockCode)
	IF (COALESCE(@stockLink,0) = 0)
		BEGIN
		Select @LogMessage = 'Stock code does not exist, aborting ('+@stockLink+')'
		print @LogMessage
		return
	END  
		
	Select @Group =  (Select ItemGroup from stkitem where Code = @StockCode)
	
	----DECLARE Temp Table, in which we will put the WH Codes to add the stock item to.
	DECLARE @tblWHCodes TABLE (WHCode varchar(100))
	IF (@WHCode IS NULL)
		BEGIN
			INSERT INTO @tblWHCodes (WHCode) (SELECT Code FROM WhseMst)
		END
	ELSE
		BEGIN
			INSERT INTO @tblWHCodes (WHCode) VALUES (@WHCode)
		END
	
	--2) Set STK item as WH item
	Update StkItem set Whseitem =1  where Code =@StockCode
	
	--3) Foreach the warehouses and add Item
				DECLARE @WhseLink int
				
				DECLARE WHCursor CURSOR FOR
				Select WhseLink from dbo.WhseMst WHERE WhseMst.Code IN (SELECT WHCode FROM @tblWHCodes)
				
				--Open WHCursor
				OPEN WHCursor
				
				FETCH NEXT FROM WHCursor INTO @WhseLink 
				WHILE @@FETCH_STATUS = 0
					BEGIN	
				 -- do not create new record, if record already exists
				 IF NOT EXISTS (SELECT ws.IdWhseStk FROM dbo.WhseStk ws WHERE ws.WHStockLink = @stockLink AND ws.WHWhseID = @WhseLink)
					BEGIN
					insert into dbo.WhseStk (
							   [WHWhseID]
							  ,[WHStockLink]
							  ,[WHStockGroup]
							  ,[WHQtyOnHand]
							  ,[WHQtyOnSO]
							  ,[WHQtyOnPO]
							  ,[WHQtyReserved]
							  ,[WHTTInv]
							  ,[WHTTCrn]
							  ,[WHTTGrv]
							  ,[WHTTRts]
							  ,[WHBarCode]
							  ,[WHRe_Ord_Lvl]
							  ,[WHRe_Ord_Qty]
							  ,[WHMin_Lvl]
							  ,[WHMax_Lvl]
							  ,[WHUsePriceDefs]
							  ,[WHUseInfoDefs]
							  ,[WHUseOrderDefs]
							  ,[WHUseDefaultDefs]
							  ,[WHPackCode]
							  ,[WHJobQty]
							  ,[iBinLocationID]
						   --   ,[fLGRVCount]
							  ,[WHMFPQty]
							  ,[WHUseSupplierDefs]
							  ,[fAverageCost]
							  ,[fLatestCost]
							  ,[fLowestCost]
							  ,[fHighestCost]
							  ,[fManualCost]
							  ,[fWhseLastGRVCost]
							  ,[WhseStk_iBranchID]
							  ,[WhseStk_iCreatedBranchID]
							  ,[WhseStk_iModifiedBranchID]
							  ,[WhseStk_iCreatedAgentID]
							  ,[WhseStk_iModifiedAgentID]
							  ,[WhseStk_iChangeSetID]
							  ,[bWHAllowNegStock]
							--  ,[fWHQtyToDeliver]
							  ,[WhseStk_fLeadDays]
							  ,[WHBuyingAgentID])
							  Values(
							  @WhseLink,  --WHWhseID
							  @stockLink, --WHStockLink
							  @Group,		--Group
							  0,			--qty
							  0,			--WHQtyOnSO
							  0,			--WHQtyOnPO
							  0,			--WHQtyReserved
							  1,			--WHTTInv
							  1,			--WHTTCrn
							  6,			--WHTTGrv
							  6,			--WHTTRts
							 '',			--WHBarCode 
							  0,			--WHRe_Ord_Lvl
							  0,			--WHRe_Ord_Qty
							  0,			--WHMin_Lvl
							  0,			--WHMax_Lvl
							  1,			--WHUsePriceDefs
							  1,			--WHUseInfoDefs
							  1,				--WHUseOrderDefs
							  1,			--WHUseDefaultDefs
							  '',			--WHPackCode
							  0,			--WHJobQty
							  0,			--iBinLocationID
							 -- NULL,			--fLGRVCount
							  0,			--WHMFPQty
							  1,			--WHUseSupplierDefs
							  0,			--fAverageCost
							  0,			--fLatestCost
							  0,			--fLowestCost
							  0,			--fHighestCost
							  0,			--fManualCost
							  0,			--fWhseLastGRVCost
							  0,			--WhseStk_iBranchID
							  0,			--WhseStk_iCreatedBranchID
							  0,			--WhseStk_iModifiedBranchID
							  1,			--WhseStk_iCreatedAgentID
							  1,			--WhseStk_iModifiedAgentID
							  1,			--WhseStk_iChangeSetID
							  0,			--bWHAllowNegStock
							--  NULL,			--fWHQtyToDeliver
							  0,			--WhseStk_fLeadDays
							  0)			--WHBuyingAgentID
					END
	  
					--CURSOR NEXT: WHCursor
					FETCH NEXT FROM WHCursor INTO @WhseLink
				END --WHILE @@FETCH_STATUS... WHCursor
				--Cleaning up cursor:
				CLOSE WHCursor
				DEALLOCATE WHCursor	
END
  • No labels