You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ITSM/.svn/pristine/79/79713598c8a25f7168b547257f3...

68 lines
3.7 KiB

USE [Vertragsverwaltung_20160404]
GO
/****** Object: StoredProcedure [dbo].[sp_lc_get_kopien] Script Date: 02.12.2016 09:08:53 ******/
DROP PROCEDURE [dbo].[sp_lc_get_kopien]
GO
/****** Object: StoredProcedure [dbo].[sp_lc_get_kopien] Script Date: 02.12.2016 09:08:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_lc_get_kopien]
@original INT,
@fnkt INT = 0,
@result INT=0 output
AS
BEGIN
DECLARE @t1 TABLE(copykey INT, parentnr int, bezeichnung VARCHAR(1024))
DECLARE @bez VARCHAR(255)
SELECT @bez=bezeichnung FROM dbo.LC_Produkt WHERE LC_ProduktNr=@original
INSERT @t1 SELECT lc_produkt_copynr, lc_produkt_parentnr, @bez FROM dbo.LC_Produkt_Copy WHERE aktiv=1 AND lc_produktnr=@original
declare @lcnr int
DECLARE @pnr INT
DECLARE @p1 INT
DECLARE @b1 VARCHAR(255)
DECLARE @i int
DECLARE xc CURSOR FOR
SELECT * FROM @t1
OPEN xc
FETCH NEXT FROM xc into @lcnr, @pnr, @bez
WHILE @@fetch_status=0 BEGIN
SET @i=1
SET @p1=@pnr
WHILE @i=1 BEGIN
SELECT @b1=bezeichnung,@p1=lc_produktnr_parent FROM lc_produkt WHERE lc_produktnr=@p1
IF @@rowcount=0 BEGIN
SET @i=0
END ELSE BEGIN
SET @bez=@b1+' / ' + @bez
END
END
UPDATE @t1 SET bezeichnung=@bez WHERE copykey=@lcnr
FETCH NEXT FROM xc into @lcnr, @pnr, @bez
END
CLOSE xc
DEALLOCATE xc
IF @fnkt=1 BEGIN
SELECT @result=COUNT(*) FROM @t1
END ELSE begin
SELECT copykey, parentnr, bezeichnung as Element FROM @t1
END
END
GO