USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[my_servicekatalog_leistungen_struktur] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[my_servicekatalog_leistungen_struktur] GO /****** Object: StoredProcedure [dbo].[my_servicekatalog_leistungen_struktur] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[my_servicekatalog_leistungen_struktur] @mitarbeiternr int, @servicekatalognr int AS CREATE TABLE #tmpd( [servicekatalognr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] , [securitylevelnr] [int], ) ON [DEFAULT] declare @tmp int declare xc cursor for select servicekatalognr from servicekatalog where servicekatalognr=@servicekatalognr and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) open xc fetch next from xc into @tmp while @@fetch_status=0 begin execute dbo.my_servicekatalog_struktur_down @tmp,1 fetch next from xc into @tmp end close xc deallocate xc --insert #tmpd (servicekatalognr, bezeichnung, parentid,securitylevelnr) values(0,'Service-Katalog',null,0) --delete from #tmpd where securitylevelnr < select * from #tmpd order by bezeichnung GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[my_servicekatalog_sla_struktur] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[my_servicekatalog_sla_struktur] GO /****** Object: StoredProcedure [dbo].[my_servicekatalog_sla_struktur] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[my_servicekatalog_sla_struktur] @mitarbeiternr int AS SELECT dbo.SLAKatalog.SLAKatalogNr, dbo.SLATyp.Bezeichnung, dbo.SLASubTyp.Bezeichnung + ' / ' + CONVERT(varchar(10), dbo.SLAKatalog.Zeit) + ' / ' + dbo.Zeiteinheittyp.Bezeichnung AS SLA FROM dbo.SLA INNER JOIN dbo.SLASubTyp ON dbo.SLA.SLASubTypNr = dbo.SLASubTyp.SLASubTypNr INNER JOIN dbo.SLATyp ON dbo.SLA.SLATypNr = dbo.SLATyp.SLATypNr INNER JOIN dbo.SLAKatalog ON dbo.SLA.SLANr = dbo.SLAKatalog.SLANr INNER JOIN dbo.Zeiteinheittyp ON dbo.SLAKatalog.Zeiteinheittypnr = dbo.Zeiteinheittyp.Zeiteinheittypnr WHERE (dbo.SLAKatalog.Aktiv = 1) AND (dbo.SLATyp.Aktiv = 1) and dbo.slakatalog.securitylevel in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) ORDER BY dbo.SLATyp.Bezeichnung, SLA GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[my_servicekatalog_struktur] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[my_servicekatalog_struktur] GO /****** Object: StoredProcedure [dbo].[my_servicekatalog_struktur] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[my_servicekatalog_struktur] @mitarbeiternr int, @checkstate int AS CREATE TABLE #tmpd( [servicekatalognr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] , [securitylevelnr] [int], [aktiv] bit ) ON [DEFAULT] declare @tmp int declare xc cursor for select servicekatalognr from servicekatalog where parentid=0 and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) open xc fetch next from xc into @tmp while @@fetch_status=0 begin execute dbo.my_servicekatalog_struktur_down @tmp,1 fetch next from xc into @tmp end close xc deallocate xc insert #tmpd (servicekatalognr, bezeichnung, parentid,securitylevelnr,aktiv) values(0,'Service-Katalog',null,0,1) --delete from #tmpd where securitylevelnr < ------------------------------------------------------------------- -- Nur gem. Checkstate gewählte Einträge zurück geben -- 0 = nur inaktive Einträge -- 1 = nur aktive Einträge -- 3 = alle Einträge -> keine Einschränkung in der Resultattabelle ------------------------------------------------------------------- if @checkstate = 0 begin-- inaktiv delete from #tmpd where (aktiv=1 and servicekatalognr > 0 and servicekatalognr not in (select parentid from #tmpd where aktiv=0)) -- select * from #tmpd select * into #tmpe from #tmpd declare yc cursor for select parentid from #tmpe open yc fetch next from yc into @tmp while @@fetch_status=0 begin print @tmp execute dbo.my_servicekatalog_struktur_up @tmp,1 fetch next from yc into @tmp end close yc deallocate yc delete from #tmpd where servicekatalognr is null drop table #tmpe end if @checkstate = 1 begin -- aktiv delete from #tmpd where aktiv=0 and servicekatalognr > 0 end select distinct * from #tmpd drop table #tmpd GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Aktivitaet_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Aktivitaet_SelectAll_Bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Aktivitaet_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Aktivitaet' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- CREATE PROCEDURE [dbo].[pr_Aktivitaet_SelectAll_Bottomtable] @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON SELECT dbo.Aktivitaet.AktivitaetNr, dbo.Aktivitaet.Ereignisnr, dbo.Aktivitaet.AktivitaetStatusNr, dbo.AktivitaetStatus.Bezeichnung, dbo.Aktivitaet.Periodizitaetnr, dbo.Periodizitaet.Bezeichnung AS Periodizitaet, dbo.Vertragselement.Vertragselementnr, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Aktivitaet.Ausgeloest_am, dbo.Aktivitaet.Ereignis, dbo.Aktivitaet.Kostenart, dbo.Aktivitaet.Betrag, dbo.Aktivitaet.Termin, dbo.Aktivitaet.Beschreibung, dbo.Aktivitaet.Bemerkung, dbo.Aktivitaet.Securitylevelnr, dbo.Aktivitaet.Aktiv, dbo.Aktivitaet.Erstellt_am, dbo.Aktivitaet.Mutiert_am, dbo.Aktivitaet.Mutierer FROM dbo.Aktivitaet INNER JOIN dbo.AktivitaetStatus ON dbo.Aktivitaet.AktivitaetStatusNr = dbo.AktivitaetStatus.AktivitaetStatusNr INNER JOIN dbo.Periodizitaet ON dbo.Aktivitaet.Periodizitaetnr = dbo.Periodizitaet.PeriodizitaetNr INNER JOIN dbo.Vertragsereignis ON dbo.Aktivitaet.Ereignisnr = dbo.Vertragsereignis.EreignisNr INNER JOIN dbo.Vertragselement ON dbo.Vertragsereignis.Vertragselementnr = dbo.Vertragselement.Vertragselementnr where dbo.aktivitaet.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragselement.vertragselementnr = @keyvalue ORDER BY [AktivitaetNr] Desc SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Applikationabhaengigkeit_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Applikationabhaengigkeit_SelectAll_Bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Applikationabhaengigkeit_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Applikationabhaengigkeit' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- Create PROCEDURE [dbo].[pr_Applikationabhaengigkeit_SelectAll_Bottomtable] @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON SELECT dbo.Applikationabhaengigkeit.ApplikationAbhaengigkeitNr, dbo.Applikationabhaengigkeit.Applikationnr2, dbo.Applikation.Bezeichnung, dbo.Applikationabhaengigkeit.Beschreibung, dbo.Applikationabhaengigkeit.Aktiv, dbo.Applikationabhaengigkeit.Erstellt_am, dbo.Applikationabhaengigkeit.Mutiert_am, dbo.Applikationabhaengigkeit.Mutierer, dbo.Applikationabhaengigkeit.SecurityLevelNr FROM dbo.Applikationabhaengigkeit INNER JOIN dbo.Applikation ON dbo.Applikationabhaengigkeit.Applikationnr2 = dbo.Applikation.ApplikationNr where dbo.applikationabhaengigkeit.applikationnr1=@keyvalue and dbo.Applikationabhaengigkeit.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Applikationkontakt_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Applikationkontakt_SelectAll_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Applikationkontakt_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[pr_Applikationkontakt_SelectAll_bottomtable] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Applikationkontakt' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON -- SELECT all rows from the table. SELECT dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Firma, dbo.Person.Name + ' ' + dbo.Person.Vorname AS Kontaktperson, dbo.Person.Telefon, dbo.Person.Telefax, dbo.Person.EMail, dbo.Kontakttyp.Bezeichnung AS Rolle, dbo.Applikationkontakt.Intern, dbo.Applikationkontakt.Bemerkung, dbo.Applikationkontakt.Aktiv, dbo.Applikationkontakt.Erstellt_am, dbo.Applikationkontakt.Mutiert_am, dbo.Applikationkontakt.Mutierer, dbo.Applikationkontakt.Mandantnr, dbo.Applikationkontakt.SecurityLevelNr, dbo.Applikationkontakt.PersonNr, dbo.Applikationkontakt.ApplikationkontaktNr , dbo.Person.Internet as Internet, dbo.Person.Bemerkung as PersonBemerkung FROM dbo.Applikationkontakt INNER JOIN dbo.Person ON dbo.Applikationkontakt.PersonNr = dbo.Person.PersonNr INNER JOIN dbo.Vertragspartner ON dbo.Person.Vertragspartnernr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN dbo.Kontakttyp ON dbo.Applikationkontakt.KontakttypNr = dbo.Kontakttyp.KontakttypNr where dbo.Applikationkontakt.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and Applikationnr = @keyvalue ORDER BY [Applikationkontaktnr] ASC -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_ApplikationVersion_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_ApplikationVersion_SelectAll_Bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_ApplikationVersion_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Applikationabhaengigkeit' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- Create PROCEDURE [dbo].[pr_ApplikationVersion_SelectAll_Bottomtable] @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON SET NOCOUNT ON -- SELECT all rows from the table. SELECT [ApplikationVersionNr], [ApplikationNr], [Version], [Bemerkung], [Eingesetzt], [aktiv], [erstellt_am], [mutiert_am], [mutierer] FROM [dbo].[ApplikationVersion] where dbo.applikationversion.[ApplikationNr]=@keyvalue --and dbo.Applikationabhaengigkeit.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) ORDER BY [ApplikationVersionNr] ASC SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_ApplikationVrsion_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_ApplikationVrsion_SelectAll_Bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_ApplikationVrsion_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Applikationabhaengigkeit' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- Create PROCEDURE [dbo].[pr_ApplikationVrsion_SelectAll_Bottomtable] @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON SET NOCOUNT ON -- SELECT all rows from the table. SELECT [ApplikationVersionNr], [ApplikationNr], [Version], [Bemerkung], [aktiv], [erstellt_am], [mutiert_am], [mutierer] FROM [dbo].[ApplikationVersion] where dbo.applikationversion.[ApplikationNr]=@keyvalue --and dbo.Applikationabhaengigkeit.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) ORDER BY [ApplikationVersionNr] ASC SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_dokument_selectall_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_dokument_selectall_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_dokument_selectall_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[pr_dokument_selectall_bottomtable] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Kuendigungsfrist' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SELECT 0 as DokIcon, dbo.Dokument.DokumentNr, dbo.Dokument.keyvalue as VertragselementNr, dbo.Dokumenttyp.Bezeichnung as Dokumenttyp, dbo.Dokument.Bezeichnung AS Bezeichnung, dbo.Dokument.Beschreibung, dbo.Dokument.Filename, dbo.Dokument.OriginalFilename_incl_Path, dbo.Dokument.Version, dbo.Dokument.VersionsNr, dbo.Dokument.Versionsdatum, dbo.Dokument.Erstellt_am, dbo.Dokument.Mutiert_am, dbo.Dokument.Mutierer, dbo.Dokument.Aktiv, dbo.Dokument.SecurityLevelNr FROM dbo.Dokument INNER JOIN dbo.Dokumenttyp ON dbo.Dokument.DokumenttypNr = dbo.Dokumenttyp.Dokumenttypnr where dbo.dokument.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and keyvalue = @keyvalue and doktype=1 order by dbo.dokument.erstellt_am desc SELECT @iErrorCode=@@ERROR RETURN GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Kuendigungsfrist_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Kuendigungsfrist_SelectAll_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Kuendigungsfrist_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO Create proc [dbo].[pr_Kuendigungsfrist_SelectAll_bottomtable] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Kuendigungsfrist' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON SELECT dbo.Vertragsereignis.EreignisNr, dbo.Vertragsereignis.Vertragselementnr, dbo.Vertragsereignis.EreignistypNr, dbo.Ereignistyp.Bezeichnung AS Ereignistyp, dbo.Vertragsereignis.PeriodizitaetNr, dbo.Periodizitaet.Bezeichnung AS Periodizitaet, dbo.Vertragsereignis.Bezeichnung, dbo.Kuendigungsfristen.Bezeichnung AS Kuendigungsfrist, dbo.Vertragsereignis.Beschreibung, dbo.check_date(dbo.Vertragsereignis.Datum) as Datum, dbo.check_date(dbo.Vertragsereignis.Start) as Start, dbo.check_date(dbo.Vertragsereignis.Ende) as Ende, dbo.Vertragsereignis.Vorlaufzeit, dbo.Vertragsereignis.Aktiv, dbo.Vertragsereignis.Erstellt_am, dbo.Vertragsereignis.Mutiert_am, dbo.Vertragsereignis.Mutierer, dbo.Vertragsereignis.SecurityLevelNr FROM dbo.Vertragsereignis INNER JOIN dbo.Ereignistyp ON dbo.Vertragsereignis.EreignistypNr = dbo.Ereignistyp.Ereignistypnr INNER JOIN dbo.Periodizitaet ON dbo.Vertragsereignis.PeriodizitaetNr = dbo.Periodizitaet.PeriodizitaetNr INNER JOIN dbo.Kuendigungsfristen ON dbo.Vertragsereignis.Kuendigungsfristnr = dbo.Kuendigungsfristen.KuendigungsfristNr where dbo.vertragsereignis.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragselementnr = @keyvalue and dbo.ereignistyp.kuendigung=1 order by EreignisNr ---- SELECT all rows from the table. --SELECT -- [KuendigungsfristNr], -- [VertragselementNr], -- [VarZeitspanne], -- [Kuendigungsfirst], -- [Kuendigungstermin], -- [Bemerkung], -- [SecurityLevelNr], -- [Erstellt_am], -- [Mutiert_am], -- [Mutierer], -- [Aktiv] --FROM [dbo].[Kuendigungsfrist] --where dbo.Kuendigungsfrist.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragselementnr = @keyvalue --ORDER BY -- [KuendigungsfristNr] ASC -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_pendenz_selectall_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_pendenz_selectall_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_pendenz_selectall_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[pr_pendenz_selectall_bottomtable] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Kuendigungsfrist' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON -- SELECT all rows from the table. SELECT dbo.Pendenz.PendenzNr, dbo.Pendenz.VertragselementNr, dbo.Pendenz.PendenzStatusNr, dbo.Pendenzstatus.Bezeichnung AS Pendenz_Status, dbo.Pendenz.Bezeichnung AS Pendenz_Bezeichnung, dbo.Pendenz.Beschreibung, dbo.Pendenz.Termin, dbo.pendenz.Verantwortlich, dbo.Pendenz.Aktiv, dbo.Pendenz.Erstellt_am, dbo.Pendenz.Mutiert_am, dbo.Pendenz.Mutierer, dbo.Pendenz.SecurityLevelNr FROM dbo.Pendenz INNER JOIN dbo.Pendenzstatus ON dbo.Pendenz.PendenzStatusNr = dbo.Pendenzstatus.PendenzStatusNr where dbo.Pendenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragselementnr = @keyvalue ORDER BY [Pendenznr] ASC -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Person_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Person_SelectAll_Bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Person_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Person' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- Create PROCEDURE [dbo].[pr_Person_SelectAll_Bottomtable] @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON -- SELECT all rows from the table. SELECT dbo.Person.PersonNr, dbo.Person.Vertragspartnernr, dbo.Person.Name, dbo.Person.Vorname, dbo.Person.Strasse, dbo.Person.Postfach, dbo.Person.Plz, dbo.Person.Ort, dbo.Person.Telefon, dbo.Person.Telefax, dbo.Person.EMail, dbo.Person.Internet, dbo.Person.Bemerkung, dbo.Person.Aktiv, dbo.Person.Erstellt_am, dbo.Person.Mutiert_am, dbo.Person.Mutierer, dbo.Person.MandantNr, dbo.Person.SecurityLevelNr, ISNULL(dbo.PersonFunktion.Bezeichnung, '') AS Funktion FROM dbo.Person LEFT OUTER JOIN dbo.PersonFunktion ON dbo.Person.PersonFunktionNr = dbo.PersonFunktion.PersonFunktionNr where dbo.Person.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragspartnernr = @keyvalue ORDER BY Name, vorname ASC -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_ServiceKatalog_SLAKatalog_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_ServiceKatalog_SLAKatalog_SelectAll_Bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_ServiceKatalog_SLAKatalog_SelectAll_Bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'funktionsgruppe_rolle' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- CREATE PROCEDURE [dbo].[pr_ServiceKatalog_SLAKatalog_SelectAll_Bottomtable] @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON SELECT dbo.ServiceKatalog_SLAKatalog.ServiceKatalog_SLAKatalognr, dbo.ServiceKatalog_SLAKatalog.ServiceKatalognr, dbo.ServiceKatalog_SLAKatalog.SLAKatalogNr, dbo.ServiceKatalog_SLAKatalog.Aktiv, dbo.ServiceKatalog_SLAKatalog.Erstellt_am, dbo.ServiceKatalog_SLAKatalog.Mutiert_am, dbo.ServiceKatalog_SLAKatalog.Mutierer, dbo.ServiceKatalog_SLAKatalog.Mandantnr, dbo.SLATyp.Bezeichnung AS SLATyp, dbo.SLASubTyp.Bezeichnung AS SLASubTyp, dbo.SLAKatalog.Zeit, dbo.Zeiteinheittyp.Bezeichnung AS Zeiteinheit FROM dbo.SLAKatalog INNER JOIN dbo.SLA ON dbo.SLAKatalog.SLANr = dbo.SLA.SLANr INNER JOIN dbo.SLATyp ON dbo.SLA.SLATypNr = dbo.SLATyp.SLATypNr INNER JOIN dbo.SLASubTyp ON dbo.SLA.SLASubTypNr = dbo.SLASubTyp.SLASubTypNr INNER JOIN dbo.Zeiteinheittyp ON dbo.SLAKatalog.Zeiteinheittypnr = dbo.Zeiteinheittyp.Zeiteinheittypnr INNER JOIN dbo.ServiceKatalog_SLAKatalog ON dbo.SLAKatalog.SLAKatalogNr = dbo.ServiceKatalog_SLAKatalog.SLAKatalogNr WHERE (dbo.servicekatalog_slakatalog.servicekatalognr = @keyvalue) and dbo.SLAKatalog.SecurityLevelin (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_VertragselementApplikation_selectall_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_VertragselementApplikation_selectall_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_VertragselementApplikation_selectall_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create PROCEDURE [dbo].[pr_VertragselementApplikation_selectall_bottomtable] @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS if @fokus=0 begin -- SELECT 0 AS VertragselementApplikationNr, dbo.Vertragselement.Vertragselementnr, dbo.Applikation.ApplikationNr, dbo.Vertragselement.Bezeichnung AS Vertragselement, -- dbo.Applikation.Bezeichnung AS Applikation, '' AS Bemerkung, dbo.Applikation.Aktiv, dbo.Applikation.Erstellt_am, dbo.Applikation.Mutiert_am, -- dbo.Applikation.Mutierer -- FROM dbo.Vertragselement INNER JOIN -- dbo.Applikation ON dbo.Vertragselement.ApplikationNr = dbo.Applikation.ApplikationNr -- WHERE (dbo.Vertragselement.Vertragselementnr = @keyvalue) -- 20091026 --SELECT dbo.VertragselementApplikation.VertragselementApplikationnr, dbo.VertragselementApplikation.Vertragselementnr, -- dbo.VertragselementApplikation.Applikationnr, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Applikation.Bezeichnung AS Applikation, -- dbo.VertragselementApplikation.Bemerkung, dbo.VertragselementApplikation.Aktiv, dbo.VertragselementApplikation.Erstellt_am, -- dbo.VertragselementApplikation.Mutiert_am, dbo.VertragselementApplikation.Mutierer, 0 AS Lizenzen --into #tmpa --FROM dbo.VertragselementApplikation INNER JOIN -- dbo.Vertragselement ON dbo.VertragselementApplikation.Vertragselementnr = dbo.Vertragselement.Vertragselementnr INNER JOIN -- dbo.Applikation ON dbo.VertragselementApplikation.Applikationnr = dbo.Applikation.ApplikationNr --WHERE (dbo.VertragselementApplikation.Vertragselementnr = @keyvalue) AND (dbo.Applikation.SecurityLevelNr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))) --ORDER BY Applikation SELECT TOP (100) PERCENT dbo.VertragselementApplikation.VertragselementApplikationnr, dbo.VertragselementApplikation.Vertragselementnr, dbo.VertragselementApplikation.Applikationnr, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Applikation.Bezeichnung AS Applikation, dbo.VertragselementApplikation.Bemerkung, dbo.VertragselementApplikation.Aktiv, dbo.VertragselementApplikation.Erstellt_am, dbo.VertragselementApplikation.Mutiert_am, dbo.VertragselementApplikation.Mutierer, 0 AS Lizenzen, dbo.ApplikationVersion.Version, dbo.ApplikationVersion.ApplikationNr AS Expr1, dbo.VertragselementApplikation.ApplikationVersionNr into #tmpa FROM dbo.VertragselementApplikation INNER JOIN dbo.Vertragselement ON dbo.VertragselementApplikation.Vertragselementnr = dbo.Vertragselement.Vertragselementnr INNER JOIN dbo.Applikation ON dbo.VertragselementApplikation.Applikationnr = dbo.Applikation.ApplikationNr LEFT OUTER JOIN dbo.ApplikationVersion ON dbo.VertragselementApplikation.ApplikationVersionNr = dbo.ApplikationVersion.ApplikationVersionNr WHERE (dbo.VertragselementApplikation.Vertragselementnr = @keyvalue) AND (dbo.Applikation.SecurityLevelNr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))) -- and dbo.VertragselementApplikation.Aktiv=1 ORDER BY Applikation declare @vnr int declare @venr int declare @anr int declare @cnt int declare @avnr int declare xc cursor for select vertragselementapplikationnr, vertragselementnr, applikationnr, applikationversionnr from #tmpa open xc fetch next from xc into @vnr, @venr, @anr, @avnr while @@FETCH_STATUS=0 begin select @cnt=COUNT(*) from Lizenzkauf where vertragselementapplikationnr=@vnr and Aktiv=1 if @cnt > 0 update #tmpa set lizenzen=1 where VertragselementApplikationnr=@vnr fetch next from xc into @vnr, @venr, @anr,@avnr end close xc deallocate xc select * from #tmpa drop table #tmpa end else begin SELECT dbo.VertragselementApplikation.VertragselementApplikationnr, dbo.VertragselementApplikation.Vertragselementnr, dbo.VertragselementApplikation.Applikationnr, dbo.Vertragselement.Bezeichnung as Vertragselement, dbo.Applikation.Bezeichnung AS Applikation, dbo.VertragselementApplikation.Bemerkung, dbo.VertragselementApplikation.Aktiv, dbo.VertragselementApplikation.Erstellt_am, dbo.VertragselementApplikation.Mutiert_am, dbo.VertragselementApplikation.Mutierer FROM dbo.VertragselementApplikation INNER JOIN dbo.Vertragselement ON dbo.VertragselementApplikation.Vertragselementnr = dbo.Vertragselement.Vertragselementnr INNER JOIN dbo.Applikation ON dbo.VertragselementApplikation.Applikationnr = dbo.Applikation.ApplikationNr where dbo.vertragselementapplikation.applikationnr=@keyvalue and dbo.vertragselement.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.applikation.bezeichnung end -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Vertragselement_Referenz_selectall_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Vertragselement_Referenz_selectall_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Vertragselement_Referenz_selectall_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[pr_Vertragselement_Referenz_selectall_bottomtable] @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SELECT 1 as Owner, Vertragselement_1.Bezeichnung AS Vertragselement_1, dbo.Beziehungstyp.Bezeichnung AS Beziehung, dbo.Vertragselement.Bezeichnung AS Vertragselement_2, dbo.Vertragselement_Referenz.Referenzvertragsnr, dbo.Vertragselement_Referenz.Vertragselementnr_1, dbo.Vertragselement_Referenz.Vertragselementnr_2, dbo.Vertragselement_Referenz.Bemerkung, dbo.Vertragselement_Referenz.Aktiv, dbo.Vertragselement_Referenz.Erstellt_am, dbo.Vertragselement_Referenz.Mutiert_am, dbo.Vertragselement_Referenz.Mutierer, dbo.Vertragselement_Referenz.Mandantnr, dbo.Vertragselement_Referenz.SecurityLevelNr into #tmp_daten FROM dbo.Vertragselement INNER JOIN dbo.Beziehungstyp INNER JOIN dbo.Vertragselement_Referenz ON dbo.Beziehungstyp.BeziehungstypNr = dbo.Vertragselement_Referenz.BeziehungstypNr INNER JOIN dbo.Vertragselement AS Vertragselement_1 ON dbo.Vertragselement_Referenz.Vertragselementnr_1 = Vertragselement_1.Vertragselementnr ON dbo.Vertragselement.Vertragselementnr = dbo.Vertragselement_Referenz.Vertragselementnr_2 where vertragselement_referenz.Vertragselementnr_1=@keyvalue and dbo.vertragselement_referenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) insert #tmp_daten SELECT 0 as Owner, Vertragselement_1.Bezeichnung AS Vertragselement_1, dbo.Beziehungstyp.Bezeichnung2 AS Beziehung, dbo.Vertragselement.Bezeichnung AS Vertragselement_2, dbo.Vertragselement_Referenz.Referenzvertragsnr, dbo.Vertragselement_Referenz.Vertragselementnr_1, dbo.Vertragselement_Referenz.Vertragselementnr_2, dbo.Vertragselement_Referenz.Bemerkung, dbo.Vertragselement_Referenz.Aktiv, dbo.Vertragselement_Referenz.Erstellt_am, dbo.Vertragselement_Referenz.Mutiert_am, dbo.Vertragselement_Referenz.Mutierer, dbo.Vertragselement_Referenz.Mandantnr, dbo.Vertragselement_Referenz.SecurityLevelNr FROM dbo.Vertragselement INNER JOIN dbo.Beziehungstyp INNER JOIN dbo.Vertragselement_Referenz ON dbo.Beziehungstyp.BeziehungstypNr = dbo.Vertragselement_Referenz.BeziehungstypNr INNER JOIN dbo.Vertragselement AS Vertragselement_1 ON dbo.Vertragselement_Referenz.Vertragselementnr_1 = Vertragselement_1.Vertragselementnr ON dbo.Vertragselement.Vertragselementnr = dbo.Vertragselement_Referenz.Vertragselementnr_2 where vertragselement_referenz.Vertragselementnr_2=@keyvalue and dbo.vertragselement_referenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) select * from #tmp_daten ORDER BY [referenzvertragsnr] desc -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Vertragsereignis_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Vertragsereignis_SelectAll_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Vertragsereignis_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[pr_Vertragsereignis_SelectAll_bottomtable] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Kuendigungsfrist' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SELECT dbo.Vertragsereignis.EreignisNr, dbo.Vertragsereignis.Vertragselementnr, dbo.Vertragsereignis.Bezeichnung, dbo.Ereignistyp.Bezeichnung AS Ereignistyp, dbo.Periodizitaet.Bezeichnung AS Periodizität, dbo.Kostenart.Bezeichnung AS Kostenart, dbo.Vertragsereignis.Beschreibung, dbo.Vertragsereignis.Betrag, dbo.check_date(dbo.Vertragsereignis.Datum) as Datum, dbo.check_date(dbo.Vertragsereignis.Start) as Start, dbo.check_date(dbo.Vertragsereignis.Ende) as Ende, dbo.Vertragsereignis.Vorlaufzeit, dbo.Vertragsereignis.Aktiv, dbo.Vertragsereignis.Erstellt_am, dbo.Vertragsereignis.Mutiert_am, dbo.Vertragsereignis.Mutierer, dbo.Vertragsereignis.MandantNr, dbo.Vertragsereignis.SecurityLevelNr FROM dbo.Vertragsereignis INNER JOIN dbo.Kostenart ON dbo.Vertragsereignis.KostenartNr = dbo.Kostenart.KostenartNr INNER JOIN dbo.Ereignistyp ON dbo.Vertragsereignis.EreignistypNr = dbo.Ereignistyp.Ereignistypnr INNER JOIN dbo.Periodizitaet ON dbo.Vertragsereignis.PeriodizitaetNr = dbo.Periodizitaet.PeriodizitaetNr where dbo.vertragsereignis.vertragselementnr = @keyvalue and dbo.vertragsereignis.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) return GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Vertragskontakt_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Vertragskontakt_SelectAll_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Vertragskontakt_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[pr_Vertragskontakt_SelectAll_bottomtable] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Kuendigungsfrist' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON -- SELECT all rows from the table. SELECT dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Firma, dbo.Person.Name + ' ' + dbo.Person.Vorname AS Kontaktperson, dbo.Person.Telefon, dbo.Person.Telefax, dbo.Person.EMail, dbo.Kontakttyp.Bezeichnung AS Rolle, dbo.Vertragskontakt.Intern, dbo.Vertragskontakt.Bemerkung, dbo.Vertragskontakt.Aktiv, dbo.Vertragskontakt.Erstellt_am, dbo.Vertragskontakt.Mutiert_am, dbo.Vertragskontakt.Mutierer, dbo.Vertragskontakt.Mandantnr, dbo.Vertragskontakt.SecurityLevelNr, dbo.vertragskontakt.PersonNr, dbo.vertragskontakt.VertragskontaktNr FROM dbo.Vertragskontakt INNER JOIN dbo.Person ON dbo.Vertragskontakt.PersonNr = dbo.Person.PersonNr INNER JOIN dbo.Vertragspartner ON dbo.Person.Vertragspartnernr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN dbo.Kontakttyp ON dbo.Vertragskontakt.KontakttypNr = dbo.Kontakttyp.KontakttypNr where dbo.Vertragskontakt.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragselementnr = @keyvalue ORDER BY [vertragskontaktnr] ASC -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[pr_Vertragsleistung_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[pr_Vertragsleistung_SelectAll_bottomtable] GO /****** Object: StoredProcedure [dbo].[pr_Vertragsleistung_SelectAll_bottomtable] Script Date: 02.12.2016 09:08:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[pr_Vertragsleistung_SelectAll_bottomtable] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Kuendigungsfrist' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @iErrorCode int OUTPUT, @Fokus int, @KeyValue int, @mitarbeiternr int AS SET NOCOUNT ON if @fokus = 0 begin SELECT dbo.Vertragsleistung.VertragsleistungNr, dbo.Vertragsleistung.VertragselementNr, dbo.Vertragsleistung.ServicekatalogNr, dbo.Vertragsleistung.Bemerkung, dbo.Vertragsleistung.Aktiv, dbo.Vertragsleistung.Erstellt_am, dbo.Vertragsleistung.Mutiert_am, dbo.Vertragsleistung.Mutierer, dbo.Vertragsleistung.Mandantnr, dbo.Vertragsleistung.SecurityLevelNr, dbo.ServiceKatalog.Bezeichnung_intern, dbo.ServiceKatalog.Bezeichnung_extern FROM dbo.Vertragsleistung INNER JOIN dbo.ServiceKatalog ON dbo.Vertragsleistung.ServicekatalogNr = dbo.ServiceKatalog.ServiceKatalogNr where dbo.Vertragsleistung.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragselementnr = @keyvalue ORDER BY [vertragsleistungnr] ASC end if @fokus=1 begin SELECT dbo.Vertragsleistung.VertragsleistungNr, dbo.Vertragsleistung.VertragselementNr, dbo.Vertragsleistung.ServicekatalogNr, dbo.Vertragsleistung.Bemerkung, dbo.Vertragsleistung.Aktiv, dbo.Vertragsleistung.Erstellt_am, dbo.Vertragsleistung.Mutiert_am, dbo.Vertragsleistung.Mutierer, dbo.Vertragsleistung.Mandantnr, dbo.Vertragsleistung.SecurityLevelNr, dbo.ServiceKatalog.Bezeichnung_intern, dbo.ServiceKatalog.Bezeichnung_extern, dbo.Vertragselement.Bezeichnung FROM dbo.Vertragsleistung INNER JOIN dbo.ServiceKatalog ON dbo.Vertragsleistung.ServicekatalogNr = dbo.ServiceKatalog.ServiceKatalogNr INNER JOIN dbo.Vertragselement ON dbo.Vertragsleistung.VertragselementNr = dbo.Vertragselement.Vertragselementnr WHERE (dbo.Vertragsleistung.SecurityLevelNr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))) AND (dbo.Vertragsleistung.ServicekatalogNr = @keyvalue) ORDER BY dbo.Vertragsleistung.Vertragselementnr end -- Get the Error Code for the statement just executed. SELECT @iErrorCode=@@ERROR return -- Nachfolgender Code kann verwendet werden, wenn von einer gewählten Leistung auch die Child-Leistungen angezeigt werden sollen --CREATE TABLE #tmpd( -- [servicekatalognr] [int] , -- [bezeichnung] [varchar] (255) null, -- [parentid] [int] , -- [securitylevelnr] [int], --) ON [DEFAULT] -- --Create Table #tmpdata( -- [EntryKey] int null, -- [EntryText] varchar(50) null, -- [VertragsleistungNr] int null, -- [VertragselementNr] int null, -- [ServicekatalogNr] int null, -- [Bemerkung] varchar(255) null, -- [Aktiv] bit, -- [Erstellt_am] datetime, -- [Mutiert_am] datetime, -- [Mutierer] int null, -- [Mandantnr] int null --) ON [DEFAULT] -- -- --declare @vertragsleistungnr int, @vertragselementnr int, @servicekatalognr int, @bemerkung varchar(255), @aktiv bit, @erstellt_am datetime, @mutiert_am datetime, @mutierer int, @mandantnr int --declare @sknr int --declare @vnr int --declare @bez varchar(255) --declare @serviceknr int -- --declare xc cursor for -- SELECT dbo.ServiceKatalog.ServiceKatalogNr, dbo.vertragsleistung.vertragsleistungnr -- FROM dbo.Vertragsleistung INNER JOIN -- dbo.ServiceKatalog ON dbo.Vertragsleistung.ServicekatalogNr = dbo.ServiceKatalog.ServiceKatalogNr -- where vertragselementnr = @keyvalue and -- dbo.Vertragsleistung.SecurityLevelnr>=dbo.Get_SecurityLevel(@mitarbeiternr) --open xc --fetch next from xc into @sknr, @vnr --while @@fetch_status = 0 begin -- select @vertragsleistungnr=vertragsleistungnr, @vertragselementnr=vertragselementnr, @servicekatalognr=servicekatalognr, -- @bemerkung=bemerkung, @aktiv=aktiv, @erstellt_am=erstellt_am, @mutiert_am=mutiert_am, @mutierer=mutierer, @mandantnr=mandantnr -- from dbo.vertragsleistung -- where dbo.vertragsleistung.vertragsleistungnr=@vnr -- execute dbo.my_servicekatalog_struktur_down @sknr,1 -- -- declare xy cursor for select bezeichnung, servicekatalognr from #tmpd order by parentid, bezeichnung -- open xy -- fetch next from xy into @bez, @serviceknr -- while @@fetch_status=0 begin -- insert #tmpdata (EntryKey,EntryText,VertragsleistungNr,VertragselementNr,ServicekatalogNr,Bemerkung,Aktiv,Erstellt_am,Mutiert_am,Mutierer,Mandantnr) -- values (@sknr, @bez, @vertragsleistungnr,@vertragselementnr,@serviceknr,@bemerkung,@aktiv,@erstellt_am,@mutiert_am,@mutierer,@mandantnr) -- fetch next from xy into @bez, @serviceknr -- end -- close xy -- deallocate xy -- Truncate table #tmpd -- fetch next from xc into @sknr, @vnr --end --close xc --deallocate xc --select * from #tmpdata --drop table #tmpdata --drop table #tmpd --return -- [VertragsleistungNr], -- [VertragselementNr], -- [ServicekatalogNr], -- [Bemerkung], -- [Aktiv], -- [Erstellt_am], -- [Mutiert_am], -- [Mutierer], -- [Mandantnr] -- SELECT all rows from the table. --SELECT dbo.Vertragsleistung.VertragsleistungNr, dbo.Vertragsleistung.VertragselementNr, dbo.Vertragsleistung.ServicekatalogNr, dbo.Vertragsleistung.Bemerkung, -- dbo.Vertragsleistung.Aktiv, dbo.Vertragsleistung.Erstellt_am, dbo.Vertragsleistung.Mutiert_am, dbo.Vertragsleistung.Mutierer, dbo.Vertragsleistung.Mandantnr, -- dbo.Vertragsleistung.SecurityLevelNr, dbo.ServiceKatalog.Bezeichnung_intern, dbo.ServiceKatalog.Bezeichnung_extern --FROM dbo.Vertragsleistung INNER JOIN -- dbo.ServiceKatalog ON dbo.Vertragsleistung.ServicekatalogNr = dbo.ServiceKatalog.ServiceKatalogNr --where dbo.Vertragsleistung.SecurityLevelnr>=dbo.Get_SecurityLevel(@mitarbeiternr) and vertragselementnr = @keyvalue -- --ORDER BY -- [vertragsleistungnr] ASC ---- Get the Error Code for the statement just executed. --SELECT @iErrorCode=@@ERROR GO USE [Vertragsverwaltung_20170127] 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: -- Create date: <13.01.2008> -- Description: -- ============================================= 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.SecurityLevelnr in (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.SecurityLevelnr in (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.SecurityLevelnr in (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.SecurityLevelnr in (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 USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_applikation_get_vertragselemente] Script Date: 02.12.2016 09:08:54 ******/ DROP PROCEDURE [dbo].[sp_applikation_get_vertragselemente] GO /****** Object: StoredProcedure [dbo].[sp_applikation_get_vertragselemente] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Stefan Hutter -- Create date: 21.01.2009 -- Description: Gibt die Lizenzvertragselemente einer Applikation zurück -- ============================================= CREATE PROCEDURE [dbo].[sp_applikation_get_vertragselemente] @applikationnr int, @mitarbeiternr int as SET NOCOUNT ON; SELECT DISTINCT dbo.Applikation.ApplikationNr, dbo.Vertragselement.Vertragselementnr, dbo.Vertragstyp.Vertragstyp, dbo.Vertragselement.Bezeichnung + ' / ' + dbo.Vertragspartner.NameZ1 + ', ' + dbo.Vertragspartner.Ort AS Vertragselement, dbo.Vertragselement.Aktiv, dbo.Vertragselement.Erstellt_am, dbo.Vertragselement.Mutiert_am, dbo.Vertragselement.Mutierer, dbo.Vertragselement.SecurityLevelNr, dbo.VertragselementApplikation.Vertragselementapplikationnr, dbo.VertragselementApplikation.ApplikationVersionNr, dbo.ApplikationVersion.Version --dbo.Lizenzkauf.LizenzkaufNr FROM dbo.Vertragspartner INNER JOIN dbo.Applikation INNER JOIN dbo.Vertragstyp INNER JOIN dbo.Vertragselement ON dbo.Vertragstyp.Vertragstypnr = dbo.Vertragselement.VertragstypNr INNER JOIN dbo.VertragselementApplikation ON dbo.Vertragselement.Vertragselementnr = dbo.VertragselementApplikation.Vertragselementnr ON dbo.Applikation.ApplikationNr = dbo.VertragselementApplikation.Applikationnr ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr LEFT OUTER JOIN dbo.Lizenzkauf ON dbo.VertragselementApplikation.VertragselementApplikationnr = dbo.Lizenzkauf.Vertragselementapplikationnr LEFT OUTER JOIN dbo.ApplikationVersion ON dbo.VertragselementApplikation.ApplikationVersionNr = dbo.ApplikationVersion.ApplikationVersionNr WHERE (dbo.Vertragselement.SecurityLevelNr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))) AND (dbo.vertragselementapplikation.Applikationnr = @applikationnr) AND (dbo.VertragselementApplikation.Aktiv = 1) AND (dbo.Lizenzkauf.Aktiv = 1) --SELECT DISTINCT -- dbo.Applikation.ApplikationNr, dbo.Vertragselement.Vertragselementnr, dbo.Vertragstyp.Vertragstyp, -- dbo.Vertragselement.Bezeichnung + ' / ' + dbo.Vertragspartner.NameZ1 + ', ' + dbo.Vertragspartner.Ort AS Vertragselement, dbo.Vertragselement.Aktiv, -- dbo.Vertragselement.Erstellt_am, dbo.Vertragselement.Mutiert_am, dbo.Vertragselement.Mutierer, dbo.Vertragselement.SecurityLevelNr, -- dbo.VertragselementApplikation.Vertragselementnr AS Expr1, dbo.VertragselementApplikation.ApplikationVersionNr, dbo.ApplikationVersion.Version --FROM dbo.Vertragstyp INNER JOIN -- dbo.Vertragselement ON dbo.Vertragstyp.Vertragstypnr = dbo.Vertragselement.VertragstypNr INNER JOIN -- dbo.VertragselementApplikation ON dbo.Vertragselement.Vertragselementnr = dbo.VertragselementApplikation.Vertragselementnr INNER JOIN -- dbo.Applikation INNER JOIN -- dbo.Lizenzkauf ON dbo.Applikation.ApplikationNr = dbo.Lizenzkauf.ApplikationNr ON dbo.VertragselementApplikation.Applikationnr = dbo.Applikation.ApplikationNr AND -- dbo.VertragselementApplikation.Vertragselementnr = dbo.Lizenzkauf.Vertragselementnr INNER JOIN -- dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr LEFT OUTER JOIN -- dbo.ApplikationVersion ON dbo.VertragselementApplikation.ApplikationVersionNr = dbo.ApplikationVersion.ApplikationVersionNr --WHERE (dbo.Vertragselement.SecurityLevelNr <= dbo.Get_SecurityLevel(1)) AND (dbo.Lizenzkauf.ApplikationNr = @applikationnr) AND (dbo.VertragselementApplikation.Aktiv = @mitarbeiternr) AND -- (dbo.Lizenzkauf.Aktiv = 1) --SELECT dbo.Applikation.ApplikationNr, dbo.Vertragselement.Vertragselementnr, dbo.Vertragstyp.Vertragstyp, dbo.Lizenztyp.Bezeichnung AS Lizenztyp, -- dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Vertragselement.Aktiv, dbo.Vertragselement.Erstellt_am, dbo.Vertragselement.Mutiert_am, -- dbo.Vertragselement.Mutierer, dbo.Vertragselement.SecurityLevelNr --FROM dbo.Vertragselement INNER JOIN -- dbo.Applikation ON dbo.Vertragselement.ApplikationNr = dbo.Applikation.ApplikationNr INNER JOIN -- dbo.Lizenztyp ON dbo.Vertragselement.Lizenztypnr = dbo.Lizenztyp.Lizenztypnr INNER JOIN -- dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr --where dbo.vertragselement.applikationnr=@applikationnr and dbo.vertragselement.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_get_Aktivitaetliste] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_Aktivitaetliste] GO /****** Object: StoredProcedure [dbo].[sp_get_Aktivitaetliste] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Aktivitaet' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- CREATE PROCEDURE [dbo].[sp_get_Aktivitaetliste] @mitarbeiternr int, @aktivitaetstatusnr int AS SET NOCOUNT ON if @aktivitaetstatusnr < 1 begin SELECT dbo.Aktivitaet.AktivitaetNr, dbo.Aktivitaet.Ereignisnr, dbo.Aktivitaet.AktivitaetStatusNr, dbo.AktivitaetStatus.Bezeichnung, dbo.Aktivitaet.Periodizitaetnr, dbo.Periodizitaet.Bezeichnung AS Periodizitaet, dbo.Vertragselement.Vertragselementnr, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Aktivitaet.Ausgeloest_am, dbo.Aktivitaet.Ereignis, dbo.Aktivitaet.Kostenart, dbo.Aktivitaet.Betrag, dbo.Aktivitaet.Termin, dbo.Aktivitaet.Beschreibung, dbo.Aktivitaet.Bemerkung, dbo.Aktivitaet.Securitylevelnr, dbo.Aktivitaet.Aktiv, dbo.Aktivitaet.Erstellt_am, dbo.Aktivitaet.Mutiert_am, dbo.Aktivitaet.Mutierer, dbo.aktivitaet.kuendigungsfrist FROM dbo.Aktivitaet INNER JOIN dbo.AktivitaetStatus ON dbo.Aktivitaet.AktivitaetStatusNr = dbo.AktivitaetStatus.AktivitaetStatusNr INNER JOIN dbo.Periodizitaet ON dbo.Aktivitaet.Periodizitaetnr = dbo.Periodizitaet.PeriodizitaetNr INNER JOIN dbo.Vertragsereignis ON dbo.Aktivitaet.Ereignisnr = dbo.Vertragsereignis.EreignisNr INNER JOIN dbo.Vertragselement ON dbo.Vertragsereignis.Vertragselementnr = dbo.Vertragselement.Vertragselementnr where dbo.aktivitaet.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) ORDER BY termin Desc end else begin SELECT dbo.Aktivitaet.AktivitaetNr, dbo.Aktivitaet.Ereignisnr, dbo.Aktivitaet.AktivitaetStatusNr, dbo.AktivitaetStatus.Bezeichnung, dbo.Aktivitaet.Periodizitaetnr, dbo.Periodizitaet.Bezeichnung AS Periodizitaet, dbo.Vertragselement.Vertragselementnr, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Aktivitaet.Ausgeloest_am, dbo.Aktivitaet.Ereignis, dbo.Aktivitaet.Kostenart, dbo.Aktivitaet.Betrag, dbo.Aktivitaet.Termin, dbo.Aktivitaet.Beschreibung, dbo.Aktivitaet.Bemerkung, dbo.Aktivitaet.Securitylevelnr, dbo.Aktivitaet.Aktiv, dbo.Aktivitaet.Erstellt_am, dbo.Aktivitaet.Mutiert_am, dbo.Aktivitaet.Mutierer, dbo.aktivitaet.kuendigungsfrist FROM dbo.Aktivitaet INNER JOIN dbo.AktivitaetStatus ON dbo.Aktivitaet.AktivitaetStatusNr = dbo.AktivitaetStatus.AktivitaetStatusNr INNER JOIN dbo.Periodizitaet ON dbo.Aktivitaet.Periodizitaetnr = dbo.Periodizitaet.PeriodizitaetNr INNER JOIN dbo.Vertragsereignis ON dbo.Aktivitaet.Ereignisnr = dbo.Vertragsereignis.EreignisNr INNER JOIN dbo.Vertragselement ON dbo.Vertragsereignis.Vertragselementnr = dbo.Vertragselement.Vertragselementnr where dbo.aktivitaet.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.aktivitaet.aktivitaetstatusnr=@aktivitaetstatusnr union all SELECT TOP (100) PERCENT dbo.Aktivitaet.AktivitaetNr, dbo.Aktivitaet.Ereignisnr, dbo.Aktivitaet.AktivitaetStatusNr, dbo.AktivitaetStatus.Bezeichnung, dbo.Aktivitaet.Periodizitaetnr, dbo.Periodizitaet.Bezeichnung AS Periodizitaet, Vertragselement.Vertragselementnr, Vertragselement.Bezeichnung AS Vertragselement, dbo.Aktivitaet.Ausgeloest_am, dbo.Aktivitaet.Ereignis, dbo.Aktivitaet.Kostenart, dbo.Aktivitaet.Betrag, dbo.Aktivitaet.Termin, dbo.Aktivitaet.Beschreibung, dbo.Aktivitaet.Bemerkung, dbo.Aktivitaet.Securitylevelnr, dbo.Aktivitaet.Aktiv, dbo.Aktivitaet.Erstellt_am, dbo.Aktivitaet.Mutiert_am, dbo.Aktivitaet.Mutierer, dbo.Aktivitaet.Kuendigungsfrist FROM dbo.Vertragselement AS Vertragselement INNER JOIN dbo.Aktivitaet INNER JOIN dbo.AktivitaetStatus ON dbo.Aktivitaet.AktivitaetStatusNr = dbo.AktivitaetStatus.AktivitaetStatusNr INNER JOIN dbo.Periodizitaet ON dbo.Aktivitaet.Periodizitaetnr = dbo.Periodizitaet.PeriodizitaetNr ON Vertragselement.Vertragselementnr = dbo.Aktivitaet.Vertragselementnr where dbo.aktivitaet.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.aktivitaet.aktivitaetstatusnr=@aktivitaetstatusnr ORDER BY termin Desc end GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_get_dokumente] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_dokumente] GO /****** Object: StoredProcedure [dbo].[sp_get_dokumente] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create PROCEDURE [dbo].[sp_get_dokumente] --------------------------------------------------------------------------------- -- Stored procedure that will select all rows from the table 'Kuendigungsfrist' -- Returns: @iErrorCode int --------------------------------------------------------------------------------- @keyvalue int, @doktype int, @mitarbeiternr int AS SELECT 0 as DokIcon, dbo.Dokument.DokumentNr, dbo.Dokument.KeyValue, dbo.Dokumenttyp.Bezeichnung as Dokumenttyp, dbo.Dokument.Bezeichnung AS Bezeichnung, dbo.Dokument.Beschreibung, dbo.Dokument.Filename, dbo.Dokument.OriginalFilename_incl_Path, dbo.Dokument.Version, dbo.Dokument.VersionsNr, dbo.Dokument.Versionsdatum, dbo.Dokument.Erstellt_am, dbo.Dokument.Mutiert_am, dbo.Dokument.Mutierer, dbo.Dokument.Aktiv, dbo.Dokument.SecurityLevelNr FROM dbo.Dokument INNER JOIN dbo.Dokumenttyp ON dbo.Dokument.DokumenttypNr = dbo.Dokumenttyp.Dokumenttypnr where dbo.dokument.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and Keyvalue = @keyvalue and doktype=@doktype order by dbo.dokument.erstellt_am desc RETURN GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_get_Lizenzstruktur] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_Lizenzstruktur] GO /****** Object: StoredProcedure [dbo].[sp_get_Lizenzstruktur] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO -- ============================================= -- Author: -- Create date: <13.01.2008> -- Description: -- ============================================= CREATE PROCEDURE [dbo].[sp_get_Lizenzstruktur] @mitarbeiternr int, @nuraktive int=0, @alphasort int=0, @applikationnr int=0, @lizenztyp int=0 AS CREATE TABLE #tmpd( [Lizenznr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] null, [SecurityLevelNr] [int] null, [aktiv] [bit] null, [Strukturelement] bit null, ) ON [DEFAULT] -- Rootentry für die Treeaufbereitung in der Applikation insert #tmpd (lizenznr, bezeichnung, parentid, aktiv) values(0,'Root',null,1) declare @liznr int declare @lizbez varchar(50) declare @lizprnt int declare @anr int declare @bez varchar(50) declare @pid int declare @snr int declare @aktiv bit declare @knr int declare @st int set @lizprnt = -1 ----------------------------------------------------------------------------------------- -- Erster Loop über die Applikationen, welche den entsprechenden Suchbegriff beinhalten ----------------------------------------------------------------------------------------- SELECT DISTINCT dbo.Lizenz.LizenzNr, dbo.Lizenz.Bezeichnung, dbo.Lizenz.ParentID, dbo.Lizenz.SecurityLevelNr, dbo.Lizenz.Aktiv, dbo.Lizenz.Strukturelement into #tmpx from dbo.lizenz where lizenznr=-999999 if @applikationnr <> 0 begin Insert #tmpx SELECT DISTINCT dbo.Lizenz.LizenzNr, dbo.Lizenz.Bezeichnung, dbo.Lizenz.ParentID, dbo.Lizenz.SecurityLevelNr, dbo.Lizenz.Aktiv, dbo.Lizenz.Strukturelement FROM dbo.VertragselementApplikation INNER JOIN dbo.LizenzVertragselementApplikation ON dbo.VertragselementApplikation.VertragselementApplikationnr = dbo.LizenzVertragselementApplikation.VertragselementApplikationNr INNER JOIN dbo.Lizenz ON dbo.LizenzVertragselementApplikation.Lizenznr = dbo.Lizenz.LizenzNr WHERE (dbo.VertragselementApplikation.Applikationnr = @applikationnr) and dbo.Lizenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) end else begin insert #tmpx SELECT DISTINCT dbo.Lizenz.lizenznr, dbo.lizenz.Bezeichnung, dbo.lizenz.ParentID, dbo.Lizenz.SecurityLevelNr, dbo.Lizenz.Aktiv, dbo.Lizenz.Strukturelement FROM dbo.Lizenz where dbo.Lizenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) end if @lizenztyp=2 begin delete from #tmpx where aktiv<>1 end if @lizenztyp=3 begin delete from #tmpx where aktiv<>0 end if @lizenztyp=4 begin truncate table #tmpx set @applikationnr=0 insert #tmpx select dbo.Lizenz.LizenzNr, dbo.Lizenz.Bezeichnung, dbo.Lizenz.ParentID, dbo.Lizenz.SecurityLevelNr, dbo.Lizenz.Aktiv, dbo.Lizenz.Strukturelement from lizenz where LizenzNr not in (select LizenzNr from LizenzVertragselementApplikation where Lizenznr>0) and dbo.Lizenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and aktiv=1 end declare xc cursor for select * from #tmpx open xc fetch next from xc into @liznr, @lizbez, @pid, @snr, @aktiv ,@st while @@fetch_status=0 begin insert #tmpd(Lizenznr, bezeichnung, parentid, securitylevelnr, aktiv,Strukturelement) values (@liznr, @lizbez, @pid, @snr, @aktiv,@st) execute dbo.sp_get_Lizenzstruktur_up @Liznr,1 fetch next from xc into @Liznr, @Lizbez, @pid, @snr, @aktiv,@st end close xc deallocate xc select * into #tmpxx from #tmpd declare @rc int select @rc=COUNT(*) from #tmpxx if @applikationnr <> 0 and @rc > 0 begin declare xc cursor for select * from #tmpxx open xc fetch next from xc into @liznr, @lizbez, @pid, @snr, @aktiv ,@st while @@fetch_status=0 begin insert #tmpd(Lizenznr, bezeichnung, parentid, securitylevelnr, aktiv,Strukturelement) values (@liznr, @lizbez, @pid, @snr, @aktiv,@st) execute dbo.sp_get_Lizenzstruktur_down @Liznr,1 fetch next from xc into @Liznr, @Lizbez, @pid, @snr, @aktiv,@st end close xc deallocate xc end ----------------------------------------------------------------------------------------- -- Daten zurück geben und temporäre Tabelle löschen ----------------------------------------------------------------------------------------- insert #tmpd (Lizenznr, bezeichnung, parentid, aktiv) values(0,'Root',null,1) if @alphasort = 1 begin update #tmpd set parentid=0 where parentid<0 delete from #tmpd where Lizenznr < 0 if @nuraktive=0 begin select distinct Lizenznr, bezeichnung, parentid, aktiv, strukturelement,'' as Treffer from #tmpd where ltrim(bezeichnung) <> '' order by bezeichnung end else begin select distinct Lizenznr, bezeichnung, parentid, aktiv, strukturelement,'' as Treffer from #tmpd where ltrim(bezeichnung) <> '' order by bezeichnung end drop table #tmpd return end update #tmpd set strukturelement=0 where strukturelement is null if @nuraktive=0 begin select distinct Lizenznr, bezeichnung, parentid, aktiv, strukturelement from #tmpd where ltrim(bezeichnung) <> '' order by bezeichnung end else begin select distinct Lizenznr, bezeichnung, parentid, aktiv, strukturelement from #tmpd where ltrim(bezeichnung) <> '' order by bezeichnung end drop table #tmpd GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_get_Lizenz_VEApplElemente] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_Lizenz_VEApplElemente] GO /****** Object: StoredProcedure [dbo].[sp_get_Lizenz_VEApplElemente] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= create PROCEDURE [dbo].[sp_get_Lizenz_VEApplElemente] @mitarbeiternr int, @vertragspartnernr int as BEGIN SELECT TOP (100) PERCENT dbo.VertragselementApplikation.VertragselementApplikationnr, dbo.VertragselementApplikation.Vertragselementnr, dbo.VertragselementApplikation.Applikationnr, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Applikation.Bezeichnung AS Applikation, dbo.VertragselementApplikation.Bemerkung, dbo.VertragselementApplikation.Aktiv, dbo.VertragselementApplikation.Erstellt_am, dbo.VertragselementApplikation.Mutiert_am, dbo.VertragselementApplikation.Mutierer, dbo.ApplikationVersion.Version FROM dbo.VertragselementApplikation INNER JOIN dbo.Vertragselement ON dbo.VertragselementApplikation.Vertragselementnr = dbo.Vertragselement.Vertragselementnr INNER JOIN dbo.Applikation ON dbo.VertragselementApplikation.Applikationnr = dbo.Applikation.ApplikationNr INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr LEFT OUTER JOIN dbo.ApplikationVersion ON dbo.VertragselementApplikation.ApplikationVersionNr = dbo.ApplikationVersion.ApplikationVersionNr where dbo.vertragselement.VertragspartnerNr=@vertragspartnernr and dbo.vertragselement.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragselementapplikation.aktiv=1 and dbo.Vertragstyp.AlsLizenz=1 order by dbo.applikation.bezeichnung END GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_get_vertragselement_applikation] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_vertragselement_applikation] GO /****** Object: StoredProcedure [dbo].[sp_get_vertragselement_applikation] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[sp_get_vertragselement_applikation] @KeyValue int, @mitarbeiternr int AS SELECT dbo.VertragselementApplikation.VertragselementApplikationnr, dbo.VertragselementApplikation.Vertragselementnr, dbo.VertragselementApplikation.Applikationnr, dbo.Vertragselement.Bezeichnung as Vertragselement, dbo.Applikation.Bezeichnung AS Applikation, dbo.VertragselementApplikation.Bemerkung, dbo.VertragselementApplikation.Aktiv, dbo.VertragselementApplikation.Erstellt_am, dbo.VertragselementApplikation.Mutiert_am, dbo.VertragselementApplikation.Mutierer into #tmp1 FROM dbo.VertragselementApplikation INNER JOIN dbo.Vertragselement ON dbo.VertragselementApplikation.Vertragselementnr = dbo.Vertragselement.Vertragselementnr INNER JOIN dbo.Applikation ON dbo.VertragselementApplikation.Applikationnr = dbo.Applikation.ApplikationNr where dbo.vertragselementapplikation.applikationnr=@keyvalue and dbo.vertragselement.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragselementapplikation.aktiv=1 order by dbo.applikation.bezeichnung insert into #tmp1 SELECT - 99 AS vertragselementapplikationsnr, dbo.Vertragselement.Vertragselementnr, dbo.Applikation.ApplikationNr, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Applikation.Bezeichnung AS Applikation, 'Lizenzelemnt' AS bemekrung, 1 AS aktiv, dbo.Vertragselement.Erstellt_am, dbo.Vertragselement.Mutiert_am, dbo.Vertragselement.Mutierer FROM dbo.Vertragselement INNER JOIN dbo.Applikation ON dbo.Vertragselement.ApplikationNr = dbo.Applikation.ApplikationNr INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr WHERE (dbo.Vertragselement.Aktiv = 1) AND (dbo.Vertragstyp.AlsLizenz = 1) and dbo.vertragselement.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.applikation.applikationnr=@keyvalue -- Get the Error Code for the statement just executed. select distinct * from #tmp1 where VertragselementApplikationnr >-1 drop table #tmp1 GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_get_vertragsparnter] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_vertragsparnter] GO /****** Object: StoredProcedure [dbo].[sp_get_vertragsparnter] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: <09.03.2009> -- Description: -- ============================================= CREATE PROCEDURE [dbo].[sp_get_vertragsparnter] @mitarbeiternr int, @suchstring varchar(255) as BEGIN SET NOCOUNT ON; set @suchstring='%'+@suchstring+'%' select VertragspartnerNr ,NameZ1 + ' ' + NameZ2 + ', ' + PLZ + ' ' + Ort AS Description, aktiv from dbo.Vertragspartner where dbo.vertragspartner.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (namez1 like @suchstring or namez2 like @suchstring or ort like @suchstring) order by namez1,namez2, ort END GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_get_vertragspartner] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_get_vertragspartner] GO /****** Object: StoredProcedure [dbo].[sp_get_vertragspartner] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: <09.03.2009> -- Description: -- ============================================= Create PROCEDURE [dbo].[sp_get_vertragspartner] @mitarbeiternr int, @suchstring varchar(255) as BEGIN SET NOCOUNT ON; set @suchstring='%'+@suchstring+'%' select VertragspartnerNr ,NameZ1 + ' ' + NameZ2 + ', ' + PLZ + ' ' + Ort AS Description, aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (namez1 like @suchstring or namez2 like @suchstring or ort like @suchstring) order by namez1,namez2, ort END GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_Vertragselement_get_alle_elemente] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_Vertragselement_get_alle_elemente] GO /****** Object: StoredProcedure [dbo].[sp_Vertragselement_get_alle_elemente] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[sp_Vertragselement_get_alle_elemente] @mitarbeiternr int AS BEGIN SET NOCOUNT ON; SELECT * from vertragselemente_vollstaendig where vertragselemente_vollstaendig.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by Partner END GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_details] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_details] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_details] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[sp_vertragsuebersicht_get_details] @Elementtyp varchar(255), @EntryRoot int, @Vertragspartnernr int, @mitarbeiternr int, @suchstring varchar(255) as CREATE TABLE #tmpd( [vertragselementnr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] null, [vertragstypnr] [int], [aktiv] [bit] null, [vertragselementnrursprung] [int] null , [basevertragstypnr] [int] null, [key] [int] IDENTITY(1,1) NOT NULL, [level] int null, [loopcnt] int null, ) ON [DEFAULT] declare @tmp int -- Alle untergeordneten Elemente eines Vertragselementes if @Elementtyp = "Vertragselement" begin declare xc cursor for select Vertragselementnr from vertragselement where (vertragselementnr=@EntryRoot and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(vertragselementnr, @suchstring)=1 ) -- 2009-06-26 - Erweiterung, dass auch das angewählte Element mit den Details angezeigt wird or vertragselementnr=@EntryRoot open xc fetch next from xc into @tmp while @@fetch_status=0 begin execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, 0, 0,0 fetch next from xc into @tmp end close xc deallocate xc end if @Elementtyp="Vertragstyp" begin -- Elemente eines ausgew„hlten Partner if @Vertragspartnernr<>0 begin declare xctyp cursor for select Vertragselementnr from vertragselement where vertragstypnr=@entryroot and vertragspartnernr=@vertragspartnernr and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(vertragselementnr, @suchstring)=1 open xctyp fetch next from xctyp into @tmp while @@fetch_status=0 begin execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, 0, 0,0 fetch next from xctyp into @tmp end close xctyp deallocate xctyp end else begin -- Elemente aller Partner declare xctyp1 cursor for select Vertragselementnr from vertragselement where vertragstypnr=@entryroot and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(vertragselementnr, @suchstring)=1 open xctyp1 fetch next from xctyp1 into @tmp while @@fetch_status=0 begin execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, 0, 0,0 fetch next from xctyp1 into @tmp end close xctyp1 deallocate xctyp1 end end if @elementtyp="Vertragspartner" begin insert #tmpd (vertragselementnr, bezeichnung, parentid, vertragstypnr) select Vertragselementnr, '',0,0 from vertragselement where dbo.vertragselement.vertragspartnernr=@vertragspartnernr and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(vertragselementnr, @suchstring)=1 end if @suchstring='' begin SELECT distinct dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Partner, dbo.Vertragstyp.Vertragstyp, dbo.view_vertragselement.*, dbo.view_vertragselement.Mutierer AS Expr1, dbo.mitarbeiter.name + ' ' + dbo.mitarbeiter.vorname + ', ' + dbo.mitarbeiter.tgnummer AS Mutierername FROM #tmpd INNER JOIN dbo.view_vertragselement INNER JOIN dbo.Vertragspartner ON dbo.view_vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN dbo.Vertragstyp ON dbo.view_vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr ON #tmpd.vertragselementnr = dbo.view_vertragselement.Vertragselementnr INNER JOIN dbo.mitarbeiter ON dbo.view_vertragselement.Mutierer = dbo.mitarbeiter.mitarbeiternr --20091008 - nur berechtigte Objekte zurückgeben and dbo.view_vertragselement.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) -- SELECT distinct dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Partner, -- dbo.Vertragstyp.Vertragstyp, dbo.Vertragselement.*, dbo.Vertragselement.Mutierer AS Expr1, -- dbo.mitarbeiter.name + ' ' + dbo.mitarbeiter.vorname + ', ' + dbo.mitarbeiter.tgnummer AS Mutierername -- FROM #tmpd INNER JOIN -- dbo.Vertragselement INNER JOIN -- dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN -- dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr ON -- #tmpd.vertragselementnr = dbo.Vertragselement.Vertragselementnr INNER JOIN -- dbo.mitarbeiter ON dbo.Vertragselement.Mutierer = dbo.mitarbeiter.mitarbeiternr end else begin SELECT distinct dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Partner, dbo.Vertragstyp.Vertragstyp, dbo.view_vertragselement.*, dbo.view_vertragselement.Mutierer AS Expr1, dbo.mitarbeiter.name + ' ' + dbo.mitarbeiter.vorname + ', ' + dbo.mitarbeiter.tgnummer AS Mutierername FROM #tmpd INNER JOIN dbo.view_vertragselement INNER JOIN dbo.Vertragspartner ON dbo.view_vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN dbo.Vertragstyp ON dbo.view_vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr ON #tmpd.vertragselementnr = dbo.view_vertragselement.Vertragselementnr INNER JOIN dbo.mitarbeiter ON dbo.view_vertragselement.Mutierer = dbo.mitarbeiter.mitarbeiternr where (dbo.search_vertragselement(dbo.view_vertragselement.vertragselementnr, @suchstring)=1 -- 2009-06-26 - Erweiterung, dass auch das angewählte Element mit den Details angezeigt wird or dbo.view_vertragselement.vertragselementnr = @entryroot) --20091008 - nur berechtigte Objekte zurückgeben and dbo.view_vertragselement.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) end GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_struktur] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_struktur] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_struktur] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO CREATE proc [dbo].[sp_vertragsuebersicht_get_struktur] @vertragstypnr int, @vertragspartnernr int, @mitarbeiternr int, @details int, @suchstring varchar(255) as set nocount on CREATE TABLE #tmpd( [vertragselementnr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] null, [Vertragstypnr] [int], [aktiv] [bit] null, [vertragselementnrursprung] [int] null, [basevertragstypnr] [int] null, [key] [int] IDENTITY(1,1) NOT NULL, [level] int null, [loopcnt] int null, ) ON [DEFAULT] CREATE TABLE #tmpe( [vertragselementnr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] null, [Vertragstypnr] [int], [aktiv] [bit] null, [vertragselementnrursprung] [int] null, [basevertragstypnr] [int] null, [key] [int] NOT NULL, [level] int null, [loopcnt] int null, ) ON [DEFAULT] CREATE TABLE #tmps( [vertragselementnr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] null, [Vertragstypnr] [int], [aktiv] [bit] null, [vertragselementnrursprung] [int] null, [basevertragstypnr] [int] null, [key] [int] NOT NULL, [level] int null, [loopcnt] int null, ) ON [DEFAULT] declare @vnr int declare @vtype varchar(255) declare @tmpid int declare @tmpid_base int declare @aktiv bit declare @tmp int declare @loop int declare @keyvalue int declare @keyvalue1 int declare @key int declare @loopcnt int set @tmpid=-100 set @loopcnt = 0 ---------------------------------------------------------------------------------------------------------- -- Struktur nach Partner auslesen / ohne Suchstring - Suchstring berücksichtigt Vertragsinhalt ---------------------------------------------------------------------------------------------------------- Struktur_Nach_Partner: --if @suchstring<>'' goto suche_mit_searchstring -- Vertragstypen mit Vertragselementen insert #tmpd (vertragselementnr, bezeichnung, parentid, vertragstypnr, aktiv) values(0,'Root',null,0,1) set @loop=0 declare @rootvertragstypnr int, @rootvertragstyp varchar(255) declare xc cursor for SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr*-100, dbo.Vertragstyp.Vertragstyp FROM dbo.Vertragstyp INNER JOIN dbo.Vertragselement ON dbo.Vertragstyp.Vertragstypnr = dbo.Vertragselement.VertragstypNr WHERE (dbo.Vertragselement.VertragspartnerNr = @vertragspartnernr) and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) ORDER BY dbo.Vertragstyp.Vertragstyp open xc fetch next from xc into @rootvertragstypnr, @rootvertragstyp while @@fetch_status=0 begin -- Vertragselemente mit parentid=0 mit entsprechendem Vertragstyp insert #tmpd (vertragselementnr, bezeichnung, parentid, vertragstypnr, aktiv) values(@rootvertragstypnr,@rootvertragstyp,0,@rootvertragstypnr,@aktiv) declare xy cursor for select Vertragselementnr, parentid, vertragstypnr from vertragselement where vertragspartnernr=@vertragspartnernr and vertragstypnr*-100=@rootvertragstypnr and parentid=0 and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) open xy fetch next from xy into @tmp, @tmpid, @vnr while @@fetch_status=0 begin execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, @vnr, @tmpid, @loopcnt set @loopcnt=@loopcnt+1 fetch next from xy into @tmp, @tmpid, @vnr end close xy deallocate xy -- Vertragselemente mit Parentid<>0 declare xy cursor for select Vertragselementnr, parentid, vertragstypnr from vertragselement where vertragspartnernr=@vertragspartnernr and vertragstypnr*-100=@rootvertragstypnr and parentid<>0 and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragselementnr not in (select vertragselementnr from #tmpd) open xy fetch next from xy into @tmp, @tmpid, @vnr while @@fetch_status=0 begin execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, @vnr, @tmpid, @loopcnt set @loopcnt=@loopcnt+1 fetch next from xy into @tmp, @tmpid, @vnr end close xy deallocate xy -- Eindeutige Schlüssel if @loop>0 begin --select * from #tmpd set @keyvalue=(@loop*10000)+100000 set @keyvalue1 = @keyvalue update #tmpd set vertragselementnr=vertragselementnr+@keyvalue where [vertragselementnrursprung]>0 update #tmpd set parentid=parentid+@keyvalue where [vertragselementnrursprung]>0 select top 1 @keyvalue=vertragselementnr, @key=[key] from #tmpd where [vertragselementnrursprung] is null update #tmpd set parentid=@keyvalue where parentid not in (select vertragselementnr from #tmpd) end update #tmpd set basevertragstypnr=@rootvertragstypnr/-100 set @loop=@loop+1 update #tmpd set parentid=@rootvertragstypnr where parentid=0 insert #tmpe select * from #tmpd delete from #tmpd fetch next from xc into @rootvertragstypnr, @rootvertragstyp end close xc deallocate xc update #tmpe set parentid=0 where parentid=vertragselementnr update #tmpe set aktiv=1 where aktiv is null -- update #tmpe set parentid=0 where parentid not in (select vertragselementnr from #tmpe) update #tmpe set parentid=vertragstypnr where parentid not in (select vertragselementnr from #tmpe) if @suchstring='' begin select *, null as Securitylevelnr into #tmpxx from #tmpe order by [key] update #tmpxx set securitylevelnr = (select securitylevelnr from dbo.vertragselement where dbo.vertragselement.vertragselementnr = #tmpxx.vertragselementnrursprung) select * from #tmpxx where securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) or [level] is null order by [key] -- -select * from #tmpe order by [key] drop table #tmpd drop table #tmpe drop table #tmps drop table #tmpxx return end ------------------------------------------------------------------------------------------- -- Suche mit Searchstring ------------------------------------------------------------------------------------------- Suche_Mit_Searchstring: declare @level int declare @pid int declare @xx int declare @xxpid int declare @cnt int declare @elementnr int declare @xxelementnr int declare @xkey int declare @xlevel int declare @xpid int declare @ykey int declare xc cursor for select [key],basevertragstypnr,parentid, level, loopcnt, vertragselementnr from #tmpe where dbo.search_vertragselement([vertragselementnrursprung],@suchstring)=1 open xc fetch next from xc into @tmp,@vnr,@pid, @level, @loopcnt, @elementnr while @@fetch_status=0 begin set @xpid=@pid insert #tmps select * from #tmpe where [key]=@tmp while @pid > 0 begin select @tmp=[key], @pid=parentid from #tmpe where vertragselementnr=@pid insert #tmps select * from #tmpe where [key]=@tmp end declare xx cursor for select [key], parentid, vertragselementnr from #tmpe where loopcnt = @loopcnt and level>@level open xx fetch next from xx into @xx, @xxpid, @xxelementnr while @@fetch_status = 0 begin select @cnt=count([key]) from #tmpe where parentid in (select vertragselementnr from #tmpe) if @cnt > 0 insert #tmps select * from #tmpe where [key]=@xx and @xxelementnr not in (select vertragselementnr from #tmps) fetch next from xx into @xx, @xxpid, @xxelementnr end close xx deallocate xx /* -- insert #tmps select * from #tmpe where (basevertragstypnr=@vnr and [key]<=@tmp and parentid<>@pid) or ([key]=@tmp) and -- @elementnr not in (select vertragselementnr from #tmps) and parentid > 0 -- order by [key] insert #tmps select * from #tmpe where loopcnt=@loopcnt --(basevertragstypnr=@vnr and [key]<=@tmp and parentid<>@pid) or ([key]=@tmp) and declare xx cursor for select [key], parentid, vertragselementnr from #tmpe where loopcnt = @loopcnt and level>@level open xx fetch next from xx into @xx, @xxpid, @xxelementnr while @@fetch_status = 0 begin select @cnt=count([key]) from #tmpe where parentid in (select vertragselementnr from #tmpe) if @cnt > 0 insert #tmps select * from #tmpe where [key]=@xx and @xxelementnr not in (select vertragselementnr from #tmps) fetch next from xx into @xx, @xxpid, @xxelementnr end close xx deallocate xx -- insert #tmps select * from #tmpe where loopcnt = @loopcnt and level > @level and parentid in (select vertragselementnr from #tmps) fetch next from xc into @tmp,@vnr,@pid, @level, @loopcnt, @elementnr end */ fetch next from xc into @tmp,@vnr,@pid, @level, @loopcnt, @elementnr end close xc deallocate xc insert #tmps select * from #tmpe where vertragselementnr in (select parentid from #tmps where parentid < 0) select @cnt=count(*) from #tmps where bezeichnung='Root' if @cnt<1 begin insert #tmps (vertragselementnr, bezeichnung, parentid, vertragstypnr, aktiv,[key]) values(0,'Root',null,0,1,999999) end --alter table #tmps drop column [key] --alter table #tmps drop column [LEVEL] --alter table #tmps drop column [LOOPCNT] -- select distinct * from #tmps order by [key] select distinct *, null as Securitylevelnr into #tmpyy from #tmps order by [key] update #tmpyy set securitylevelnr = (select securitylevelnr from dbo.vertragselement where dbo.vertragselement.vertragselementnr = #tmpyy.vertragselementnrursprung) select * from #tmpyy where securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) or [level] is null order by [key] drop table #tmpd drop table #tmpe drop table #tmps drop table #tmpyy return GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_Struktur_Vertragstyp] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_Struktur_Vertragstyp] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_Struktur_Vertragstyp] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE proc [dbo].[sp_vertragsuebersicht_get_Struktur_Vertragstyp] @vertragstypnr int, @mitarbeiternr int, @details int, @suchstring varchar(255) as CREATE TABLE #tmpd( [vertragselementnr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] null, [Vertragstypnr] [int], [aktiv] [bit] null ) ON [DEFAULT] set @suchstring='%'+@suchstring+'%' declare @vnr int declare @vtype varchar(255) declare @tmpid int declare @tmpid_base int declare @aktiv bit set @tmpid=-100 ---------------------------------------------------------------------------------------------------------- -- Struktur nach Vertragstyp ---------------------------------------------------------------------------------------------------------- insert #tmpd (vertragselementnr, bezeichnung, parentid, vertragstypnr, aktiv) values(0,'Root',null,0,1) -- S„mtliche relevanten Root-Strukturen auslesen - nur diejenigen, bei welchen Vertragselemente vorhanden sind und der User berechtigt ist if substring(@suchstring,2,2)='V:' or @suchstring='' begin set @suchstring='%'+substring(@suchstring,4,len(@suchstring)-3) print @suchstring declare firstloop cursor for SELECT distinct dbo.Vertragselement.VertragspartnerNr, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Partner, dbo.Vertragspartner.aktiv --,dbo.Vertragselement.Vertragselementnr FROM dbo.Vertragselement INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr WHERE (dbo.Vertragselement.Aktiv = 1) AND (dbo.Vertragselement.VertragstypNr = @vertragstypnr) and (dbo.Vertragselement.SecurityLevelNr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))) and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring) open firstloop fetch next from firstloop into @vnr, @vtype, @aktiv while @@fetch_status=0 begin insert #tmpd (vertragselementnr, bezeichnung, parentid, vertragstypnr, aktiv) values(@tmpid,@vtype,0,@vnr, @aktiv) set @tmpid=@tmpid-1 fetch next from firstloop into @vnr, @vtype, @aktiv end close firstloop deallocate firstloop if @details=0 begin delete from #tmpd where parentid > 0 end select distinct * from #tmpd order by bezeichnung return end return GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_Struktur_Vertragstyp_sik] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_Struktur_Vertragstyp_sik] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_Struktur_Vertragstyp_sik] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE proc [dbo].[sp_vertragsuebersicht_get_Struktur_Vertragstyp_sik] @vertragstypnr int, @mitarbeiternr int, @details int, @suchstring varchar(255) as CREATE TABLE #tmpd( [vertragselementnr] [int] , [bezeichnung] [varchar] (255) null, [parentid] [int] null, [Vertragstypnr] [int], [aktiv] [bit] null ) ON [DEFAULT] set @suchstring='%'+@suchstring+'%' declare @vnr int declare @vtype varchar(255) declare @tmpid int declare @tmpid_base int declare @aktiv bit set @tmpid=-100 ---------------------------------------------------------------------------------------------------------- -- Struktur nach Vertragstyp ---------------------------------------------------------------------------------------------------------- insert #tmpd (vertragselementnr, bezeichnung, parentid, vertragstypnr, aktiv) values(0,'Root',null,0,1) select * from #tmpd -- S„mtliche relevanten Root-Strukturen auslesen - nur diejenigen, bei welchen Vertragselemente vorhanden sind und der User berechtigt ist declare firstloop cursor for SELECT distinct dbo.Vertragselement.VertragspartnerNr, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Partner, dbo.Vertragspartner.aktiv --,dbo.Vertragselement.Vertragselementnr FROM dbo.Vertragselement INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr WHERE (dbo.Vertragselement.Aktiv = 1) AND (dbo.Vertragselement.VertragstypNr = @vertragstypnr) and (dbo.Vertragselement.SecurityLevelNr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr))) open firstloop fetch next from firstloop into @vnr, @vtype, @aktiv while @@fetch_status=0 begin -- Je Root-Struktur die untergerordneten Vertragselemente auslesen insert #tmpd (vertragselementnr, bezeichnung, parentid, vertragstypnr, aktiv) values(@tmpid,@vtype,0,@vnr, @aktiv) declare @tmp int declare xc cursor for select Vertragselementnr from vertragselement where vertragspartnernr=@vnr and parentid =0 and securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragselement.vertragstypnr=@vertragstypnr open xc fetch next from xc into @tmp while @@fetch_status=0 begin execute dbo.sp_vertragsuebersicht_get_struktur_down @tmp,1, @vertragstypnr, @tmpid fetch next from xc into @tmp end close xc deallocate xc set @tmpid=@tmpid-1 fetch next from firstloop into @vnr, @vtype, @aktiv end close firstloop deallocate firstloop if @details=0 begin delete from #tmpd where parentid > 0 end select distinct * from #tmpd order by bezeichnung return SELECT distinct dbo.vertragstyp.vertragstypnr,dbo.Vertragstyp.Vertragstyp, #tmpd.* FROM dbo.Vertragselement INNER JOIN #tmpd ON dbo.Vertragselement.Vertragselementnr = #tmpd.vertragselementnr INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr order by #tmpd.bezeichnung ,vertragstyp, #tmpd.parentid return GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_TreeRoot] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create proc [dbo].[sp_vertragsuebersicht_get_TreeRoot] @mitarbeiternr int, @selectiontype int=0, @aktiv int=0, @suchtype int=0, @suchstring varchar(255)='', @partnernr int AS --------------------------------------------------------------------------------------------------------------------------------------------------- -- Direkte Angabe eines Partner --------------------------------------------------------------------------------------------------------------------------------------------------- if @partnernr<>0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragspartnernr=@partnernr order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort return end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau ohne Suche / Vertragspartner --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=0 and @selectiontype=0 begin if @aktiv=0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end else begin select dbo.Vertragspartner.VertragspartnerNr as Keyvalue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragspartner.aktiv=1 order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau ohne Suche / Vertragspartner --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype = 0 and @selectiontype=1 begin if @aktiv=0 begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr order by dbo.vertragstyp.vertragstyp end else begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr where dbo.vertragstyp.aktiv=1 order by dbo.vertragstyp.vertragstyp end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau ohne Suche / Vertragspartner --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=1 and @selectiontype=0 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring OR dbo.Vertragspartner.PLZ like @suchstring or dbo.Vertragspartner.Bemerkung like @suchstring or dbo.Vertragspartner.Suchbegriffe like @suchstring) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end else begin select dbo.Vertragspartner.VertragspartnerNr as Keyvalue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragspartner.aktiv=1 and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring OR dbo.Vertragspartner.PLZ like @suchstring or dbo.Vertragspartner.Bemerkung like @suchstring or dbo.Vertragspartner.Suchbegriffe like @suchstring) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragstyp --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=1 and @selectiontype=1 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr WHERE (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring OR dbo.Vertragspartner.PLZ like @suchstring or dbo.Vertragspartner.Bemerkung like @suchstring or dbo.Vertragspartner.Suchbegriffe like @suchstring) -- (dbo.Vertragspartner.NameZ1 LIKE @suchstring OR dbo.Vertragspartner.NameZ2 LIKE @suchstring OR dbo.Vertragspartner.Ort LIKE @suchstring) and dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.vertragstyp.vertragstyp end else begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr where dbo.vertragstyp.aktiv=1 and dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring OR dbo.Vertragspartner.PLZ like @suchstring or dbo.Vertragspartner.Bemerkung like @suchstring or dbo.Vertragspartner.Suchbegriffe like @suchstring) -- (dbo.Vertragspartner.NameZ1 LIKE @suchstring OR dbo.Vertragspartner.NameZ2 LIKE @suchstring OR dbo.Vertragspartner.Ort LIKE @suchstring) order by dbo.vertragstyp.vertragstyp end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragselement --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=2 and @selectiontype=0 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin SELECT DISTINCT dbo.Vertragspartner.VertragspartnerNr AS KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.Vertragspartner.Aktiv FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr WHERE dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(dbo.vertragselement.vertragselementnr,@suchstring)=1 ORDER BY Description end else begin SELECT DISTINCT dbo.Vertragspartner.VertragspartnerNr AS KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.Vertragspartner.Aktiv FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr WHERE dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(dbo.vertragselement.vertragselementnr,@suchstring)=1 and dbo.vertragspartner.aktiv=1 ORDER BY Description end end GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE proc [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik] @mitarbeiternr int, @selectiontype int=0, @aktiv int=0, @suchtype int=0, @suchstring varchar(255)='' AS --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau ohne Suche --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=0 begin -- Selektion Vertragspartner if @selectiontype=0 begin if @aktiv=0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end else begin select dbo.Vertragspartner.VertragspartnerNr as Keyvalue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragspartner.aktiv=1 order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end end -- Selektion Vertragstyp if @selectiontype=1 begin if @aktiv=0 begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr order by dbo.vertragstyp.vertragstyp end else begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr where dbo.vertragstyp.aktiv=1 order by dbo.vertragstyp.vertragstyp end end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragspartner --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=1 and @selectiontype=0 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end else begin select dbo.Vertragspartner.VertragspartnerNr as Keyvalue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragspartner.aktiv=1 and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragstyp --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=1 and @selectiontype=1 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr WHERE (dbo.Vertragspartner.NameZ1 LIKE @suchstring OR dbo.Vertragspartner.NameZ2 LIKE @suchstring OR dbo.Vertragspartner.Ort LIKE @suchstring) and dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.vertragstyp.vertragstyp end else begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr where dbo.vertragstyp.aktiv=1 and dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (dbo.Vertragspartner.NameZ1 LIKE @suchstring OR dbo.Vertragspartner.NameZ2 LIKE @suchstring OR dbo.Vertragspartner.Ort LIKE @suchstring) order by dbo.vertragstyp.vertragstyp end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragselement --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=2 and @selectiontype=0 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin SELECT DISTINCT dbo.Vertragspartner.VertragspartnerNr AS KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.Vertragspartner.Aktiv FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr WHERE dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(dbo.vertragselement.vertragselementnr,@suchstring)=1 ORDER BY Description end else begin set @suchstring='%'+@suchstring+'%' end end GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik_20110403] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik_20110403] GO /****** Object: StoredProcedure [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik_20110403] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE proc [dbo].[sp_vertragsuebersicht_get_TreeRoot_sik_20110403] @mitarbeiternr int, @selectiontype int=0, @aktiv int=0, @suchtype int=0, @suchstring varchar(255)='', @partnernr int AS --------------------------------------------------------------------------------------------------------------------------------------------------- -- Direkte Angabe eines Partner --------------------------------------------------------------------------------------------------------------------------------------------------- if @partnernr<>0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and vertragspartnernr=@partnernr order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort return end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau ohne Suche / Vertragspartner --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=0 and @selectiontype=0 begin if @aktiv=0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end else begin select dbo.Vertragspartner.VertragspartnerNr as Keyvalue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragspartner.aktiv=1 order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau ohne Suche / Vertragspartner --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype = 0 and @selectiontype=1 begin if @aktiv=0 begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr order by dbo.vertragstyp.vertragstyp end else begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr where dbo.vertragstyp.aktiv=1 order by dbo.vertragstyp.vertragstyp end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau ohne Suche / Vertragspartner --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=1 and @selectiontype=0 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin select dbo.Vertragspartner.VertragspartnerNr as KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end else begin select dbo.Vertragspartner.VertragspartnerNr as Keyvalue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.vertragspartner.aktiv from dbo.Vertragspartner where dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.vertragspartner.aktiv=1 and (dbo.vertragspartner.namez1 like @suchstring or dbo.vertragspartner.namez2 like @suchstring or dbo.vertragspartner.ort like @suchstring) order by dbo.vertragspartner.namez1, dbo.vertragspartner.namez2, dbo.vertragspartner.ort end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragstyp --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=1 and @selectiontype=1 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr WHERE (dbo.Vertragspartner.NameZ1 LIKE @suchstring OR dbo.Vertragspartner.NameZ2 LIKE @suchstring OR dbo.Vertragspartner.Ort LIKE @suchstring) and dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) order by dbo.vertragstyp.vertragstyp end else begin SELECT DISTINCT dbo.Vertragstyp.Vertragstypnr as Keyvalue , dbo.Vertragstyp.Vertragstyp AS Description FROM dbo.Vertragselement INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr where dbo.vertragstyp.aktiv=1 and dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and (dbo.Vertragspartner.NameZ1 LIKE @suchstring OR dbo.Vertragspartner.NameZ2 LIKE @suchstring OR dbo.Vertragspartner.Ort LIKE @suchstring) order by dbo.vertragstyp.vertragstyp end end --------------------------------------------------------------------------------------------------------------------------------------------------- -- Tree-Aufbau Suche nach Vertragselement --------------------------------------------------------------------------------------------------------------------------------------------------- if @suchtype=2 and @selectiontype=0 begin set @suchstring='%'+@suchstring+'%' if @aktiv=0 begin SELECT DISTINCT dbo.Vertragspartner.VertragspartnerNr AS KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.Vertragspartner.Aktiv FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr WHERE dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(dbo.vertragselement.vertragselementnr,@suchstring)=1 ORDER BY Description end else begin SELECT DISTINCT dbo.Vertragspartner.VertragspartnerNr AS KeyValue, dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.PLZ + ' ' + dbo.Vertragspartner.Ort AS Description, dbo.Vertragspartner.Aktiv FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr WHERE dbo.vertragspartner.securitylevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) and dbo.search_vertragselement(dbo.vertragselement.vertragselementnr,@suchstring)=1 and dbo.vertragspartner.aktiv=1 ORDER BY Description end end GO USE [Vertragsverwaltung_20170127] GO /****** Object: StoredProcedure [dbo].[sp_vertragsverwaltung_pendenzenliste] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_vertragsverwaltung_pendenzenliste] GO /****** Object: StoredProcedure [dbo].[sp_vertragsverwaltung_pendenzenliste] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create PROCEDURE [dbo].[sp_vertragsverwaltung_pendenzenliste] @Mitarbeiternr int, @pendenzstatusnr int AS -- Pendenzart 1 = Offen if @pendenzstatusnr<>-1 begin SELECT dbo.Pendenz.PendenzNr, dbo.Pendenz.VertragselementNr, dbo.Pendenz.Verantwortlich, dbo.Pendenz.PendenzStatusNr, dbo.Pendenz.Bezeichnung, dbo.Pendenz.Beschreibung, dbo.Pendenz.Termin, dbo.Pendenz.Aktiv, dbo.Pendenz.Erstellt_am, dbo.Pendenz.Mutiert_am, dbo.Pendenz.Mutierer, dbo.Pendenz.MandantNr, dbo.Pendenz.SecurityLevelNr, dbo.Pendenzstatus.Bezeichnung AS Pendenzstatus, ISNULL(dbo.Vertragselement.Bezeichnung, '') AS Vertragselement FROM dbo.Pendenz INNER JOIN dbo.Pendenzstatus ON dbo.Pendenz.PendenzStatusNr = dbo.Pendenzstatus.PendenzStatusNr LEFT OUTER JOIN dbo.Vertragselement ON dbo.Pendenz.VertragselementNr = dbo.Vertragselement.Vertragselementnr where (dbo.pendenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) or dbo.pendenz.mutierer=@mitarbeiternr) and dbo.pendenz.pendenzstatusnr=@pendenzstatusnr order by Termin asc end -- ---- Pendenzart 2 = In Bearbeitung --if @pendenzstatusnr=2 begin -- SELECT dbo.Pendenz.PendenzNr, dbo.Pendenz.VertragselementNr, dbo.Pendenz.Verantwortlich, dbo.Pendenz.PendenzStatusNr, -- dbo.Pendenz.Bezeichnung, dbo.Pendenz.Beschreibung, dbo.Pendenz.Termin, dbo.Pendenz.Aktiv, dbo.Pendenz.Erstellt_am, dbo.Pendenz.Mutiert_am, -- dbo.Pendenz.Mutierer, dbo.Pendenz.MandantNr, dbo.Pendenz.SecurityLevelNr, dbo.Pendenzstatus.Bezeichnung AS Pendenzstatus, -- ISNULL(dbo.Vertragselement.Bezeichnung, '') AS Vertragselement -- FROM dbo.Pendenz INNER JOIN -- dbo.Pendenzstatus ON dbo.Pendenz.PendenzStatusNr = dbo.Pendenzstatus.PendenzStatusNr LEFT OUTER JOIN -- dbo.Vertragselement ON dbo.Pendenz.VertragselementNr = dbo.Vertragselement.Vertragselementnr -- where (dbo.pendenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) or dbo.pendenz.mutierer=@mitarbeiternr) -- and dbo.pendenz.pendenzstatusnr=2 -- order by Termin asc --end -- ---- Pendenzart 3 = Erledigt --if @pendenzstatusnr=3 begin -- SELECT dbo.Pendenz.PendenzNr, dbo.Pendenz.VertragselementNr, dbo.Pendenz.Verantwortlich, dbo.Pendenz.PendenzStatusNr, -- dbo.Pendenz.Bezeichnung, dbo.Pendenz.Beschreibung, dbo.Pendenz.Termin, dbo.Pendenz.Aktiv, dbo.Pendenz.Erstellt_am, dbo.Pendenz.Mutiert_am, -- dbo.Pendenz.Mutierer, dbo.Pendenz.MandantNr, dbo.Pendenz.SecurityLevelNr, dbo.Pendenzstatus.Bezeichnung AS Pendenzstatus, -- ISNULL(dbo.Vertragselement.Bezeichnung, '') AS Vertragselement -- FROM dbo.Pendenz INNER JOIN -- dbo.Pendenzstatus ON dbo.Pendenz.PendenzStatusNr = dbo.Pendenzstatus.PendenzStatusNr LEFT OUTER JOIN -- dbo.Vertragselement ON dbo.Pendenz.VertragselementNr = dbo.Vertragselement.Vertragselementnr -- where (dbo.pendenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) or dbo.pendenz.mutierer=@mitarbeiternr) -- and dbo.pendenz.pendenzstatusnr=3 -- order by Termin asc --end -- ---- Pendenzart 4 = Hinfällig --if @pendenzstatusnr=4 begin -- SELECT dbo.Pendenz.PendenzNr, dbo.Pendenz.VertragselementNr, dbo.Pendenz.Verantwortlich, dbo.Pendenz.PendenzStatusNr, -- dbo.Pendenz.Bezeichnung, dbo.Pendenz.Beschreibung, dbo.Pendenz.Termin, dbo.Pendenz.Aktiv, dbo.Pendenz.Erstellt_am, dbo.Pendenz.Mutiert_am, -- dbo.Pendenz.Mutierer, dbo.Pendenz.MandantNr, dbo.Pendenz.SecurityLevelNr, dbo.Pendenzstatus.Bezeichnung AS Pendenzstatus, -- ISNULL(dbo.Vertragselement.Bezeichnung, '') AS Vertragselement -- FROM dbo.Pendenz INNER JOIN -- dbo.Pendenzstatus ON dbo.Pendenz.PendenzStatusNr = dbo.Pendenzstatus.PendenzStatusNr LEFT OUTER JOIN -- dbo.Vertragselement ON dbo.Pendenz.VertragselementNr = dbo.Vertragselement.Vertragselementnr -- where (dbo.pendenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) or dbo.pendenz.mutierer=@mitarbeiternr) -- and dbo.pendenz.pendenzstatusnr=4 -- order by Termin asc --end -- Pendenzart -1 = Alle if @pendenzstatusnr=-1 begin SELECT dbo.Pendenz.PendenzNr, dbo.Pendenz.VertragselementNr, dbo.Pendenz.Verantwortlich, dbo.Pendenz.PendenzStatusNr, dbo.Pendenz.Bezeichnung, dbo.Pendenz.Beschreibung, dbo.Pendenz.Termin, dbo.Pendenz.Aktiv, dbo.Pendenz.Erstellt_am, dbo.Pendenz.Mutiert_am, dbo.Pendenz.Mutierer, dbo.Pendenz.MandantNr, dbo.Pendenz.SecurityLevelNr, dbo.Pendenzstatus.Bezeichnung AS Pendenzstatus, ISNULL(dbo.Vertragselement.Bezeichnung, '') AS Vertragselement FROM dbo.Pendenz INNER JOIN dbo.Pendenzstatus ON dbo.Pendenz.PendenzStatusNr = dbo.Pendenzstatus.PendenzStatusNr LEFT OUTER JOIN dbo.Vertragselement ON dbo.Pendenz.VertragselementNr = dbo.Vertragselement.Vertragselementnr where (dbo.pendenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) or dbo.pendenz.mutierer=@mitarbeiternr) order by Termin asc end -- Pendenzart -2 = Alle im Status Offen(1) und In Bearbeitung (2) --if @pendenzstatusnr=-2 begin -- SELECT dbo.Pendenz.PendenzNr, dbo.Pendenz.VertragselementNr, dbo.Pendenz.Verantwortlich, dbo.Pendenz.PendenzStatusNr, -- dbo.Pendenz.Bezeichnung, dbo.Pendenz.Beschreibung, dbo.Pendenz.Termin, dbo.Pendenz.Aktiv, dbo.Pendenz.Erstellt_am, dbo.Pendenz.Mutiert_am, -- dbo.Pendenz.Mutierer, dbo.Pendenz.MandantNr, dbo.Pendenz.SecurityLevelNr, dbo.Pendenzstatus.Bezeichnung AS Pendenzstatus, -- ISNULL(dbo.Vertragselement.Bezeichnung, '') AS Vertragselement -- FROM dbo.Pendenz INNER JOIN -- dbo.Pendenzstatus ON dbo.Pendenz.PendenzStatusNr = dbo.Pendenzstatus.PendenzStatusNr LEFT OUTER JOIN -- dbo.Vertragselement ON dbo.Pendenz.VertragselementNr = dbo.Vertragselement.Vertragselementnr -- where (dbo.pendenz.SecurityLevelnr in (select SecurityLevelNr from dbo.Get_SecurityLevelTab(@mitarbeiternr)) or dbo.pendenz.mutierer=@mitarbeiternr) -- and dbo.pendenz.pendenzstatusnr<3 -- order by Termin asc --end GO