USE [Vertragsverwaltung_20160404] GO /****** Object: StoredProcedure [dbo].[sp_get_sysadmin_tree] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_sysadmin_tree] GO /****** Object: StoredProcedure [dbo].[sp_get_sysadmin_tree] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[sp_get_sysadmin_tree] -------------------------------------------------------------------------------------------------------------- -- Liest die Dokumentart-Hierarchie, Knoten Root in der entsprechenden Sprache, für den entsprechenden Mandanten -- -- Autor: Stefan Hutter -------------------------------------------------------------- @imitarbeiternr int, @iSprache int, @iMandant int, @iRoot int, @iErrorcode int output AS CREATE TABLE #tmph( [sysadminfnktnr] [int] NULL , [bezeichnung] [varchar] (255) null, [imageindex] [int] NULL , [imageindexopen] [int] NULL, [parentid] [int] null, [sort] [int] null ) ON [DEFAULT] declare @sfnkt int declare xcursor cursor for SELECT dbo.rolle_sysadminfunktion.sysadminfnktnr FROM dbo.mitarbeiter_funktionsgruppe INNER JOIN dbo.funktionsgruppe_rolle ON dbo.mitarbeiter_funktionsgruppe.funktionsgruppenr = dbo.funktionsgruppe_rolle.funktionsgruppenr INNER JOIN dbo.rolle_sysadminfunktion ON dbo.funktionsgruppe_rolle.rollenr = dbo.rolle_sysadminfunktion.rollenr INNER JOIN dbo.funktionsgruppe ON dbo.mitarbeiter_funktionsgruppe.funktionsgruppenr = dbo.funktionsgruppe.funktionsgruppenr WHERE (dbo.rolle_sysadminfunktion.aktiv = 1) AND (dbo.funktionsgruppe_rolle.aktiv = 1) AND (dbo.mitarbeiter_funktionsgruppe.aktiv = 1) AND (dbo.funktionsgruppe.aktiv = 1) AND (dbo.mitarbeiter_funktionsgruppe.mitarbeiternr = @imitarbeiternr) /* SELECT dbo.rolle_sysadminfunktion.sysadminfnktnr FROM dbo.rolle INNER JOIN dbo.mitarbeiterrolle ON dbo.rolle.rollenr = dbo.mitarbeiterrolle.rollenr INNER JOIN dbo.rolle_sysadminfunktion ON dbo.rolle.rollenr = dbo.rolle_sysadminfunktion.rollenr WHERE dbo.mitarbeiterrolle.mitarbeiternr = @imitarbeiternr and rolle_sysadminfunktion.aktiv=1 and dbo.rolle.aktiv=1 and dbo.mitarbeiterrolle.aktiv=1 */ open xcursor FETCH NEXT FROM xcursor into @sfnkt WHILE @@FETCH_STATUS = 0 BEGIN execute sp_get_sysadmin_hierarchie_data @sfnkt, @isprache, @imandant FETCH NEXT FROM xcursor into @sfnkt end close xcursor deallocate xcursor delete #tmph where parentid is null update #tmph set parentid=0, imageindex=2, imageindexopen=2 where sysadminfnktnr=@iroot select distinct * from #tmph order by sort drop table #tmph select @iErrorcode=@@error GO