----------------------------------------------------------------------------- CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_CONTRATTOSEI] AS -- Log esecuzione INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE (Nome, Inizio, Nota) VALUES ( 'RP_DM_CONTRATTOSEI', GETDATE(), 'Elaborazione trimestrale Immobiliare' ) TRUNCATE TABLE C6MartPeriodicoImmobiliare.CONTRATTOSEI INSERT INTO C6MartPeriodicoImmobiliare.CONTRATTOSEI SELECT [Rete], [Cod_Fiscale], [PIva_Fiduciaria], [DATA_INZIOAVANZATO] as [Data_Sott], [CodiceContratto], [Cod_Agente], [Data_Perf_Base], [Data_Perf], null as [Fascia_CPP], null as [Email], [Indirizzo], [CAP], [Citta], [Provincia], [Nazione], [Presso], null as[Data_Inizio], [Freq_Diagnosi], [FREQ_MONITORAGGIO], null as [Freq_DiagnosiPrec], null as [Freq_MonitorPrec], null as [Data_InizioConsInv], [Data_InizioBase], [Data_FineBase], [DATA_INZIOAVANZATO], [Data_FineAvanzato], null as [ProgressivoInvio], 'N', 'N', null as [DataUltimoInvio], [ClienteMigrato], [RisorseNA], null as [PartViaDisinv], [NumSolleciti], [Data_UltimoSollecito], [NumRevoche], [Data_UltimaRevoca], null as [Note], null as [Data_Invio_Diagnosi_Trimestrale], null as [Data_Invio_Monitoraggio_Trimestrale], [ProfiloAttivo], null as [Rol], [TIP_CONTRATTO], [TIP_RIATTIVAZIONE] FROM [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] -- Log esecuzione UPDATE LOG_ESECUZIONE_PERIODICO_IMMOBILIARE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'RP_DM_CONTRATTOSEI' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE_PERIODICO_IMMOBILIARE WHERE Nome = 'RP_DM_CONTRATTOSEI' ) UPDATE C6MartPeriodicoImmobiliare.contrattosei set indirizzo = a.indirizzo ,cap = a.cap ,citta = a.citta ,prov = a.Provincia ,nazione = a.Nazione ,presso = a.Presso ,Cod_Agente = a.Cod_Agente ,Freq_Diagnosi = a.Freq_Diagnosi ,FREQ_MONITOR = a.FREQ_MONITORAGGIO from c6mart.vcontratti a inner join C6MartPeriodicoImmobiliare.contrattosei b on a.codicecontratto = b.codicecontratto UPDATE contr set indirizzo = a.indirizzo ,cap = a.cap ,citta = a.citta ,provincia = a.Prov ,nazione = a.Nazione ,presso = a.Presso ,Cod_Agente = a.Cod_Agente ,Freq_Diagnosi = a.Freq_Diagnosi ,FREQ_MONITORAGGIO = a.FREQ_MONITOR from C6MartPeriodicoImmobiliare.contrattosei a inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr on a.codicecontratto = contr.codicecontratto left join [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] with (nolock)) -- Allineamento Flag Rol su contratto sei Update C6MartPeriodicoImmobiliare.ContrattoSei Set Rol = Case D.statorol When 'S' then D.statorol Else 'N' End, EmAil = Case d.alertrol When 'S' then D.Email End from C6MartPeriodicoImmobiliare.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D on d.codContratto = c.codiceContratto