USE [PERS2] GO /****** Object: Trigger [dbo].[KRM_Mesal_Ins] Script Date: 05/26/2014 11:18:59 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE TRIGGER [dbo].[KRM_Mesal_Ins] ON [dbo].[KRM] AFTER INSERT --NOT FOR REPLICATION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @MesalDatumTijd DATETIME DECLARE @my_lotnr CHAR(40) DECLARE @my_machine SMALLINT DECLARE @my_hoogte FLOAT DECLARE @my_gewicht FLOAT DECLARE @my_soortgew FLOAT DECLARE @my_temp FLOAT DECLARE @my_gew_hoogte INT DECLARE @my_hoogte_afk INT DECLARE @my_gew_soortgew FLOAT -- 12-09-2012 EW -- sg afkPlus/afkMin ivm asymetrische afkeur grenzen DECLARE @my_soortgew_afk_P FLOAT DECLARE @my_soortgew_afk_M FLOAT DECLARE @my_gew_temp INT DECLARE @my_temp_afk INT DECLARE @my_lotnr_found INT -- 15-06-2010 EW -- tag toegevoegd waarin de reden van afkeur gelogd wordt DECLARE @my_AfkeurOorzaak SMALLINT -------------------------15-06-2010----------------------------- -- 27-05-2011 EW -- Vanuit MPV wordt bepaald door welke system(en) een anode gemaakt is en in de KRM tabel gelogd -- DECLARE @my_sectime INT Declare @My_LotNummer char(40) Declare @My_Systeem Int Declare @My_R1 SmallInt Declare @My_R2 SmallInt Declare @My_R3 SmallInt; -------------------------27-05-2011----------------------------- --COMMIT TRANSACTION --error handling in try/catch block BEGIN TRY --add record to sql-server-1 --BEGIN TRANSACTION SET @my_lotnr_found = 0; SELECT @MesalDatumTijd = inserted.[Datum_Tijd], -- 4-4-2011 alleen 8 characters in lotnummer, voorloop "1" wordt er af gehaald @my_lotnr = substring(inserted.[LotNr],2,8), @My_LotNummer = inserted.[LotNr], @my_machine = inserted.[MachineNr], @my_hoogte = inserted.[Hoogte], @my_soortgew = inserted.[SGewicht], @my_temp = inserted.[Temp], @my_gew_hoogte = [flmassa].dbo.MPV.HOOGTE, @my_hoogte_afk = [flmassa].dbo.MPV.HOOGTE_AFK, @my_gew_soortgew = [flmassa].dbo.MPV.SG, -- 12-09-2012 EW -- sg afkPlus/afkMin ivm asymetrische afkeur grenzen @my_soortgew_afk_P = [flmassa].dbo.MPV.SG_REG, @my_soortgew_afk_M = [flmassa].dbo.MPV.SG_AFK, @my_gew_temp = [flmassa].dbo.MPV.TEMP, @my_temp_afk = [flmassa].dbo.MPV.TEMP_AFK -- 15-06-2010 EW -- tag toegevoegd waarin de reden van afkeur gelogd wordt -- @my_AfkeurOorzaak = inserted.[AfkOorzaak] -------------------------15-06-2010----------------------------- FROM inserted INNER JOIN [flmassa].dbo.MPV ON inserted.LotNr = [flmassa].dbo.MPV.LOTNR; -- Gef @my_AfkeurOorzaak een waarde 0, kolom komt niet voor in KRM tabel SET @my_AfkeurOorzaak = 0 IF (@@ROWCOUNT > 0) AND (@MesalDatumTijd > 0) SET @my_lotnr_found = 1; -- Haal gewicht op waarvan MPV lotnummer onbekend is SELECT @MesalDatumTijd = inserted.[Datum_Tijd], @my_machine = ISNULL(inserted.[MachineNr],0), @my_gewicht = (ISNULL(inserted.[Gewicht],0) / 1000.0) FROM inserted -------------------------27-05-2011----------------------------- -- Insert statements for trigger here EXEC flmassa.dbo.msp_MesalAnode @MesalDatumTijd, @my_lotnr, @my_machine, @my_hoogte, @my_gewicht, @my_soortgew, @my_temp, @my_gew_hoogte, -- 12-09-2012 EW -- sg afkPlus/afkMin ivm asymetrische afkeur grenzen @my_hoogte_afk, @my_gew_soortgew, @my_soortgew_afk_P, @my_soortgew_afk_M, @my_gew_temp, @my_temp_afk, @my_lotnr_found, -- 15-06-2010 EW -- tag toegevoegd waarin de reden van afkeur gelogd wordt @my_AfkeurOorzaak -------------------------15-06-2010----------------------------- --COMMIT TRANSACTION --BEGIN TRANSACTION END TRY BEGIN CATCH --Error handling --ROLLBACK TRANSACTION --BEGIN TRANSACTION RETURN --beeindig functie END CATCH END