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/a2/a279fba9107fdd7ab29cc525b5a...

219 lines
35 KiB

USE [Vertragsverwaltung_20160404]
GO
/****** Object: StoredProcedure [dbo].[sp_applikationsuebersicht_get_details] Script Date: 02.12.2016 09:08:54 ******/
DROP PROCEDURE [dbo].[sp_applikationsuebersicht_get_details]
GO
/****** Object: StoredProcedure [dbo].[sp_applikationsuebersicht_get_details] Script Date: 02.12.2016 09:08:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
-- =============================================
-- Author: <Stefan Hutter>
-- Create date: <13.01.2008>
-- Description: <Auslesen der Struktur (inkl. Kategorien) der Applikationsverwaltung>
-- =============================================
CREATE PROCEDURE [dbo].[sp_applikationsuebersicht_get_details]
@entryroot int,
@suchstring as varchar(255),
@mitarbeiternr int
AS
CREATE TABLE #tmpd(
[applikationsnr] [int] ,
[bezeichnung] [varchar] (255) null,
[parentid] [int] null,
-- [applikationskategorienr] [int],
[aktiv] [bit] null,
) ON [DEFAULT]
-- Rootentry für die Treeaufbereitung in der Applikation
insert #tmpd (applikationsnr, bezeichnung, parentid, aktiv) values(0,'Root',null,1)
declare @appnr int
declare @appbez varchar(50)
declare @appprnt int
declare @anr int
declare @bez varchar(50)
declare @pid int
declare @aktiv bit
set @appprnt = -1
-----------------------------------------------------------------------------------------
-- Erster Loop über die Applikationkategorie
-----------------------------------------------------------------------------------------
if @entryroot < 0 begin
set @entryroot=@entryroot * -1
declare xc cursor for
select ApplikationKategorieNr, bezeichnung, aktiv from dbo.applikationkategorie where aktiv=1 and applikationkategorienr=@entryroot
open xc
fetch next from xc into @appnr, @appbez, @aktiv
while @@fetch_status=0 begin
insert #tmpd(applikationsnr, bezeichnung, parentid, aktiv)
values (@appprnt, @appbez, 0,1)
-----------------------------------------------------------------------------------------
-- Zweiter Loop über die Einträge der obesten Ebene der Applikationen
-----------------------------------------------------------------------------------------
declare yc cursor for
select applikationnr, bezeichnung, parentid, @aktiv from applikation
where applikationkategorienr=@appnr and parentid=0
open yc
fetch next from yc into @anr, @bez, @pid, @aktiv
while @@fetch_status=0 begin
insert #tmpd(applikationsnr, bezeichnung, parentid, aktiv)
values (@anr, @bez, @appprnt, @aktiv)
-----------------------------------------------------------------------------------------
-- Je Applikation die untergeordneten Applikationen/Module auslesen
-----------------------------------------------------------------------------------------
execute dbo.sp_get_applstruktur_down @anr,1, @anr
fetch next from yc into @anr, @bez, @pid, @aktiv
end
close yc
deallocate yc
set @appprnt = @appprnt - 1
fetch next from xc into @appnr, @appbez, @aktiv
end
close xc
deallocate xc
end else begin
declare yc1 cursor for
select applikationnr, bezeichnung, parentid, @aktiv from applikation
where applikationnr=@entryroot
open yc1
fetch next from yc1 into @anr, @bez, @pid, @aktiv
while @@fetch_status=0 begin
print @anr
print @bez
print '----'
insert #tmpd(applikationsnr, bezeichnung, parentid, aktiv)
values (@anr, @bez, @appprnt, @aktiv)
-----------------------------------------------------------------------------------------
-- Je Applikation die untergeordneten Applikationen/Module auslesen
-----------------------------------------------------------------------------------------
execute dbo.sp_get_applstruktur_down @anr,1, @anr
fetch next from yc1 into @anr, @bez, @pid, @aktiv
end
close yc1
deallocate yc1
end
-----------------------------------------------------------------------------------------
-- Daten zurück geben und temporäre Tabelle löschen
-----------------------------------------------------------------------------------------
delete from #tmpd where parentid is null
--> Ohne Suchstring
if @suchstring='' begin
SELECT distinct dbo.Applikation.ApplikationNr, dbo.Applikation.Bezeichnung, dbo.Applikation.ParentID, dbo.Applikation.ApplikationVerantwortungNr,
dbo.Applikation.ApplikationKategorieNr, dbo.Applikation.ApplikationTeamNr, dbo.Applikation.Marktbereichnr, dbo.Applikation.Version, dbo.Applikation.AlsProdukt,
dbo.Applikation.NurLizenz, dbo.Applikation.PrioWiederanlauf, dbo.Applikation.Kurzbeschreibung, dbo.Applikation.Inaktivseit, dbo.Applikation.RAS,
dbo.Applikation.Datenbankname, dbo.Applikation.Anzahl_Installationen, dbo.Applikation.Test_Aufwand, dbo.Applikation.Test_Arbeitsplaetze,
dbo.Applikation.Test_Abhaengigkeiten, dbo.Applikation.Test_Bemerkung, dbo.Applikation.TicketXPertVerwendung, dbo.Applikation.TicketXPert_WPIAnzeigen,
dbo.Applikation.TicketXPert_Preis, dbo.Applikation.TicketXPert_Preis_Einmalig, dbo.Applikation.TicketXPert_AMAnzeigen,
dbo.Applikation.TicketXPert_ApplikationKritikalitaetTypNr, dbo.Applikation.TicketXPert_ApplikationSMLTypNr, dbo.Applikation.Aktiv, dbo.Applikation.Erstellt_am,
dbo.Applikation.Mutiert_am, dbo.Applikation.Mutierer, dbo.Applikation.SecurityLevelNr, dbo.Applikation.RfcBoardNr, dbo.GremiumGruppierung.GremiumGruppierungNr,
dbo.GremiumGruppierung.GremiumNr, dbo.GremiumGruppierung.Gruppierungsbegriff, dbo.GremiumGruppierung.Beschreibung,
dbo.GremiumGruppierung.Reihenfolge, dbo.GremiumGruppierung.Aktiv AS Expr1, dbo.GremiumGruppierung.Erstellt_am AS Expr2,
dbo.GremiumGruppierung.Mutiert_am AS Expr3, dbo.GremiumGruppierung.Mutierer AS Expr4, GremiumBereich_1.GremiumBereichNr,
GremiumBereich_1.GremiumGruppierungNr AS Expr5, GremiumBereich_1.Bereich, GremiumBereich_1.Beschreibung AS Expr6, GremiumBereich_1.Sortierung,
GremiumBereich_1.Aktiv AS Expr7, GremiumBereich_1.Erstellt_am AS Expr8, GremiumBereich_1.Mutiert_am AS Expr9, GremiumBereich_1.Mutierer AS Expr10,
GremiumGruppierung_1.GremiumGruppierungNr AS Expr11, GremiumGruppierung_1.GremiumNr AS Expr12, GremiumGruppierung_1.Gruppierungsbegriff AS Expr13,
GremiumGruppierung_1.Beschreibung AS Expr14, GremiumGruppierung_1.Reihenfolge AS Expr15, GremiumGruppierung_1.Aktiv AS Expr16,
GremiumGruppierung_1.Erstellt_am AS Expr17, GremiumGruppierung_1.Mutiert_am AS Expr18, GremiumGruppierung_1.Mutierer AS Expr19,
dbo.GremiumGruppierung.Gruppierungsbegriff AS Marktbereich, GremiumBereich_1.Bereich AS Team, GremiumGruppierung_1.Gruppierungsbegriff AS Verantwortung,
dbo.GremiumBereich.Bereich AS RFCBoard
FROM dbo.Applikation INNER JOIN
#tmpd on #tmpd.applikationsnr = dbo.applikation.applikationnr LEFT OUTER JOIN
dbo.GremiumBereich ON dbo.Applikation.RfcBoardNr = dbo.GremiumBereich.GremiumBereichNr LEFT OUTER JOIN
dbo.GremiumBereich AS GremiumBereich_1 ON dbo.Applikation.ApplikationTeamNr = GremiumBereich_1.GremiumBereichNr LEFT OUTER JOIN
dbo.GremiumGruppierung ON dbo.Applikation.Marktbereichnr = dbo.GremiumGruppierung.GremiumGruppierungNr LEFT OUTER JOIN
dbo.GremiumGruppierung AS GremiumGruppierung_1 ON dbo.Applikation.ApplikationVerantwortungNr = GremiumGruppierung_1.GremiumGruppierungNr
where dbo.applikation.securitylevelnrin (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))
order by dbo.applikation.parentid, dbo.applikation.bezeichnung
--SELECT DISTINCT
-- dbo.Applikation.ApplikationNr, dbo.Applikation.Bezeichnung, dbo.Applikation.ParentID, dbo.Applikation.ApplikationVerantwortungNr,
-- dbo.ApplikationVerantwortung.Bezeichnung AS Verantwortung, dbo.Applikation.ApplikationKategorieNr, dbo.ApplikationKategorie.Bezeichnung AS Kategorie,
-- dbo.Applikation.Marktbereichnr, dbo.Marktbereich.Bezeichnung AS Marktbereich, dbo.Applikation.Version, dbo.Applikation.AlsProdukt, dbo.Applikation.NurLizenz,
-- dbo.Applikation.PrioWiederanlauf, dbo.Applikation.Kurzbeschreibung, dbo.Applikation.Inaktivseit, dbo.Applikation.RAS, dbo.Applikation.Datenbankname,
-- dbo.Applikation.Anzahl_Installationen, dbo.Applikation.Test_Aufwand, dbo.Applikation.Test_Arbeitsplaetze, dbo.Applikation.Test_Abhaengigkeiten,
-- dbo.Applikation.Test_Bemerkung, dbo.Applikation.TicketXPertVerwendung, dbo.Applikation.TicketXPert_WPIAnzeigen, dbo.Applikation.TicketXPert_Preis,
-- dbo.Applikation.TicketXPert_Preis_Einmalig, dbo.Applikation.TicketXPert_AMAnzeigen, dbo.Applikation.TicketXPert_ApplikationKritikalitaetTypNr,
-- dbo.Applikation.TicketXPert_ApplikationSMLTypNr, dbo.ApplikationSLMTyp.Bezeichnung AS SML, dbo.Applikation.Aktiv, dbo.Applikation.Erstellt_am,
-- dbo.Applikation.Mutiert_am, dbo.Applikation.Mutierer, dbo.Applikation.SecurityLevelNr, dbo.applikationteam.bezeichnung as Team
--FROM dbo.Applikation INNER JOIN
-- #tmpd on #tmpd.applikationsnr = dbo.applikation.applikationnr inner join
-- dbo.ApplikationVerantwortung ON dbo.Applikation.ApplikationVerantwortungNr = dbo.ApplikationVerantwortung.ApplikationVerantwortungNr INNER JOIN
-- dbo.ApplikationKategorie ON dbo.Applikation.ApplikationKategorieNr = dbo.ApplikationKategorie.ApplikationKategorieNr INNER JOIN
-- dbo.Marktbereich ON dbo.Applikation.Marktbereichnr = dbo.Marktbereich.MarktbereichNr LEFT OUTER JOIN
-- dbo.ApplikationSLMTyp ON dbo.Applikation.TicketXPert_ApplikationSMLTypNr = dbo.ApplikationSLMTyp.ApplikationSLMTypNr LEFT OUTER JOIN
-- dbo.ApplikationTeam ON dbo.Applikation.ApplikationTeamNr = dbo.ApplikationTeam.ApplikationTeamNr
--where dbo.applikation.securitylevelnrin (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))
--order by dbo.applikation.parentid, dbo.applikation.bezeichnung
--end else begin
--> Mit Suchstring
end else begin
set @suchstring='%' + @suchstring + '%'
SELECT distinct dbo.Applikation.ApplikationNr, dbo.Applikation.Bezeichnung, dbo.Applikation.ParentID, dbo.Applikation.ApplikationVerantwortungNr,
dbo.Applikation.ApplikationKategorieNr, dbo.Applikation.ApplikationTeamNr, dbo.Applikation.Marktbereichnr, dbo.Applikation.Version, dbo.Applikation.AlsProdukt,
dbo.Applikation.NurLizenz, dbo.Applikation.PrioWiederanlauf, dbo.Applikation.Kurzbeschreibung, dbo.Applikation.Inaktivseit, dbo.Applikation.RAS,
dbo.Applikation.Datenbankname, dbo.Applikation.Anzahl_Installationen, dbo.Applikation.Test_Aufwand, dbo.Applikation.Test_Arbeitsplaetze,
dbo.Applikation.Test_Abhaengigkeiten, dbo.Applikation.Test_Bemerkung, dbo.Applikation.TicketXPertVerwendung, dbo.Applikation.TicketXPert_WPIAnzeigen,
dbo.Applikation.TicketXPert_Preis, dbo.Applikation.TicketXPert_Preis_Einmalig, dbo.Applikation.TicketXPert_AMAnzeigen,
dbo.Applikation.TicketXPert_ApplikationKritikalitaetTypNr, dbo.Applikation.TicketXPert_ApplikationSMLTypNr, dbo.Applikation.Aktiv, dbo.Applikation.Erstellt_am,
dbo.Applikation.Mutiert_am, dbo.Applikation.Mutierer, dbo.Applikation.SecurityLevelNr, dbo.Applikation.RfcBoardNr, dbo.GremiumGruppierung.GremiumGruppierungNr,
dbo.GremiumGruppierung.GremiumNr, dbo.GremiumGruppierung.Gruppierungsbegriff, dbo.GremiumGruppierung.Beschreibung,
dbo.GremiumGruppierung.Reihenfolge, dbo.GremiumGruppierung.Aktiv AS Expr1, dbo.GremiumGruppierung.Erstellt_am AS Expr2,
dbo.GremiumGruppierung.Mutiert_am AS Expr3, dbo.GremiumGruppierung.Mutierer AS Expr4, GremiumBereich_1.GremiumBereichNr,
GremiumBereich_1.GremiumGruppierungNr AS Expr5, GremiumBereich_1.Bereich, GremiumBereich_1.Beschreibung AS Expr6, GremiumBereich_1.Sortierung,
GremiumBereich_1.Aktiv AS Expr7, GremiumBereich_1.Erstellt_am AS Expr8, GremiumBereich_1.Mutiert_am AS Expr9, GremiumBereich_1.Mutierer AS Expr10,
GremiumGruppierung_1.GremiumGruppierungNr AS Expr11, GremiumGruppierung_1.GremiumNr AS Expr12, GremiumGruppierung_1.Gruppierungsbegriff AS Expr13,
GremiumGruppierung_1.Beschreibung AS Expr14, GremiumGruppierung_1.Reihenfolge AS Expr15, GremiumGruppierung_1.Aktiv AS Expr16,
GremiumGruppierung_1.Erstellt_am AS Expr17, GremiumGruppierung_1.Mutiert_am AS Expr18, GremiumGruppierung_1.Mutierer AS Expr19,
dbo.GremiumGruppierung.Gruppierungsbegriff AS Marktbereich, GremiumBereich_1.Bereich AS Team, GremiumGruppierung_1.Gruppierungsbegriff AS Verantwortung,
dbo.GremiumBereich.Bereich AS RFCBoard
FROM dbo.Applikation INNER JOIN
#tmpd on #tmpd.applikationsnr = dbo.applikation.applikationnr inner join
dbo.ApplikationKontakt ON dbo.Applikation.ApplikationNr = dbo.ApplikationKontakt.Applikationnr INNER JOIN
dbo.Person ON dbo.ApplikationKontakt.PersonNr = dbo.Person.PersonNr LEFT OUTER JOIN
dbo.GremiumBereich ON dbo.Applikation.RfcBoardNr = dbo.GremiumBereich.GremiumBereichNr LEFT OUTER JOIN
dbo.GremiumBereich AS GremiumBereich_1 ON dbo.Applikation.ApplikationTeamNr = GremiumBereich_1.GremiumBereichNr LEFT OUTER JOIN
dbo.GremiumGruppierung ON dbo.Applikation.Marktbereichnr = dbo.GremiumGruppierung.GremiumGruppierungNr LEFT OUTER JOIN
dbo.GremiumGruppierung AS GremiumGruppierung_1 ON dbo.Applikation.ApplikationVerantwortungNr = GremiumGruppierung_1.GremiumGruppierungNr
where dbo.applikation.securitylevelnrin (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and
(dbo.Applikation.bezeichnung like @suchstring or dbo.Applikation.kurzbeschreibung like @suchstring or dbo.person.name like @suchstring or dbo.person.vorname like @suchstring)
order by dbo.applikation.parentid, dbo.applikation.bezeichnung
--SELECT DISTINCT
-- dbo.Applikation.ApplikationNr, dbo.Applikation.Bezeichnung, dbo.Applikation.ParentID, dbo.Applikation.ApplikationVerantwortungNr,
-- dbo.ApplikationVerantwortung.Bezeichnung AS Verantwortung, dbo.Applikation.ApplikationKategorieNr, dbo.ApplikationKategorie.Bezeichnung AS Kategorie,
-- dbo.Applikation.Marktbereichnr, dbo.Marktbereich.Bezeichnung AS Marktbereich, dbo.Applikation.Version, dbo.Applikation.AlsProdukt, dbo.Applikation.NurLizenz,
-- dbo.Applikation.PrioWiederanlauf, dbo.Applikation.Kurzbeschreibung, dbo.Applikation.Inaktivseit, dbo.Applikation.RAS, dbo.Applikation.Datenbankname,
-- dbo.Applikation.Anzahl_Installationen, dbo.Applikation.Test_Aufwand, dbo.Applikation.Test_Arbeitsplaetze, dbo.Applikation.Test_Abhaengigkeiten,
-- dbo.Applikation.Test_Bemerkung, dbo.Applikation.TicketXPertVerwendung, dbo.Applikation.TicketXPert_WPIAnzeigen, dbo.Applikation.TicketXPert_Preis,
-- dbo.Applikation.TicketXPert_Preis_Einmalig, dbo.Applikation.TicketXPert_AMAnzeigen, dbo.Applikation.TicketXPert_ApplikationKritikalitaetTypNr,
-- dbo.Applikation.TicketXPert_ApplikationSMLTypNr, dbo.ApplikationSLMTyp.Bezeichnung AS SML, dbo.Applikation.Aktiv, dbo.Applikation.Erstellt_am,
-- dbo.Applikation.Mutiert_am, dbo.Applikation.Mutierer, dbo.Applikation.SecurityLevelNr, dbo.applikationteam.bezeichnung as Team
--FROM dbo.Applikation INNER JOIN
-- #tmpd on #tmpd.applikationsnr = dbo.applikation.applikationnr inner join
-- dbo.ApplikationVerantwortung ON dbo.Applikation.ApplikationVerantwortungNr = dbo.ApplikationVerantwortung.ApplikationVerantwortungNr INNER JOIN
-- dbo.ApplikationKategorie ON dbo.Applikation.ApplikationKategorieNr = dbo.ApplikationKategorie.ApplikationKategorieNr INNER JOIN
-- dbo.Marktbereich ON dbo.Applikation.Marktbereichnr = dbo.Marktbereich.MarktbereichNr LEFT OUTER JOIN
-- dbo.ApplikationSLMTyp ON dbo.Applikation.TicketXPert_ApplikationSMLTypNr = dbo.ApplikationSLMTyp.ApplikationSLMTypNr LEFT OUTER JOIN
-- dbo.ApplikationTeam ON dbo.Applikation.ApplikationTeamNr = dbo.ApplikationTeam.ApplikationTeamNr
--where dbo.applikation.securitylevelnrin (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and
-- (dbo.Applikation.bezeichnung like @suchstring or dbo.Applikation.kurzbeschreibung like @suchstring)
--order by dbo.applikation.parentid, dbo.applikation.bezeichnung
end
drop table #tmpd
GO