-- ============================================= -- Author: Luca di Chiara -- Create date: 29/07/2024 -- Description: Procedura per il controllo del buon esito dell'allineamento maiisvo propedeutico alle lettere di benvenuto -- ============================================= CREATE PROCEDURE [dbo].[VerificaAllMassGior] -- Add the parameters for the stored procedure here AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here Declare @ELABORAZIONE_CONCLUSA bit =0 declare @InizioVerifica datetime = getdate() declare @dtinizio datetime declare @stato varchar(20) ='' --Prima di eseguire il primo check attendo 2 minuti --per dare tempo al precedente dtsx di inserire un nuovo record nella logbatch generale --se non attendo il rischio è che nel successivo controllo sulla logbatchgenerale, --venga preso in considerazione il record relativo ad un'esecuzione precedente WAITFOR DELAY '00:02:00' print '... sleep 2 ...' WHILE @ELABORAZIONE_CONCLUSA = 0 BEGIN RAISError(N'', 0, 1) WITH NOWAIT -- si aspetta al massimo 15 minuti per il termine dell'allineamento massivo dopodiche si manda in errore if datediff( minute, @InizioVerifica , getdate()) > 15 Begin select * from MandaInErrore print 'Superato tempo limite per attendere la conclusione dell''elaborazione dell allineamentomassivo, interrompiamo' End Else Begin select top 1 @dtinizio = dtesecuzione, @stato = stato from consuni.consulenzaunicafl.dbo.logbatchgenerale where nomebatch like 'AllineamentoMassivoGiornaliero' order by dtesecuzione desc if datediff( minute, @dtinizio , getdate()) <= 15 AND @STATO = 'OK' BEGIN SET @ELABORAZIONE_CONCLUSA = 1 END END -- attesa di 20 secondi WAITFOR DELAY '00:00:10' print '... aspetto 10 secondi prima di ricontrollare ...' END END