USE [Vertragsverwaltung_20160404] GO /****** Object: StoredProcedure [dbo].[sp_rpt_vertragspruefung] Script Date: 02.12.2016 09:08:53 ******/ DROP PROCEDURE [dbo].[sp_rpt_vertragspruefung] GO /****** Object: StoredProcedure [dbo].[sp_rpt_vertragspruefung] Script Date: 02.12.2016 09:08:55 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[sp_rpt_vertragspruefung] @sqlwhere varchar(1024) as declare @p int -- Ohne Kontakte set @p=charindex('ohne Kontakte',@sqlwhere) if @p>0 begin SELECT dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.Ort AS Vertragspartner, dbo.Vertragselement.Bezeichnung + '/ ' + dbo.Vertragselement.Nummer AS Vertragselement, dbo.Vertragstyp.Vertragstyp FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr WHERE (dbo.Vertragselement.Aktiv = 1) AND (dbo.Vertragselement.Vertragselementnr NOT IN (SELECT VertragselementNr FROM dbo.Vertragskontakt WHERE (Aktiv = 1))) ORDER BY Vertragspartner, Vertragselement return end -- Ohne Ereignisse set @p=charindex('ohne Ereignisse',@sqlwhere) if @p>0 begin SELECT dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.Ort AS Vertragspartner, dbo.Vertragselement.Bezeichnung + '/ ' + dbo.Vertragselement.Nummer AS Vertragselement, dbo.Vertragstyp.Vertragstyp FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr WHERE (dbo.Vertragselement.Aktiv = 1) AND (dbo.Vertragselement.Vertragselementnr NOT IN (SELECT Vertragselementnr FROM dbo.Vertragsereignis WHERE (Aktiv = 1))) ORDER BY Vertragspartner, Vertragselement return end -- Ohne Bezeichnung set @p=charindex('Beschreibungen',@sqlwhere) if @p>0 begin SELECT dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.Ort AS Vertragspartner, dbo.Vertragselement.Bezeichnung + '/ ' + dbo.Vertragselement.Nummer AS Vertragselement, dbo.Vertragstyp.Vertragstyp, dbo.Vertragselement.Beschreibung FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr WHERE (dbo.Vertragselement.Aktiv = 1) and (dbo.vertragselement.beschreibung ='' or dbo.vertragselement.beschreibung like '-%') and dbo.vertragstyp.vertragstyp <> 'Lizenzvertrag' ORDER BY Vertragspartner, Vertragselement return end -- Ohne Dokumente set @p=charindex('ohne Dokumente',@sqlwhere) if @p>0 begin SELECT dbo.Vertragspartner.NameZ1 + ' ' + dbo.Vertragspartner.NameZ2 + ', ' + dbo.Vertragspartner.Ort AS Vertragspartner, dbo.Vertragselement.Bezeichnung + '/ ' + dbo.Vertragselement.Nummer AS Vertragselement, dbo.Vertragstyp.Vertragstyp FROM dbo.Vertragspartner INNER JOIN dbo.Vertragselement ON dbo.Vertragspartner.VertragspartnerNr = dbo.Vertragselement.VertragspartnerNr INNER JOIN dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr WHERE (dbo.Vertragselement.Aktiv = 1) AND (dbo.Vertragselement.Vertragselementnr NOT IN (SELECT KeyValue FROM dbo.Dokument WHERE (DokType = 1) AND (Aktiv = 1))) ORDER BY Vertragspartner, Vertragselement return end GO