CREATE procedure [C6StagingPeriodico].[AggiornaContrattiPretrimestrale]
AS
-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'AggiornaContrattiPretrimestrale',
		GETDATE(),
		'Elaborazione trimestrale'
	)
INSERT INTO C6StagingPeriodico.ContrattiPreTrimestrale
SELECT
    v.chiaveclientepb,   
    [Cod_Fiscale],
    [Cod_Mandato],	
	[PIva_Fiduciaria],
	[Cod_Agente],
	[Rete],
	[CodiceContratto],
	[FlagROL],
	[Indirizzo],
	[CAP],
	[Citta],
	[Provincia],
	[Nazione],
	[Presso],
	[Email],
	[Freq_Diagnosi],
	[FREQ_MONITORAGGIO],
	GENERAZIONEREPORT,
	DATA_INIZIOBASE,	
	DATA_FINEBASE,	
	DATA_PERF_BASE,	
	DATA_PERF,	
	DATA_INZIOAVANZATO,	
	DATA_FINEAVANZATO,	
	RIATTIVAZIONE,	
	m.TIP_CONTRATTO,	
	TIP_RIATTIVAZIONE,
	ClienteMIGRATO,	
	RISORSENA,	
	PROFILOATTIVO,
	NumSolleciti,	
	NumRevoche,	
	Data_ultimoSollecito,	
	Data_ultimaRevoca,	
	InvioBenvenuto	
FROM 
    [C6Mart].[vContratti] v
       INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m
    ON v.chiaveclientepb = m.chiaveclientepb
WHERE rete+cod_fiscale+codicecontratto IN
(SELECT rete+codfis+codcontratto FROM ScartiQuadratura WHERE bloccato = 0 and gestito = 0)
UPDATE
	ScartiQuadratura
SET
	gestito = 1
WHERE
	bloccato = 0 and gestito = 0
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'AggiornaContrattiPretrimestrale' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'AggiornaContrattiPretrimestrale'
		)