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.
105 lines
9.9 KiB
105 lines
9.9 KiB
USE [Vertragsverwaltung_20160404]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_mittelfristplanung_differenzen] Script Date: 02.12.2016 09:08:53 ******/
|
|
DROP PROCEDURE [dbo].[sp_mittelfristplanung_differenzen]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_mittelfristplanung_differenzen] Script Date: 02.12.2016 09:08:55 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[sp_mittelfristplanung_differenzen]
|
|
@datumvon datetime,
|
|
@datumbis datetime
|
|
as
|
|
BEGIN
|
|
|
|
DECLARE @Mutationen TABLE
|
|
(
|
|
Typ varchar(10),
|
|
Vertragsereignis varchar(255),
|
|
Vertragselement varchar(255),
|
|
Vertragspartner varchar(255),
|
|
Element varchar(255),
|
|
Alter_Wert varchar(255),
|
|
Neuer_Wert varchar(255),
|
|
Datum varchar(255)
|
|
)
|
|
|
|
|
|
declare @ve varchar(255)
|
|
declare @velement varchar(255)
|
|
declare @vp varchar(255)
|
|
declare @vnr int
|
|
declare @vpnr int
|
|
declare @datum datetime
|
|
|
|
-- Neue Vertragsereignisse
|
|
declare xc cursor for
|
|
select bezeichnung, vertragselementnr, erstellt_am from dbo.Vertragsereignis where EreignistypNr=3
|
|
and Erstellt_am >= @datumvon and Erstellt_am <= @datumbis
|
|
|
|
open xc
|
|
fetch next from xc into @ve, @vnr, @datum
|
|
while @@FETCH_STATUS=0 begin
|
|
select @velement=bezeichnung, @vpnr=vertragspartnernr from Vertragselement where vertragselementnr=@vnr
|
|
select @vp=namez1 from Vertragspartner where VertragspartnerNr=@vpnr
|
|
insert @Mutationen(Typ,Vertragsereignis, Vertragselement, Vertragspartner, Element, neuer_wert, alter_wert, datum) values ('E',@ve,@velement,@vp,'Neu erstellt','','',@datum)
|
|
fetch next from xc into @ve, @vnr, @datum
|
|
end
|
|
close xc
|
|
deallocate xc
|
|
|
|
-- Neue Vertragselemente
|
|
insert @Mutationen(Typ,Vertragsereignis, Vertragselement, Vertragspartner, Element, neuer_wert, alter_wert, datum)
|
|
SELECT distinct 'V' AS Typ, '' AS Vertragsereignis, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Vertragspartner.NameZ1 AS Vertragspartner,
|
|
'Neu erstellt' AS element, '' AS alter_wert, '' AS neuer_wert, dbo.Vertragselement.Erstellt_am
|
|
FROM dbo.Vertragselement INNER JOIN
|
|
dbo.Vertragsereignis ON dbo.Vertragselement.Vertragselementnr = dbo.Vertragsereignis.Vertragselementnr INNER JOIN
|
|
dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr
|
|
WHERE (dbo.Vertragsereignis.EreignistypNr = 3)
|
|
and dbo.vertragselement.Erstellt_am >= @datumvon and dbo.vertragselement.Erstellt_am <= @datumbis
|
|
|
|
-- Mutationen auf Vertragsereignis
|
|
insert @Mutationen
|
|
SELECT 'E' as Typ, dbo.Vertragsereignis.Bezeichnung AS Vertragsereignis, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Vertragspartner.NameZ1 AS Partner,
|
|
dbo.History.HistoryObjectdetails, dbo.History.Alter_Wert,
|
|
--dbo.History.Neuer_Wert
|
|
case when dbo.History.Neuer_Wert='Inaktiv' then 'Inaktiv (V-Ereignis)' else dbo.History.Neuer_Wert end as Neuer_Wert,
|
|
convert(datetime,dbo.History.Erstellt_am)
|
|
FROM dbo.Vertragselement INNER JOIN
|
|
dbo.Vertragsereignis ON dbo.Vertragselement.Vertragselementnr = dbo.Vertragsereignis.Vertragselementnr INNER JOIN
|
|
dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN
|
|
dbo.History ON dbo.Vertragsereignis.EreignisNr = dbo.History.HistoryObjekctKey
|
|
where dbo.History.Erstellt_am >= @datumvon and dbo.History.Erstellt_am <= @datumbis and dbo.Vertragsereignis.EreignistypNr=3
|
|
and dbo.History.HistoryTypNr=2
|
|
|
|
-- Mutationen auf Vertragselement
|
|
insert @Mutationen
|
|
SELECT 'V' as Typ,'' AS Vertragsereignis, dbo.Vertragselement.Bezeichnung AS Vertragselement, dbo.Vertragspartner.NameZ1 AS Partner,
|
|
dbo.History.HistoryObjectDetails, dbo.History.Alter_Wert,
|
|
--dbo.history.Neuer_Wert
|
|
case when dbo.History.Neuer_Wert='Inaktiv' then 'Inaktiv (V-Element)' else dbo.History.Neuer_Wert end as Neuer_Wert,
|
|
|
|
CONVERT(datetime, dbo.History.Erstellt_am) AS Expr1
|
|
FROM dbo.Vertragselement INNER JOIN
|
|
dbo.Vertragsereignis ON dbo.Vertragselement.Vertragselementnr = dbo.Vertragsereignis.Vertragselementnr INNER JOIN
|
|
dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN
|
|
dbo.History ON dbo.Vertragselement.Vertragselementnr = dbo.History.HistoryObjekctKey
|
|
WHERE dbo.History.Erstellt_am >= @datumvon and dbo.History.Erstellt_am <= @datumbis and dbo.Vertragsereignis.EreignistypNr=3
|
|
and dbo.History.HistoryTypNr=1
|
|
|
|
select distinct * from @Mutationen order by Vertragsereignis, Datum
|
|
END
|
|
|
|
|
|
|
|
GO
|