--create view as CREATE PROCEDURE [C6MartPeriodico].[RP_DM_POPOLACONTRATTI] AS BEGIN INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'RP_DM_POPOLACONTRATTI', GETDATE(), 'Elaborazione giornaliera' ) SELECT a.chiaveclientepb as ChiaveClientePb INTO #CAMBIOCONTRATTO FROM [CONSEVO_PERIODICO].[consulenzaBase].dbo.Contratto a JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.ClientePB b ON b.chiaveClientePB = a.chiaveClientePB and a.status in ('SEI','AVANZATOBASE','REVOCASEI') JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.Cliente c ON b.chiaveCliente = c.chiaveCliente JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.PromotoreBancario d ON b.chiavePB = d.chiavePB JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e ON a.codiceContratto = e.cod_conf JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattobase f ON a.codiceContratto = f.cod_conf JOIN [C6MartPeriodico].[vcontratti] vc ON b.chiaveClientePB = vc.chiaveClientePB WHERE a.codicecontratto<>vc.codicecontratto INSERT INTO [C6MartPeriodico].[CONTRATTOSEI_METADATI_ST] SELECT * FROM [C6MartPeriodico].[CONTRATTOSEI_METADATI] WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) INSERT INTO [C6MartPeriodico].[VCONTRATTI_ST] SELECT * FROM [C6MartPeriodico].[VCONTRATTI] WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) DELETE [C6MartPeriodico].[CONTRATTOSEI_METADATI] WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) --DROP TABLE #CAMBIOCONTRATTO TRUNCATE TABLE C6MartPeriodico.VCONTRATTI INSERT INTO C6MartPeriodico.VCONTRATTI SELECT DISTINCT b.chiaveClientePB, --FFCODICEFISCALE(codfis,codman,c.piva) as Cod_fiscale --c.codMan AS COD_MANDATO, --FFPIVA(codman,c.piva) as PIVA_FIDUCIARIA case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman when (isnull(codfis,'') <> '') then codfis else c.piva end as Cod_fiscale, c.codMan AS COD_MANDATO, case when(isnull(ltrim(rtrim(codman)),'') <> '') then c.piva else '' END AS PIVA_FIDUCIARIA, f.pb AS COD_AGENTE, d.rete, a.codiceContratto, a.flagRol, a.address AS INDIRIZZO, a.cap, a.city AS CITTA, a.province AS PROVINCIA, a.nation AS NAZIONE, a.presso, a.email, a.freqRepDia AS FREQ_DIAGNOSI, a.freqRepMon AS FREQ_MONITORAGGIO, a.genReport AS GENERAZIONEREPORT, a.dtFirmaBase AS DATA_INIZIOBASE, a.dtEndBase AS DATA_FINEBASE, a.dtProcBase as DATA_PERF_BASE, a.dtProcAv as DATA_PERF, a.dtFirmaSei AS DATA_INZIOAVANZATO, a.dtEndSei AS DATA_FINEAVANZATO, CASE e.tipcontratto WHEN 'A' THEN 1 WHEN 'P' THEN 2 ELSE 0 END AS TIP_CONTRATTO, CASE WHEN e.riattivazione is null THEN 0 ELSE 1 END AS RIATTIVAZIONE FROM [CONSEVO_PERIODICO].[consulenzaBase].dbo.Contratto a JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.ClientePB b ON b.chiaveClientePB = a.chiaveClientePB and a.status in ('SEI','AVANZATOBASE','REVOCASEI') JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.Cliente c ON b.chiaveCliente = c.chiaveCliente JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.PromotoreBancario d ON b.chiavePB = d.chiavePB JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e ON a.codiceContratto = e.cod_conf JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattobase f ON a.codiceContratto = f.cod_conf INSERT INTO [C6MartPeriodico].[CONTRATTOSEI_METADATI] ([CHIAVECLIENTEPB] ,[ClienteMIGRATO] ,[RISORSENA] ,[PROFILOATTIVO] ,[NumSolleciti] ,[NumRevoche] ,[Data_ultimoSollecito] ,[Data_ultimaRevoca] ,[InvioBenvenuto] ,[Tip_riattivazione] ,[Tip_contratto]) SELECT A.CHIAVECLIENTEPB, NULL, NULL, NULL, 0, 0, NULL, NULL, 'N', A.Riattivazione, A.Tip_Contratto FROM C6MartPeriodico.VCONTRATTI A LEFT JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] B ON A.chiaveClientePB = B.CHIAVECLIENTEPB WHERE B.CHIAVECLIENTEPB IS NULL UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI] SET tip_riattivazione=0 --SELECT * FROM C6MartPeriodico.VCONTRATTI VC JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO <> '9999-12-31 00:00:00.000' AND MC.Tip_riattivazione = 1 UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI] SET tip_riattivazione=1 ,numRevoche = 0, data_UltimaRevoca = NULL, invioBenvenuto = 'N',numSolleciti = 0, data_UltimoSollecito = NULL --SELECT * FROM C6MartPeriodico.VCONTRATTI VC JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' AND MC.Tip_riattivazione = 0 UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI] SET tip_riattivazione=2, tip_Contratto = 2 ,numRevoche = 0, data_UltimaRevoca = NULL, invioBenvenuto = 'N', numSolleciti = 0, data_UltimoSollecito = NULL --SELECT * FROM C6MartPeriodico.VCONTRATTI VC JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' AND MC.tip_Contratto = 1 -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'RP_DM_POPOLACONTRATTI' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_POPOLACONTRATTI' ) END