USE [BEA]
GO

/****** Object:  StoredProcedure [dbo].[sp_rptparams_get_tgnummer]    Script Date: 25.11.2013 16:07:55 ******/
DROP PROCEDURE [dbo].[sp_rptparams_get_tgnummer]
GO

/****** Object:  StoredProcedure [dbo].[sp_rptparams_get_funktionsnummer]    Script Date: 25.11.2013 16:07:55 ******/
DROP PROCEDURE [dbo].[sp_rptparams_get_funktionsnummer]
GO

/****** Object:  StoredProcedure [dbo].[sp_rpt_tgnummer]    Script Date: 25.11.2013 16:07:55 ******/
DROP PROCEDURE [dbo].[sp_rpt_tgnummer]
GO

/****** Object:  StoredProcedure [dbo].[sp_getSet_Verwaltung_Mit]    Script Date: 25.11.2013 16:07:55 ******/
DROP PROCEDURE [dbo].[sp_getSet_Verwaltung_Mit]
GO

/****** Object:  StoredProcedure [dbo].[sp_getSet_Verwaltung_durch]    Script Date: 25.11.2013 16:07:55 ******/
DROP PROCEDURE [dbo].[sp_getSet_Verwaltung_durch]
GO

/****** Object:  StoredProcedure [dbo].[sp_getSet_Dateneigentuemer]    Script Date: 25.11.2013 16:07:55 ******/
DROP PROCEDURE [dbo].[sp_getSet_Dateneigentuemer]
GO

/****** Object:  StoredProcedure [dbo].[sp_delete_childs]    Script Date: 25.11.2013 16:07:55 ******/
DROP PROCEDURE [dbo].[sp_delete_childs]
GO

/****** Object:  StoredProcedure [dbo].[sp_delete_childs]    Script Date: 25.11.2013 16:07:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_delete_childs]
   @keyvalue INT,
   @mutierer INT,
   @table VARCHAR(255)
AS
BEGIN
   DECLARE @key int
   IF @table='Berechtigung' BEGIN
      DECLARE xc CURSOR FOR SELECT berechtigung_plattformnr FROM dbo.Berechtigung_Plattform WHERE berechtigungnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Berechtigung_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Berechtigung_PlattformNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Berechtigung_Servernr FROM dbo.Berechtigung_Server WHERE berechtigungnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Berechtigung_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Berechtigung_ServerNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc
      DECLARE xc CURSOR FOR SELECT Funktionstelle_Berechtigungnr FROM dbo.Funktionstelle_Berechtigung WHERE berechtigungnr=@keyvalue  AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Funktionstelle_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Funktionstelle_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc
      DECLARE xc CURSOR FOR SELECT Personal_BerechtigungNr FROM dbo.Personal_Berechtigung WHERE berechtigungnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Personal_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Personal_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc
      DECLARE xc CURSOR FOR SELECT Plattform_BerechtigungNr FROM dbo.Plattform_Berechtigung WHERE berechtigungnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Plattform_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Plattform_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc
      DECLARE xc CURSOR FOR SELECT Verwaltung_Durch_BerechtigungNr FROM dbo.Verwaltung_Durch_Berechtigung WHERE berechtigungnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Durch_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Durch_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc
      DECLARE xc CURSOR FOR SELECT Verwaltung_mit_BerechtigungNr FROM dbo.Verwaltung_mit_Berechtigung WHERE berechtigungnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_mit_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_mit_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc
      --UPDATE dbo.Berechtigung_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE BerechtigungNr=@keyvalue
      --UPDATE dbo.Funktionstelle_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE BerechtigungNr=@keyvalue
      --UPDATE dbo.Personal_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE BerechtigungNr=@keyvalue
      --UPDATE dbo.Plattform_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE BerechtigungNr=@keyvalue
      --UPDATE dbo.Verwaltung_Durch_Berechtigung SET Aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE BerechtigungNr=@keyvalue
      --UPDATE dbo.Verwaltung_mit_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE BerechtigungNr=@keyvalue
   END   
   IF @table='Funktionstelle' BEGIN
      DECLARE xc CURSOR FOR SELECT Funktionstelle_BerechtigungNr FROM dbo.Funktionstelle_Berechtigung WHERE FunktionstelleNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Funktionstelle_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Funktionstelle_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT FunktionStelle_PlattformNr FROM dbo.FunktionStelle_Plattform WHERE FunktionstelleNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.FunktionStelle_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE FunktionStelle_PlattformNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT FunktionStelle_ServerNr FROM dbo.FunktionStelle_Server WHERE FunktionstelleNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.FunktionStelle_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE FunktionStelle_ServerNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Personal_FunktionStelleNr FROM dbo.Personal_FunktionStelle WHERE FunktionstelleNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Personal_FunktionStelle SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Personal_FunktionStelleNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Verwaltung_Mit_FunktionStelleNr FROM dbo.Verwaltung_Mit_FunktionStelle WHERE FunktionstelleNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Mit_FunktionStelle SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Mit_FunktionStelleNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

 
 
      --UPDATE dbo.Funktionstelle_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE FunktionstelleNr=@keyvalue
      --UPDATE dbo.FunktionStelle_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE FunktionstelleNr=@keyvalue
      --UPDATE dbo.FunktionStelle_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE FunktionstelleNr=@keyvalue
      --UPDATE dbo.Personal_FunktionStelle SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE FunktionstelleNr=@keyvalue
      --UPDATE dbo.Verwaltung_Mit_FunktionStelle SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE FunktionstelleNr=@keyvalue
   END   
   IF @table='Personal' BEGIN
      DECLARE xc CURSOR FOR SELECT Personal_BerechtigungNr FROM dbo.Personal_Berechtigung WHERE PersonalNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Personal_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Personal_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc
     
      DECLARE xc CURSOR FOR SELECT Personal_FunktionStelleNr FROM dbo.Personal_FunktionStelle WHERE PersonalNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Personal_FunktionStelle SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Personal_FunktionStelleNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Personal_PlattformNr FROM dbo.Personal_Plattform WHERE PersonalNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Personal_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Personal_PlattformNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Personal_ServerNr FROM dbo.Personal_Server WHERE PersonalNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Personal_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Personal_ServerNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc
     
     
     
      --UPDATE dbo.Personal_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PersonalNr=@keyvalue
      --UPDATE dbo.Personal_FunktionStelle SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PersonalNr=@keyvalue
      --UPDATE dbo.Personal_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PersonalNr=@keyvalue
      --UPDATE dbo.Personal_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PersonalNr=@keyvalue
   END   
   IF @table='Plattform' BEGIN
      DECLARE xc CURSOR FOR SELECT Plattform_BerechtigungNr FROM dbo.Plattform_Berechtigung WHERE Plattformnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Plattform_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Plattform_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Plattform_ServerNr FROM dbo.Plattform_Server WHERE Plattformnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Plattform_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Plattform_ServerNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc


      DECLARE xc CURSOR FOR SELECT FunktionStelle_PlattformNr FROM dbo.FunktionStelle_Plattform WHERE Plattformnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.FunktionStelle_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE FunktionStelle_PlattformNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Verwaltung_Durch_PlattformNr FROM dbo.Verwaltung_Durch_Plattform WHERE Plattformnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Durch_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Durch_PlattformNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Verwaltung_Mit_PlattformNr FROM dbo.Verwaltung_Mit_Plattform WHERE Plattformnr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Mit_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Mit_PlattformNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

     --UPDATE dbo.Plattform_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.Plattform_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.Berechtigung_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.FunktionStelle_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.Verwaltung_Durch_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.Verwaltung_Mit_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
   END   
   IF @table='Verwaltung_durch' BEGIN
      DECLARE xc CURSOR FOR SELECT Verwaltung_Durch_BerechtigungNr FROM dbo.Verwaltung_Durch_Berechtigung WHERE Verwaltung_DurchNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Durch_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Durch_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Verwaltung_Durch_PlattformNr FROM dbo.Verwaltung_Durch_Plattform WHERE Verwaltung_DurchNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Durch_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Durch_PlattformNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc


      DECLARE xc CURSOR FOR SELECT Verwaltung_Durch_ServerNr FROM dbo.Verwaltung_Durch_Server WHERE Verwaltung_DurchNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Durch_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Durch_ServerNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc


      --UPDATE dbo.Verwaltung_Durch_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE Verwaltung_durchnr=@keyvalue
      --UPDATE dbo.Verwaltung_Durch_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE Verwaltung_durchnr=@keyvalue
      --UPDATE dbo.Verwaltung_Durch_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE Verwaltung_durchnr=@keyvalue
   END   
   IF @table='Verwaltung_mit' BEGIN
      DECLARE xc CURSOR FOR SELECT Verwaltung_mit_BerechtigungNr FROM dbo.Verwaltung_mit_Berechtigung WHERE Verwaltung_mitNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_mit_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_mit_BerechtigungNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Verwaltung_Mit_FunktionStelleNr FROM dbo.Verwaltung_Mit_FunktionStelle WHERE Verwaltung_mitNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Mit_FunktionStelle SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Mit_FunktionStelleNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Verwaltung_Mit_PlattformNr FROM dbo.Verwaltung_Mit_Plattform WHERE Verwaltung_mitNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Mit_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Mit_PlattformNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Verwaltung_Mit_ServerNr FROM dbo.Verwaltung_Mit_Server WHERE Verwaltung_mitNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Mit_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Mit_ServerNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

     --UPDATE dbo.Verwaltung_mit_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE Verwaltung_mitnr=@keyvalue
     -- UPDATE dbo.Verwaltung_Mit_FunktionStelle SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE Verwaltung_mitnr=@keyvalue
     -- UPDATE dbo.Verwaltung_Mit_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE Verwaltung_mitnr=@keyvalue
     -- UPDATE dbo.Verwaltung_Mit_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE Verwaltung_mitnr=@keyvalue
   END   

      IF @table='Server' BEGIN
      DECLARE xc CURSOR FOR SELECT Personal_Servernr FROM dbo.Personal_Server WHERE servernr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.personal_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Personal_ServerNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Plattform_ServerNr FROM dbo.Plattform_Server WHERE Servernr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Plattform_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Plattform_ServerNr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc


      DECLARE xc CURSOR FOR SELECT Verwaltung_Durch_servernr FROM dbo.Verwaltung_Durch_server WHERE ServerNr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Durch_server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Durch_servernr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

      DECLARE xc CURSOR FOR SELECT Verwaltung_Mit_servernr FROM dbo.Verwaltung_Mit_server WHERE servernr=@keyvalue AND aktiv=1
      OPEN xc
      FETCH NEXT FROM xc INTO @key
      WHILE @@FETCH_STATUS=0 BEGIN
         UPDATE dbo.Verwaltung_Mit_server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE() WHERE Verwaltung_Mit_servernr=@key
         FETCH NEXT FROM xc INTO @key
      END
      CLOSE xc
      DEALLOCATE xc

     --UPDATE dbo.Plattform_Berechtigung SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.Plattform_Server SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.Berechtigung_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.FunktionStelle_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.Verwaltung_Durch_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
     -- UPDATE dbo.Verwaltung_Mit_Plattform SET aktiv=0, mutierer=@mutierer, mutiert_am = GETDATE()  WHERE PlattformNr=@keyvalue
   END   



END

GO

/****** Object:  StoredProcedure [dbo].[sp_getSet_Dateneigentuemer]    Script Date: 25.11.2013 16:07:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_getSet_Dateneigentuemer]
    @objekt VARCHAR(255) ,
    @objektnr INT ,
    @objektnr2 INT ,
    @objektnr3 INT ,
    @fnkt INT ,
    @mitarbeiternr INT
AS 
    DECLARE @rc INT
    BEGIN
        IF @objekt = 'Berechtigung' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Personal_Berechtigung.PersonalNr AS KeyValue ,
                                dbo.Personal.Bezeichnung ,
                                dbo.Personal_Berechtigung.BerechtigungNr
                        FROM    dbo.Personal
                                INNER JOIN dbo.Personal_Berechtigung ON dbo.Personal.PersonalNr = dbo.Personal_Berechtigung.PersonalNr
                        WHERE   ( dbo.Personal.Aktiv = 1 )
                                AND ( dbo.Personal_Berechtigung.Aktiv = 1 )
                                AND ( dbo.Personal_Berechtigung.BerechtigungNr = @objektnr )  
                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Personal_Berechtigung
                        WHERE   BerechtigungNr = @objektnr
                                AND PersonalNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0 
                            BEGIN
                                INSERT  dbo.Personal_Berechtigung
                                        ( PersonalNr ,
                                          BerechtigungNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -30  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                SELECT  @rc = Personal_berechtigung.Personal_BerechtigungNr
                                FROM    dbo.Personal_Berechtigung
                                WHERE   BerechtigungNr = @objektnr
                                        AND PersonalNr = @objektnr3
                                        AND Aktiv = 1         
										         
                                IF @objektnr2 = 0 
                                    BEGIN
                                        UPDATE  dbo.Personal_Berechtigung
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Personal_BerechtigungNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Personal_Berechtigung
                                        SET     PersonalNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Personal_BerechtigungNr = @rc
                                    END
                            END
                    END
            END  
     
  
        IF @objekt = 'Plattform' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Personal_Plattform.PersonalNr AS KeyValue ,
                                dbo.Personal.Bezeichnung ,
                                dbo.Personal_Plattform.PlattformNr
                        FROM    dbo.Personal
                                INNER JOIN dbo.Personal_Plattform ON dbo.Personal.PersonalNr = dbo.Personal_Plattform.PersonalNr
                        WHERE   ( dbo.Personal.Aktiv = 1 )
                                AND ( dbo.Personal_Plattform.Aktiv = 1 )
                                AND ( dbo.Personal_Plattform.PlattformNr = @objektnr )  
                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Personal_Plattform
                        WHERE   PlattformNr = @objektnr
                                AND PersonalNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0 
                            BEGIN
                                INSERT  dbo.Personal_Plattform
                                        ( PersonalNr ,
                                          PlattformNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -30  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                SELECT  @rc = Personal_Plattform.Personal_PlattformNr
                                FROM    dbo.Personal_Plattform
                                WHERE   PlattformNr = @objektnr
                                        AND PersonalNr = @objektnr3
                                        AND Aktiv = 1               
                                IF @objektnr2 = 0 
                                    BEGIN
                                        UPDATE  dbo.Personal_Plattform
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Personal_PlattformNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Personal_Plattform
                                        SET     PersonalNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Personal_PlattformNr = @rc
                                    END
                            END
                    END
            END  
        IF @objekt = 'Server' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Personal_Server.PersonalNr AS KeyValue ,
                                dbo.Personal.Bezeichnung ,
                                dbo.Personal_Server.ServerNr
                        FROM    dbo.Personal
                                INNER JOIN dbo.Personal_Server ON dbo.Personal.PersonalNr = dbo.Personal_Server.PersonalNr
                        WHERE   ( dbo.Personal.Aktiv = 1 )
                                AND ( dbo.Personal_Server.Aktiv = 1 )
                                AND ( dbo.Personal_Server.ServerNr = @objektnr )

                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Personal_Server
                        WHERE   ServerNr = @objektnr
                                AND PersonalNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0 
                            BEGIN
                                INSERT  dbo.Personal_Server
                                        ( PersonalNr ,
                                          ServerNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -30  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                IF @objektnr3 > 0 begin                          
                                SELECT  @rc = Personal_Server.Personal_ServerNr
                                FROM    dbo.Personal_Server
                                WHERE   ServerNr = @objektnr
                                        AND PersonalNr = @objektnr3
                                        AND Aktiv = 1                  
                                IF @objektnr2 = 0  
                                    BEGIN
                                        UPDATE  dbo.Personal_Server
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Personal_ServerNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Personal_Server
                                        SET     PersonalNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Personal_ServerNr = @rc
                                    END
  end                                  
                            END
                    END
            END  
    END

GO

/****** Object:  StoredProcedure [dbo].[sp_getSet_Verwaltung_durch]    Script Date: 25.11.2013 16:07:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_getSet_Verwaltung_durch]
    @objekt VARCHAR(255) ,
    @objektnr INT ,
    @objektnr2 INT ,
    @objektnr3 INT ,
    @fnkt INT ,
    @mitarbeiternr INT
AS 
    DECLARE @rc INT
    BEGIN
        IF @objekt = 'Berechtigung' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Verwaltung_Durch_Berechtigung.Verwaltung_DurchNr AS KeyValue ,
                                dbo.Verwaltung_durch.Bezeichnung ,
                                dbo.Verwaltung_Durch_Berechtigung.BerechtigungNr
                        FROM    dbo.Verwaltung_durch
                                INNER JOIN dbo.Verwaltung_Durch_Berechtigung ON dbo.Verwaltung_durch.Verwaltung_durchNr = dbo.Verwaltung_Durch_Berechtigung.Verwaltung_DurchNr
                        WHERE   ( dbo.Verwaltung_durch.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Durch_Berechtigung.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Durch_Berechtigung.BerechtigungNr = @objektnr )  
                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Verwaltung_Durch_Berechtigung
                        WHERE   BerechtigungNr = @objektnr
                                AND Verwaltung_DurchNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0
                            BEGIN
                                INSERT  dbo.Verwaltung_Durch_Berechtigung
                                        ( Verwaltung_DurchNr ,
                                          BerechtigungNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -25  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                SELECT  @rc = verwaltung_durch_berechtigung.Verwaltung_Durch_BerechtigungNr
                                FROM    dbo.Verwaltung_Durch_Berechtigung
                                WHERE   BerechtigungNr = @objektnr
                                        AND Verwaltung_DurchNr = @objektnr3
                                        AND Aktiv = 1                  
                                IF @objektnr2 = 0 
                                    BEGIN
                                        UPDATE  dbo.Verwaltung_Durch_Berechtigung
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Durch_BerechtigungNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Verwaltung_Durch_Berechtigung
                                        SET     Verwaltung_DurchNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Durch_BerechtigungNr = @rc
                                    END
                            END
                    END
            END  
     
  
        IF @objekt = 'Plattform' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Verwaltung_Durch_Plattform.Verwaltung_DurchNr AS KeyValue ,
                                dbo.Verwaltung_durch.Bezeichnung ,
                                dbo.Verwaltung_Durch_Plattform.PlattformNr
                        FROM    dbo.Verwaltung_durch
                                INNER JOIN dbo.Verwaltung_Durch_Plattform ON dbo.Verwaltung_durch.Verwaltung_durchNr = dbo.Verwaltung_Durch_Plattform.Verwaltung_DurchNr
                        WHERE   ( dbo.Verwaltung_durch.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Durch_Plattform.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Durch_Plattform.PlattformNr = @objektnr )  
                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Verwaltung_Durch_Plattform
                        WHERE   PlattformNr = @objektnr
                                AND Verwaltung_DurchNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0
                            BEGIN
                                INSERT  dbo.Verwaltung_Durch_Plattform
                                        ( Verwaltung_DurchNr ,
                                          PlattformNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -25  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                SELECT  @rc = verwaltung_durch_Plattform.Verwaltung_Durch_PlattformNr
                                FROM    dbo.Verwaltung_Durch_Plattform
                                WHERE   PlattformNr = @objektnr
                                        AND Verwaltung_DurchNr = @objektnr3
                                        AND Aktiv = 1               
                                IF @objektnr2 = 0 
                                    BEGIN
                                        UPDATE  dbo.Verwaltung_Durch_Plattform
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Durch_PlattformNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Verwaltung_Durch_Plattform
                                        SET     Verwaltung_DurchNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Durch_PlattformNr = @rc
                                    END
                            END
                    END
            END  
        IF @objekt = 'Server' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Verwaltung_Durch_Server.Verwaltung_DurchNr AS KeyValue ,
                                dbo.Verwaltung_durch.Bezeichnung ,
                                dbo.Verwaltung_Durch_Server.ServerNr
                        FROM    dbo.Verwaltung_durch
                                INNER JOIN dbo.Verwaltung_Durch_Server ON dbo.Verwaltung_durch.Verwaltung_durchNr = dbo.Verwaltung_Durch_Server.Verwaltung_DurchNr
                        WHERE   ( dbo.Verwaltung_durch.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Durch_Server.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Durch_Server.ServerNr = @objektnr )  
                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Verwaltung_Durch_Server
                        WHERE   ServerNr = @objektnr
                                AND Verwaltung_DurchNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0
                            BEGIN
                                INSERT  dbo.Verwaltung_Durch_Server
                                        ( Verwaltung_DurchNr ,
                                          ServerNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -25  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                SELECT  @rc = verwaltung_durch_Server.Verwaltung_Durch_ServerNr
                                FROM    dbo.Verwaltung_Durch_Server
                                WHERE   ServerNr = @objektnr
                                        AND Verwaltung_DurchNr = @objektnr3
                                        AND Aktiv = 1                  
                                IF @objektnr2 = 0 
                                    BEGIN
                                        UPDATE  dbo.Verwaltung_Durch_Server
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Durch_ServerNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Verwaltung_Durch_Server
                                        SET     Verwaltung_DurchNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Durch_ServerNr = @rc
                                    END
                            END
                    END
            END  
    END

GO

/****** Object:  StoredProcedure [dbo].[sp_getSet_Verwaltung_Mit]    Script Date: 25.11.2013 16:07:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_getSet_Verwaltung_Mit]
    @objekt VARCHAR(255) ,
    @objektnr INT ,
    @objektnr2 INT ,
    @objektnr3 INT ,
    @fnkt INT ,
    @mitarbeiternr INT
AS 
    DECLARE @rc INT
    BEGIN
        IF @objekt = 'Berechtigung' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Verwaltung_Mit_Berechtigung.Verwaltung_MitNr AS KeyValue ,
                                dbo.Verwaltung_Mit.Bezeichnung ,
                                dbo.Verwaltung_Mit_Berechtigung.BerechtigungNr
                        FROM    dbo.Verwaltung_Mit
                                INNER JOIN dbo.Verwaltung_Mit_Berechtigung ON dbo.Verwaltung_Mit.Verwaltung_MitNr = dbo.Verwaltung_Mit_Berechtigung.Verwaltung_MitNr
                        WHERE   ( dbo.Verwaltung_Mit.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Mit_Berechtigung.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Mit_Berechtigung.BerechtigungNr = @objektnr )  
                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Verwaltung_Mit_Berechtigung
                        WHERE   BerechtigungNr = @objektnr
                                AND Verwaltung_MitNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0
                            BEGIN
                                INSERT  dbo.Verwaltung_Mit_Berechtigung
                                        ( Verwaltung_MitNr ,
                                          BerechtigungNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -28  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                SELECT  @rc = verwaltung_Mit_berechtigung.Verwaltung_Mit_BerechtigungNr
                                FROM    dbo.Verwaltung_Mit_Berechtigung
                                WHERE   BerechtigungNr = @objektnr
                                        AND Verwaltung_MitNr = @objektnr3
                                        AND aktiv = 1                
                                IF @objektnr2 = 0 
                                    BEGIN
                                        UPDATE  dbo.Verwaltung_Mit_Berechtigung
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Mit_BerechtigungNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Verwaltung_Mit_Berechtigung
                                        SET     Verwaltung_MitNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Mit_BerechtigungNr = @rc
                                    END
                            END
                    END
            END  
     
  
        IF @objekt = 'Plattform' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Verwaltung_Mit_Plattform.Verwaltung_MitNr AS KeyValue ,
                                dbo.Verwaltung_Mit.Bezeichnung ,
                                dbo.Verwaltung_Mit_Plattform.PlattformNr
                        FROM    dbo.Verwaltung_Mit
                                INNER JOIN dbo.Verwaltung_Mit_Plattform ON dbo.Verwaltung_Mit.Verwaltung_MitNr = dbo.Verwaltung_Mit_Plattform.Verwaltung_MitNr
                        WHERE   ( dbo.Verwaltung_Mit.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Mit_Plattform.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Mit_Plattform.PlattformNr = @objektnr )  
                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Verwaltung_Mit_Plattform
                        WHERE   PlattformNr = @objektnr
                                AND Verwaltung_MitNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0
                            BEGIN
                                INSERT  dbo.Verwaltung_Mit_Plattform
                                        ( Verwaltung_MitNr ,
                                          PlattformNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -28  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                SELECT  @rc = verwaltung_Mit_Plattform.Verwaltung_Mit_PlattformNr
                                FROM    dbo.Verwaltung_Mit_Plattform
                                WHERE   PlattformNr = @objektnr
                                        AND Verwaltung_MitNr = @objektnr3
                                        AND aktiv = 1                
                                IF @objektnr2 = 0 
                                    BEGIN
                                        UPDATE  dbo.Verwaltung_Mit_Plattform
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Mit_PlattformNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Verwaltung_Mit_Plattform
                                        SET     Verwaltung_MitNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Mit_PlattformNr = @rc
                                    END
                            END
                    END
            END  
        IF @objekt = 'Server' 
            BEGIN
                IF @fnkt = 1 
                    BEGIN
                        SELECT  dbo.Verwaltung_Mit_Server.Verwaltung_MitNr AS KeyValue ,
                                dbo.Verwaltung_Mit.Bezeichnung ,
                                dbo.Verwaltung_Mit_Server.ServerNr
                        FROM    dbo.Verwaltung_Mit
                                INNER JOIN dbo.Verwaltung_Mit_Server ON dbo.Verwaltung_Mit.Verwaltung_MitNr = dbo.Verwaltung_Mit_Server.Verwaltung_MitNr
                        WHERE   ( dbo.Verwaltung_Mit.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Mit_Server.Aktiv = 1 )
                                AND ( dbo.Verwaltung_Mit_Server.ServerNr = @objektnr )  
                    END
                ELSE 
                    BEGIN
                        SELECT  @rc = COUNT(*)
                        FROM    dbo.Verwaltung_Mit_Server
                        WHERE   ServerNr = @objektnr
                                AND Verwaltung_MitNr = @objektnr3
                                AND aktiv = 1
                        IF @rc = 0 AND @objektnr2 > 0
                            BEGIN
                                INSERT  dbo.Verwaltung_Mit_Server
                                        ( Verwaltung_MitNr ,
                                          ServerNr ,
                                          Beschreibung ,
                                          Sequenz ,
                                          Aktiv ,
                                          Erstellt_am ,
                                          Mutiert_am ,
                                          Mutierer ,
                                          Beziehungstypnr
                                        )
                                VALUES  ( @objektnr2 ,
                                          @objektnr ,
                                          '' ,
                                          0 ,
                                          1 ,
                                          GETDATE() ,
                                          GETDATE() ,
                                          @mitarbeiternr ,
                                          -28  -- Beziehungstypnr - int
                                        )   
 
                            END
                        ELSE 
                            BEGIN
                                SELECT  @rc = verwaltung_Mit_Server.Verwaltung_Mit_ServerNr
                                FROM    dbo.Verwaltung_Mit_Server
                                WHERE   ServerNr = @objektnr
                                        AND Verwaltung_MitNr = @objektnr3
                                        AND aktiv = 1              
                                IF @objektnr2 = 0 
                                    BEGIN
                                        UPDATE  dbo.Verwaltung_Mit_Server
                                        SET     Aktiv = 0 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Mit_ServerNr = @rc
                                    END
                                ELSE 
                                    BEGIN                               
                                        UPDATE  dbo.Verwaltung_Mit_Server
                                        SET     Verwaltung_MitNr = @objektnr2 ,
                                                Mutiert_am = GETDATE() ,
                                                mutierer = @mitarbeiternr
                                        WHERE   Verwaltung_Mit_ServerNr = @rc
                                    END
                            END
                    END
            END  
    END


GO

/****** Object:  StoredProcedure [dbo].[sp_rpt_tgnummer]    Script Date: 25.11.2013 16:07:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_rpt_tgnummer] @sqlwhere VARCHAR(255)
AS 
BEGIN
      DECLARE @fstelle VARCHAR(255)
      DECLARE @fnr INT
      DECLARE @fbezeichnung VARCHAR(255)
      DECLARE @fnummer VARCHAR(255)
      DECLARE @parent INT 
      
      DECLARE @tgtmp1 TABLE
(
  ID INT ,
  Bezeichnung VARCHAR(255) ,
  Beschreibung VARCHAR(255) ,
  Sequenz INT ,
  aktiv BIT ,
  erstellt_am DATETIME ,
  mutiert_am DATETIME ,
  mutierer INT ,
  typ VARCHAR(255) ,
  MKey INT,
  Berechtigungstyp VARCHAR(255)
)   

      DECLARE @tgt1 TABLE
(
  funktionsnummer VARCHAR(255) ,
  funktionsbezeichnung VARCHAR(255) ,
  plattform VARCHAR(255) ,
  verwaltungmit VARCHAR(255) ,
  verwaltungdurch VARCHAR(255) ,
  berechtigungIn VARCHAR(255) ,
  berechtigungfuer VARCHAR(255) ,
  eigentuemer VARCHAR(255)
  --,
  --s1 INT,
  --s2 INT,
  --s3 INT,
  --s4 int
)

      DECLARE @sql VARCHAR(4096)   
      SET @sql = 'SELECT     dbo.Funktionstelle.Funktionsstelle '
      SET @sql = @sql + ' FROM         dbo.Personal INNER JOIN '
      SET @sql = @sql + ' dbo.Personal_FunktionStelle ON dbo.Personal.Personalnr = dbo.Personal_FunktionStelle.PersonalNr INNER JOIN '
      SET @sql = @sql + ' dbo.Funktionstelle ON dbo.Personal_FunktionStelle.FunktionStelleNr = dbo.Funktionstelle.FunktionstelleNr '
      SET @sql = @sql + ' WHERE funktionstelle.aktiv=1 and personal_funktionstelle.aktiv=1 and ' + @sqlwhere

      DECLARE @tgtmp TABLE ( fstelle VARCHAR(255) ) 

      INSERT    @tgtmp
                EXEC ( @sql
                    )


      DECLARE xx CURSOR
      FOR
      SELECT    fstelle
      FROM      @tgtmp 
      OPEN xx
      FETCH NEXT FROM xx INTO @fnummer
      WHILE @@FETCH_STATUS = 0 
            BEGIN
                  SELECT    @fnr = funktionstellenr
                  FROM      funktionstelle
                  WHERE     funktionsstelle = @fnummer AND aktiv=1
   
                  INSERT    @tgt1 SELECT DISTINCT * FROM dbo.fnkt_get_Report_Data(@fnr)
                  FETCH NEXT FROM xx INTO @fnummer
            END
      CLOSE xx
      DEALLOCATE xx
      DECLARE @tg VARCHAR(255)
      DECLARE @name VARCHAR(255)

      DECLARE @tgtg TABLE
(
  tgnummer VARCHAR(255) ,
  NAME VARCHAR(255)
) 

      SET @sql = 'SELECT     dbo.Personal.TGNummer, dbo.personal.name '
      SET @sql = @sql + ' FROM         dbo.Personal '
      SET @sql = @sql + ' WHERE ' + @sqlwhere

      INSERT    @tgtg
                EXECUTE ( @sql
                       )
      UPDATE    @tgt1
      SET       funktionsnummer = tgnummer, funktionsbezeichnung = name
      FROM      @tgtg
      SELECT    DISTINCT funktionsnummer,  funktionsbezeichnung,  plattform, verwaltungmit, verwaltungdurch, berechtigungIn, berechtigungfuer,
                eigentuemer
      FROM      @tgt1
      --ORDER BY  verwaltungdurch, plattform, verwaltungmit
	  ORDER BY plattform, verwaltungmit, berechtigungin, berechtigungfuer

END

GO

/****** Object:  StoredProcedure [dbo].[sp_rptparams_get_funktionsnummer]    Script Date: 25.11.2013 16:07:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_rptparams_get_funktionsnummer]
AS
BEGIN
   SELECT Funktionsstelle AS KeyValue, Funktionsstelle AS Bezeichnung, Bezeichnung AS searchvalue1 FROM funktionstelle WHERE aktiv=1 AND funktionsstelle<>'' ORDER BY Funktionsstelle

END

GO

/****** Object:  StoredProcedure [dbo].[sp_rptparams_get_tgnummer]    Script Date: 25.11.2013 16:07:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_rptparams_get_tgnummer]
AS
BEGIN
   SELECT tgnummer AS KeyValue, tgnummer AS Bezeichnung, name AS searchvalue1 FROM personal WHERE aktiv=1 ORDER BY tgnummer,Name

END

GO

