USE [Vertragsverwaltung_20160404] GO /****** Object: StoredProcedure [dbo].[pr_Vertragsleistung_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Vertragsleistung_SelectAll_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Vertragsleistung_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[pr_Vertragsleistung_SelectAll_bottomtable] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Kuendigungsfrist' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON if @fokus = 0 begin SELECT dbo.Vertragsleistung.VertragsleistungNr, dbo.Vertragsleistung.VertragselementNr, dbo.Vertragsleistung.ServicekatalogNr, dbo.Vertragsleistung.Bemerkung, dbo.Vertragsleistung.Aktiv, dbo.Vertragsleistung.Erstellt_am, dbo.Vertragsleistung.Mutiert_am, dbo.Vertragsleistung.Mutierer, dbo.Vertragsleistung.Mandantnr, dbo.Vertragsleistung.SecurityLevelNr, dbo.ServiceKatalog.Bezeichnung_intern, dbo.ServiceKatalog.Bezeichnung_extern FROM dbo.Vertragsleistung INNER JOIN dbo.ServiceKatalog ON dbo.Vertragsleistung.ServicekatalogNr = dbo.ServiceKatalog.ServiceKatalogNr where dbo.Vertragsleistung.SecurityLevelnrin (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragselementnr = @keyvalue ORDER BY [vertragsleistungnr] ASC end if @fokus=1 begin SELECT dbo.Vertragsleistung.VertragsleistungNr, dbo.Vertragsleistung.VertragselementNr, dbo.Vertragsleistung.ServicekatalogNr, dbo.Vertragsleistung.Bemerkung, dbo.Vertragsleistung.Aktiv, dbo.Vertragsleistung.Erstellt_am, dbo.Vertragsleistung.Mutiert_am, dbo.Vertragsleistung.Mutierer, dbo.Vertragsleistung.Mandantnr, dbo.Vertragsleistung.SecurityLevelNr, dbo.ServiceKatalog.Bezeichnung_intern, dbo.ServiceKatalog.Bezeichnung_extern, dbo.Vertragselement.Bezeichnung FROM dbo.Vertragsleistung INNER JOIN dbo.ServiceKatalog ON dbo.Vertragsleistung.ServicekatalogNr = dbo.ServiceKatalog.ServiceKatalogNr INNER JOIN dbo.Vertragselement ON dbo.Vertragsleistung.VertragselementNr = dbo.Vertragselement.Vertragselementnr WHERE (dbo.Vertragsleistung.SecurityLevelNr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))) AND (dbo.Vertragsleistung.ServicekatalogNr = @keyvalue) ORDER BY dbo.Vertragsleistung.Vertragselementnr end -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR return -- Nachfolgender Code kann verwendet werden, wenn von einer gewählten Leistung auch die Child-Leistungen angezeigt werden sollen --CREATE TABLE #tmpd( -- [servicekatalognr] [int] , -- [bezeichnung] [varchar] (255) null, -- [parentid] [int] , -- [securitylevelnr] [int], --) ON [DEFAULT] -- --Create Table #tmpdata( -- [EntryKey] int null, -- [EntryText] varchar(50) null, -- [VertragsleistungNr] int null, -- [VertragselementNr] int null, -- [ServicekatalogNr] int null, -- [Bemerkung] varchar(255) null, -- [Aktiv] bit, -- [Erstellt_am] datetime, -- [Mutiert_am] datetime, -- [Mutierer] int null, -- [Mandantnr] int null --) ON [DEFAULT] -- -- --declare @vertragsleistungnr int, @vertragselementnr int, @servicekatalognr int, @bemerkung varchar(255), @aktiv bit, @erstellt_am datetime, @mutiert_am datetime, @mutierer int, @mandantnr int --declare @sknr int --declare @vnr int --declare @bez varchar(255) --declare @serviceknr int -- --declare xc cursor for -- SELECT dbo.ServiceKatalog.ServiceKatalogNr, dbo.vertragsleistung.vertragsleistungnr -- FROM dbo.Vertragsleistung INNER JOIN -- dbo.ServiceKatalog ON dbo.Vertragsleistung.ServicekatalogNr = dbo.ServiceKatalog.ServiceKatalogNr -- where vertragselementnr = @keyvalue and -- dbo.Vertragsleistung.SecurityLevelnr>=dbo.Get_SecurityLevel(@mitarbeiternr) --open xc --fetch next from xc into @sknr, @vnr --while @@fetch_status = 0 begin -- select @vertragsleistungnr=vertragsleistungnr, @vertragselementnr=vertragselementnr, @servicekatalognr=servicekatalognr, -- @bemerkung=bemerkung, @aktiv=aktiv, @erstellt_am=erstellt_am, @mutiert_am=mutiert_am, @mutierer=mutierer, @mandantnr=mandantnr -- from dbo.vertragsleistung -- where dbo.vertragsleistung.vertragsleistungnr=@vnr -- execute dbo.my_servicekatalog_struktur_down @sknr,1 -- -- declare xy cursor for select bezeichnung, servicekatalognr from #tmpd order by parentid, bezeichnung -- open xy -- fetch next from xy into @bez, @serviceknr -- while @@fetch_status=0 begin -- insert #tmpdata (EntryKey,EntryText,VertragsleistungNr,VertragselementNr,ServicekatalogNr,Bemerkung,Aktiv,Erstellt_am,Mutiert_am,Mutierer,Mandantnr) -- values (@sknr, @bez, @vertragsleistungnr,@vertragselementnr,@serviceknr,@bemerkung,@aktiv,@erstellt_am,@mutiert_am,@mutierer,@mandantnr) -- fetch next from xy into @bez, @serviceknr -- end -- close xy -- deallocate xy -- Truncate table #tmpd -- fetch next from xc into @sknr, @vnr --end --close xc --deallocate xc --select * from #tmpdata --drop table #tmpdata --drop table #tmpd --return -- [VertragsleistungNr], -- [VertragselementNr], -- [ServicekatalogNr], -- [Bemerkung], -- [Aktiv], -- [Erstellt_am], -- [Mutiert_am], -- [Mutierer], -- [Mandantnr] -- SELECT all rows from the table. --SELECT dbo.Vertragsleistung.VertragsleistungNr, dbo.Vertragsleistung.VertragselementNr, dbo.Vertragsleistung.ServicekatalogNr, dbo.Vertragsleistung.Bemerkung, -- dbo.Vertragsleistung.Aktiv, dbo.Vertragsleistung.Erstellt_am, dbo.Vertragsleistung.Mutiert_am, dbo.Vertragsleistung.Mutierer, dbo.Vertragsleistung.Mandantnr, -- dbo.Vertragsleistung.SecurityLevelNr, dbo.ServiceKatalog.Bezeichnung_intern, dbo.ServiceKatalog.Bezeichnung_extern --FROM dbo.Vertragsleistung INNER JOIN -- dbo.ServiceKatalog ON dbo.Vertragsleistung.ServicekatalogNr = dbo.ServiceKatalog.ServiceKatalogNr --where dbo.Vertragsleistung.SecurityLevelnr>=dbo.Get_SecurityLevel(@mitarbeiternr) and vertragselementnr = @keyvalue -- --ORDER BY -- [vertragsleistungnr] ASC ---- Get the Error Code for the statement just executed. --SELECT @iErrorCode=@@ERROR GO