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.
219 lines
35 KiB
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
|