All pastes #56290 Raw Edit

Unnamed

public text v1 · immutable
#56290 ·published 2006-05-16 18:43 UTC
rendered paste body
	declare @producttypeid bigint;
	declare @qtyship int;
	declare @qtybo int;

	SELECT @producttypeid = producttypeid FROM product_info WHERE (productid=@productid);

	SELECT CASE 
		WHEN @producttypeid = 1 THEN
			-- it's a raw product, so get stock from semi-manufactured 
			SELECT @qtyavailable = qtysemimanufactured FROM product_info WHERE (productid=@productid)

		WHEN @producttypeid IN (2,3,4,5) THEN
			-- it's a finished product, so get stock from finished
			SELECT @qtyavailable = qtyfinished FROM product_info WHERE productid=@productid)
	END

	-- calculate ship quantity and backorder quantity from stock available vs qty sold
	IF @qtyavailable > @quantity THEN
		SELECT @qtyship = @quantity
	ELSE
		SELECT @qtybo = @quantity - @qtyavailable  
	END IF

	-- add the product item
	INSERT INTO salesitem_info (salesid, productid, quantity, price, qtyship, qtybackorder)
	VALUES (@salesid, @productid, @quantity, @price, @qtyship, @qtybo)