You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ITSM/.svn/pristine/eb/ebf71491e0c4a2d918fac589e31...

77 lines
8.5 KiB

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