Files
GMW/GMW_DB/BatchQueue/Stored Procedures/stp_batch_cancellaUDC_RapQualAnnullati.sql
T
Samuele Locatelli a6d7ea0b2f Import iniziale DB, GMW
versione TK 2.4
inclusione schema voc x tabella lingue e vocabolario
2014-02-20 09:54:57 +01:00

56 lines
1.8 KiB
Transact-SQL

-- =============================================
-- Steamware, S.E.L.
-- mod: 2012.02.23
--
-- Description: Verifica se ci sono RQ annullati e se ci sono cartellini associati
-- li elimina richiamando la relativa stored
-- =============================================
CREATE PROCEDURE [BatchQueue].[stp_batch_cancellaUDC_RapQualAnnullati]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
IF OBJECT_ID(N'tempdb..#CartRQAnnullati') IS NOT NULL -- Se esiste già la tabella temporanea cancello
DROP TABLE #CartRQAnnullati;
-- Carico gli UDC Annullati ( vengono messi ad A su AS400 quando annullano il Rapporto di Qualità )
WITH Cte AS
( SELECT DISTINCT r.nRapQual
FROM RilPro.RapQual AS r
INNER JOIN dbo.ElencoCartellini AS e -- per sicurezza verifico che i cartellini esistano anche in ElencoCartellini
ON r.UDC = e.UDC
WHERE r.BenesQual = 'A' AND r.UDC IS NOT NULL -- Cartellino Annullato e associato a Cartellini GMW
)
SELECT nRapQual, ROW_NUMBER() OVER( ORDER BY nRapQual ) AS Riga
INTO #CartRQAnnullati
FROM Cte
DECLARE @Riga AS INT = 1;
DECLARE @TotRighe AS INT;
DECLARE @nRapQual NUMERIC(6,0);
SELECT @TotRighe = MAX(Riga) FROM #CartRQAnnullati ;
-- Per ogni UDC Annullato eseguo la stored di cancellazione
WHILE @Riga <= @TotRighe
BEGIN
SELECT @nRapQual=nRapQual FROM #CartRQAnnullati WHERE Riga = @Riga
EXECUTE dbo.stp_UDC_delete_byRdQ @nRapQual , 0 -- 0 eseguita in Batch
-- Incremento contatore Riga ( RQ successiva )
SET @Riga = @Riga + 1
END
IF OBJECT_ID(N'tempdb..#CartRQAnnullati') IS NOT NULL -- tabella temporanea cancello
DROP TABLE #CartRQAnnullati;
END