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.
83 lines
5.6 KiB
83 lines
5.6 KiB
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
|