-- ============================================= -- Author: Paolo Giovanetti -- Create date: 21 gennaio 2009 -- Description: Effettua una storicizzazione del DataMart prima dell'import di nuovi dati. -- ============================================= -- [C6MartPeriodico].[SRV_STORICIZZAZIONE] 'GESTIONE_EMAIL' CREATE PROCEDURE [C6MartPeriodico].[SRV_STORICIZZAZIONE] @NomeTabella AS VARCHAR(50) = NULL 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 @ID_ELAB INT -- Elaborazione da storicizzare DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) FROM C6MARTPERIODICO.ELABORAZIONI WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') BEGIN DELETE FROM C6StoricoPeriodico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.CONTRATTOSEI (Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, PartViaDisinv, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, Data_Invio_Diagnosi_Trimestrale, Data_Invio_Monitoraggio_Trimestrale, ID_ELAB) SELECT C.Rete, C.Cod_Fiscale, C.Data_Sott, C.CodiceContratto, C.Cod_Agente, C.Data_Perf_Base, C.Data_Perf, C.Fascia_CPP, C.Email, C.Indirizzo, C.CAP, C.Citta, C.Prov, C.Nazione, C.Presso, C.Data_Inizio, C.Freq_Diagnosi, C.Freq_Monitor, C.Freq_DiagnosiPrec, C.Freq_MonitorPrec, C.Data_InizioConsInv, C.Data_InizioBase, C.Data_FineBase, C.Data_InizioAvanzato, C.Data_FineAvanzato, C.ProgressivoInvio, C.GenerazioneReport, C.InvioBenvenuto, C.DataUltimoInvio, C.ClienteMigrato, C.RisorseNA, C.PartViaDisinv, C.NumSolleciti, C.Data_UltimoSollecito, C.NumRevoche, C.Data_UltimaRevoca, C.Note, C.Data_Invio_Diagnosi_Trimestrale, C.Data_Invio_Monitoraggio_Trimestrale, @ID_ELAB FROM C6Mart.CONTRATTOSEI C--WHERE ID_ELAB = @ID_ELAB LEFT OUTER JOIN C6StoricoPeriodico.CONTRATTOSEI SC ON C.Rete = SC.Rete AND C.Cod_Fiscale = SC.Cod_Fiscale AND C.CodiceContratto = SC.CodiceContratto WHERE SC.Rete IS NULL END -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') BEGIN DELETE FROM C6StoricoPeriodico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ANAG_CC (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) SELECT AC.RETE, AC.COD_FISCALE, AC.INTERMEDIARIO, AC.COINTEST, AC.COD_CC, AC.FASCIA_CPP, AC.SALDO, AC.DATA_APERTURA, AC.DATA_CHIUSURA, AC.ID_ELAB, AC.TIPO_ELAB FROM C6MartPeriodico.ANAG_CC AC LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CC SAC ON AC.RETE = SAC.RETE AND AC.COD_FISCALE = SAC.COD_FISCALE AND AC.COD_CC = SAC.COD_CC WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') BEGIN DELETE FROM C6StoricoPeriodico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ANAG_CC_TERZI (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) SELECT ACT.RETE, ACT.COD_FISCALE, ACT.INTERMEDIARIO, ACT.COINTEST, ACT.COD_CC, ACT.FASCIA_CPP, ACT.SALDO, ACT.DATA_APERTURA, ACT.DATA_CHIUSURA, ACT.ID_ELAB FROM C6MartPeriodico.ANAG_CC_TERZI ACT LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CC_TERZI SACT ON ACT.RETE = SACT.RETE AND ACT.COD_FISCALE = SACT.COD_FISCALE AND ACT.INTERMEDIARIO = SACT.INTERMEDIARIO AND ACT.COD_CC = SACT.COD_CC WHERE ACT.ID_ELAB = @ID_ELAB AND SACT.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') BEGIN DELETE FROM C6StoricoPeriodico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ANAG_CLIENTI (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB) SELECT AC.RETE, AC.COD_FISCALE, AC.NOME, AC.COGNOME, AC.DATA_NASCITA, AC.STATO_CIVILE, AC.NUM_COMPONENTI, AC.NUM_FIGLI, AC.ETA, AC.PARTITA_IVA, AC.CITTADINANZA, AC.PERSONA_FIS_GIUR, AC.INDIRIZZO, AC.LOCALITA, AC.PROVINCIA, AC.CAP, AC.NAZIONE, AC.PRESSO, AC.TEL_RECAPITO, AC.TEL_CELL, AC.E_MAIL, AC.DATA_INIZIO, AC.DATA_FINE, AC.STATO, AC.RAG_SOC, AC.SESSO, AC.ID_PROMOTORE, AC.ID_ELAB, AC.TIPO_ELAB FROM C6MartPeriodico.ANAG_CLIENTI AC LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CLIENTI SAC ON AC.RETE = SAC.RETE AND AC.COD_FISCALE = SAC.COD_FISCALE WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI_PREV XXXXXXXXXXXXXXXXXXXXXXXX-- -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI_PREV') -- BEGIN -- DELETE FROM C6StoricoPeriodico.ANAG_CLIENTI_PREV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB -- INSERT INTO C6StoricoPeriodico.ANAG_CLIENTI_PREV -- (RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB) -- SELECT -- RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB -- FROM C6MartPeriodico.ANAG_CLIENTI_PREV WHERE ID_ELAB = @ID_ELAB -- END --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI') BEGIN DELETE FROM C6StoricoPeriodico.ANAG_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ANAG_PRODOTTI (COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB) SELECT AP.COD_PRODOTTO, AP.COD_ISIN, AP.PAESE, AP.ID_AREA, AP.CAT_PRODOTTO, AP.TIPO_PRODOTTO, AP.DESCR_PRODOTTO, AP.DIV_QUOTAZIONE, AP.DIV_REGOLAMENTO, AP.ID_EMITTENTE, AP.MERCATO_CONTRATT, AP.COD_MAF, AP.RATING, AP.COD_ADEGUATEZZA, AP.COD_SOTTOPRODOTTO, AP.COD_INTERNO, AP.ID_ELAB, AP.TIPO_ELAB FROM C6MartPeriodico.ANAG_PRODOTTI AP LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PRODOTTI SAP ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI_TERZI') BEGIN DELETE FROM C6StoricoPeriodico.ANAG_PRODOTTI_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ANAG_PRODOTTI_TERZI (COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB) SELECT APT.COD_PRODOTTO, APT.COD_PRODOTTO_TERZI, APT.NOME_PRODOTTO, APT.ALBERO_PRODOTTI, APT.COD_ISIN, APT.DESCR_PRODOTTO, APT.DIV_QUOTAZIONE, APT.INTERMEDIARIO, APT.DIV_REGOLAMENTO, APT.ID_EMITTENTE, APT.MERCATO_CONTRATT, APT.PAESE, APT.RATING, APT.ID_ELAB, APT.TIPO_ELAB FROM C6MartPeriodico.ANAG_PRODOTTI_TERZI APT LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PRODOTTI_TERZI SAPT ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PROMOTORI') BEGIN DELETE FROM C6StoricoPeriodico.ANAG_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ANAG_PROMOTORI (RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB) SELECT AP.RETE, AP.ID_PROMOTORE, AP.LIVELLO, AP.COD_FISCALE, AP.PARTITA_IVA, AP.COGNOME, AP.NOME, AP.RAG_SOC, AP.DATA_INIZIO, AP.DATA_FINE, AP.INDIRIZZO, AP.LOCALITA, AP.PROVINCIA, AP.CAP, AP.NAZIONE, AP.TEL_RECAPITO, AP.TEL_CELL, AP.E_MAIL, AP.COD_ABI, AP.COD_CAB, AP.COD_CIN, AP.COD_CC, AP.STATO, AP.ID_ELAB, AP.TIPO_ELAB FROM C6MartPeriodico.ANAG_PROMOTORI AP LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PROMOTORI SAP ON AP.RETE = SAP.RETE AND AP.ID_PROMOTORE = SAP.ID_PROMOTORE AND AP.LIVELLO = SAP.LIVELLO WHERE AP.ID_ELAB = @ID_ELAB AND SAP.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX AREA_BISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'AREA_BISOGNO') BEGIN DELETE FROM C6StoricoPeriodico.AREA_BISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.AREA_BISOGNO (ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB) SELECT AB.ID_AREA, AB.NOME_AREA, AB.ORDINAMENTO, AB.ID_ELAB FROM C6MartPeriodico.AREA_BISOGNO AB LEFT OUTER JOIN C6StoricoPeriodico.AREA_BISOGNO SAB ON AB.ID_AREA = SAB.ID_AREA WHERE AB.ID_ELAB = @ID_ELAB AND SAB.ID_AREA IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC') BEGIN DELETE FROM C6StoricoPeriodico.ASSET_PERC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ASSET_PERC (COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB) SELECT AP.COD_PRODOTTO, AP.ID_ASSETCLASS, AP.COD_ISIN, AP.COD_MAF, AP.COD_INTERNO, AP.COD_SOTTOPRODOTTO, AP.LIVELLO, AP.PERC, AP.ID_ELAB, AP.TIPO_ELAB FROM C6MartPeriodico.ASSET_PERC AP LEFT OUTER JOIN C6StoricoPeriodico.ASSET_PERC SAP ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO AND AP.ID_ASSETCLASS = SAP.ID_ASSETCLASS WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC_TERZI') BEGIN DELETE FROM C6StoricoPeriodico.ASSET_PERC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ASSET_PERC_TERZI (COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB) SELECT APT.COD_PRODOTTO_TERZI, APT.ID_ASSETCLASS, APT.LIVELLO, APT.NOME_PRODOTTO, APT.TIPO_PRODOTTO, APT.PERC, APT.ID_ELAB, APT.TIPO_ELAB FROM C6MartPeriodico.ASSET_PERC_TERZI APT LEFT OUTER JOIN C6StoricoPeriodico.ASSET_PERC_TERZI SAPT ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI AND APT.ID_ASSETCLASS = SAPT.ID_ASSETCLASS AND APT.LIVELLO = SAPT.LIVELLO WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') BEGIN DELETE FROM C6StoricoPeriodico.ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ASSETCLASS (ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB) SELECT A.ID_ASSETCLASS, A.DESCRIZIONE, A.LIVELLO, A.ORDINAMENTO, A.ID_ELAB FROM C6MartPeriodico.ASSETCLASS A LEFT OUTER JOIN C6StoricoPeriodico.ASSETCLASS SA ON A.ID_ASSETCLASS = SA.ID_ASSETCLASS WHERE A.ID_ELAB = @ID_ELAB AND SA.ID_ASSETCLASS IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS_TERZI') BEGIN DELETE FROM C6StoricoPeriodico.ASSETCLASS_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ASSETCLASS_TERZI (ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB) SELECT AT.ID_ASSETCLASS, AT.COD_ISIN, AT.COD_MAF, AT.COD_ADEGUATEZZA, AT.ID_ELAB, AT.TIPO_ELAB FROM C6MartPeriodico.ASSETCLASS_TERZI AT LEFT OUTER JOIN C6StoricoPeriodico.ASSETCLASS_TERZI SAT ON AT.ID_ASSETCLASS = SAT.ID_ASSETCLASS WHERE AT.ID_ELAB = @ID_ELAB AND SAT.ID_ASSETCLASS IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA_ALTO XXXXXXXXXXXXXXXXXXXXXXXX-- -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA_ALTO') -- BEGIN -- DELETE FROM C6StoricoPeriodico.CLIENTI_CON_RNA_ALTO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB -- INSERT INTO C6StoricoPeriodico.CLIENTI_CON_RNA_ALTO -- ([Rete] -- ,[CodicePB] -- ,[CodiceFiscale] -- ,[Percentuale] -- ,[DataCalcolo] -- , ID_ELAB) -- SELECT -- [Rete] -- ,[CodicePB] -- ,[CodiceFiscale] -- ,[Percentuale] -- ,[DataCalcolo] -- , @ID_ELAB -- FROM C6MartPeriodico.CLIENTI_CON_RNA_ALTO -- END --XXXXXXXXXXXXXXXXXXXXXXXX CODICI_PROMOTORI_FITTIZI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CODICI_PROMOTORI_FITTIZI') BEGIN DELETE FROM C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI (Rete, CodiceDA, CodiceA, ID_ELAB) SELECT CPF.Rete, CPF.CodiceDA, CPF.CodiceA, @ID_ELAB FROM C6MartPeriodico.CODICI_PROMOTORI_FITTIZI CPF LEFT OUTER JOIN C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI SCPF ON CPF.Rete = SCPF.Rete AND CPF.CodiceDA = SCPF.CodiceDA AND CPF.CodiceA = SCPF.COdiceA WHERE SCPF.Rete IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_RISCHIO') BEGIN DELETE FROM C6StoricoPeriodico.CODIFICA_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.CODIFICA_RISCHIO (PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB) SELECT CR.PROFILO, CR.DESCRIZIONE, CR.MIN_VAR, CR.MAX_VAR, CR.ID_ELAB FROM C6MartPeriodico.CODIFICA_RISCHIO CR LEFT OUTER JOIN C6StoricoPeriodico.CODIFICA_RISCHIO SCR ON CR.PROFILO = SCR.PROFILO WHERE CR.ID_ELAB = @ID_ELAB AND SCR.PROFILO IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX CONGELAMENTO_SEI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CONGELAMENTO_SEI') BEGIN DELETE FROM C6StoricoPeriodico.CONGELAMENTO_SEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.CONGELAMENTO_SEI (DATA_CONGELAMENTO, ID_ELAB) SELECT CS.DATA_CONGELAMENTO, CS.ID_ELAB FROM C6MartPeriodico.CONGELAMENTO_SEI CS LEFT OUTER JOIN C6StoricoPeriodico.CONGELAMENTO_SEI SCS ON CS.DATA_CONGELAMENTO = SCS.DATA_CONGELAMENTO WHERE CS.ID_ELAB = @ID_ELAB AND SCS.DATA_CONGELAMENTO IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX CONO_PIANIFICAZIONE XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO_PIANIFICAZIONE') BEGIN DELETE FROM C6StoricoPeriodico.CONO_PIANIFICAZIONE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.CONO_PIANIFICAZIONE (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CONO, SCENARIO_PESSIMISTICO, SCENARIO_MEDIO, SCENARIO_OTTIMISTICO, ID_ELAB) SELECT CP.RETE, CP.COD_FISCALE, CP.ID_AREA, CP.NOME_PROGETTO, CP.DATA_CONO, CP.SCENARIO_PESSIMISTICO, CP.SCENARIO_MEDIO, CP.SCENARIO_OTTIMISTICO, CP.ID_ELAB FROM C6MartPeriodico.CONO_PIANIFICAZIONE CP LEFT OUTER JOIN C6StoricoPeriodico.CONO_PIANIFICAZIONE SCP ON CP.RETE = SCP.RETE AND CP.COD_FISCALE = SCP.COD_FISCALE AND CP.ID_AREA = SCP.ID_AREA AND CP.NOME_PROGETTO = SCP.NOME_PROGETTO AND CP.DATA_CONO = SCP.DATA_CONO WHERE CP.ID_ELAB = @ID_ELAB AND SCP.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX DATI_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- -- IF(@NomeTabella IS NULL OR @NomeTabella = 'DATI_REPORT') -- BEGIN -- DELETE FROM C6StoricoPeriodico.DATI_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB -- INSERT INTO C6StoricoPeriodico.DATI_REPORT -- (RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB) -- SELECT -- RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB -- FROM C6MartPeriodico.DATI_REPORT WHERE ID_ELAB = @ID_ELAB -- END --XXXXXXXXXXXXXXXXXXXXXXXX DETTAGLIO_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'DETTAGLIO_ASUL') BEGIN DELETE FROM C6StoricoPeriodico.DETTAGLIO_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.DETTAGLIO_ASUL (RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB) SELECT DA.RETE, DA.COD_FISCALE, DA.COD_PRODOTTO, DA.ID_CONTRATTO, DA.COD_SOTTOPRODOTTO, DA.COD_INTERNO, DA.CTV, DA.DATA_RIF, DA.COD_ISIN_FITTIZIO, DA.COD_ISIN_SOTT, DA.COD_MAF_SOTT, DA.ID_ELAB, DA.TIPO_ELAB FROM C6MartPeriodico.DETTAGLIO_ASUL DA LEFT OUTER JOIN C6StoricoPeriodico.DETTAGLIO_ASUL SDA ON DA.RETE = SDA.RETE AND DA.COD_FISCALE = SDA.COD_FISCALE AND DA.COD_PRODOTTO = SDA.COD_PRODOTTO AND DA.ID_CONTRATTO = SDA.ID_CONTRATTO AND DA.COD_SOTTOPRODOTTO = SDA.COD_SOTTOPRODOTTO AND DA.COD_INTERNO = SDA.COD_INTERNO AND DA.CTV = SDA.CTV AND DA.DATA_RIF = SDA.DATA_RIF AND DA.COD_ISIN_FITTIZIO = SDA.COD_ISIN_FITTIZIO AND DA.COD_ISIN_SOTT = SDA.COD_ISIN_SOTT AND DA.COD_MAF_SOTT = SDA.COD_MAF_SOTT WHERE DA.ID_ELAB = @ID_ELAB AND SDA.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI') BEGIN DELETE FROM C6StoricoPeriodico.ELABORAZIONI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.ELABORAZIONI (ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE) SELECT E.ID_ELAB, E.TIPO_ELAB, E.DATA_OPERAZIONE FROM C6MartPeriodico.ELABORAZIONI E LEFT OUTER JOIN C6StoricoPeriodico.ELABORAZIONI SE ON E.ID_ELAB = SE.ID_ELAB WHERE E.ID_ELAB = @ID_ELAB AND SE.ID_ELAB IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI_EMAIL_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI_EMAIL_RNA') -- BEGIN -- DELETE FROM C6StoricoPeriodico.ELABORAZIONI_EMAIL_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB -- INSERT INTO C6StoricoPeriodico.ELABORAZIONI_EMAIL_RNA -- ([Data_Elaborazione],[ID_ELAB]) -- SELECT -- [Data_Elaborazione],@ID_ELAB -- FROM C6MartPeriodico.ELABORAZIONI_EMAIL_RNA WHERE ID_ELAB = @ID_ELAB -- END --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_PB XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_PB') BEGIN DELETE FROM C6StoricoPeriodico.EMAIL_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.EMAIL_PB (RETE, CODICE, PREFISSO, FIRMA, EMAIL, ID_ELAB, TIPO_ELAB) SELECT EP.RETE, EP.CODICE, EP.PREFISSO, EP.FIRMA, EP.EMAIL, EP.ID_ELAB, EP.TIPO_ELAB FROM C6MartPeriodico.EMAIL_PB EP LEFT OUTER JOIN C6StoricoPeriodico.EMAIL_PB SEP ON EP.FIRMA = SEP.FIRMA WHERE EP.ID_ELAB = @ID_ELAB AND SEP.FIRMA IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_EMAIL') BEGIN DELETE FROM C6StoricoPeriodico.GESTIONE_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.GESTIONE_EMAIL (Email_Id, Rete, CodicePB, Tipo, Data_Generazione, Inviata, Data_Invio, ID_ELAB) SELECT GE.Email_Id, GE.Rete, GE.CodicePB, GE.Tipo, GE.Data_Generazione, GE.Inviata, GE.Data_Invio, GE.ID_ELAB FROM C6MartPeriodico.GESTIONE_EMAIL GE LEFT OUTER JOIN C6StoricoPeriodico.GESTIONE_EMAIL SGE ON GE.Email_Id = SGE.Email_Id WHERE GE.ID_ELAB = @ID_ELAB AND SGE.Email_Id IS NULL END -- --XXXXXXXXXXXXXXXXXXX GESTITA SEPARATAMENTE XXXXXXXXXXXXXXXXXXX-- -- --XXXXXXXXXXXXXXXXXXXXXXXX GLOBAL_ERROR XXXXXXXXXXXXXXXXXXXXXXXX-- -- IF(@NomeTabella IS NULL OR @NomeTabella = 'GLOBAL_ERROR') -- BEGIN -- DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB -- INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR -- (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) -- SELECT -- ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB -- FROM C6MartPeriodico.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB -- END --XXXXXXXXXXXXXXXXXXXXXXXX MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'MIFID') BEGIN DELETE FROM C6StoricoPeriodico.MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.MIFID(RETE, COD_FISCALE, PROFILO_ASS, DATA_INIZIO_VAL,ID_ELAB) SELECT M.RETE, M.COD_FISCALE, M.PROFILO_ASS, M.DATA_INIZIO_VAL, @ID_ELAB FROM C6MartPeriodico.MIFID M LEFT OUTER JOIN C6StoricoPeriodico.MIFID SM ON M.RETE = SM.RETE AND M.COD_FISCALE = SM.COD_FISCALE WHERE M.ID_ELAB = @ID_ELAB AND SM.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_ATTUALE XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_ATTUALE') BEGIN DELETE FROM C6StoricoPeriodico.MONITORAGGIO_ATTUALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.MONITORAGGIO_ATTUALE (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_ATTIVAZIONE, DATA_CTV, CTV_MONITORATO, APPORTO_INIZIALE, APPORTO_SUCCESSIVO, LIQUIDAZIONI, CEDOLE_DIVIDENDI, MINUS_PLUSVALENZA, RISORSE_ASSOCIATE, RENDIMENTO_CUMULATO, RENDIMENTO_ANNUALIZZATO, ORDINAMENTO_PROGETTO,ID_ELAB) SELECT MA.RETE, MA.COD_FISCALE, MA.ID_AREA, MA.NOME_PROGETTO, MA.DATA_ATTIVAZIONE, MA.DATA_CTV, MA.CTV_MONITORATO, MA.APPORTO_INIZIALE, MA.APPORTO_SUCCESSIVO, MA.LIQUIDAZIONI, MA.CEDOLE_DIVIDENDI, MA.MINUS_PLUSVALENZA, MA.RISORSE_ASSOCIATE, MA.RENDIMENTO_CUMULATO, MA.RENDIMENTO_ANNUALIZZATO, MA.ORDINAMENTO_PROGETTO,@ID_ELAB FROM C6MartPeriodico.MONITORAGGIO_ATTUALE MA LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_ATTUALE SMA ON MA.RETE = SMA.RETE AND MA.COD_FISCALE = SMA.COD_FISCALE AND MA.ID_AREA = SMA.ID_AREA AND MA.NOME_PROGETTO = SMA.NOME_PROGETTO WHERE SMA.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_DETTAGLIO XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_DETTAGLIO') BEGIN DELETE FROM C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO (RETE, COD_FISCALE, POSITION_ID, ID_AREA, DATA_ASSOCIAZIONE, VERSATO_NETTO_DA_ASSOC, UTILE_PERDITA_DA_ASSOC, ID_ELAB) SELECT MD.RETE, MD.COD_FISCALE, MD.POSITION_ID, MD.ID_AREA, MD.DATA_ASSOCIAZIONE, MD.VERSATO_NETTO_DA_ASSOC, MD.UTILE_PERDITA_DA_ASSOC, @ID_ELAB FROM C6MartPeriodico.MONITORAGGIO_DETTAGLIO MD LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO SMD ON MD.RETE = SMD.RETE AND MD.COD_FISCALE = SMD.COD_FISCALE AND MD.POSITION_ID = SMD.POSITION_ID WHERE SMD.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_INIZIALE XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_INIZIALE') BEGIN DELETE FROM C6StoricoPeriodico.MONITORAGGIO_INIZIALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.MONITORAGGIO_INIZIALE (RETE, COD_FISCALE, DATA_FOTO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, ID_ELAB) SELECT MI.RETE, MI.COD_FISCALE, MI.DATA_FOTO, MI.CTV_TOTALE, MI.CTV_EXT, MI.CTV_INV, MI.CTV_RIS, MI.CTV_PRE, MI.CTV_LIQ, MI.CTV_CC, MI.CTV_NA, MI.PARTITA_VIAGGIANTE, MI.VAR_COMPLESSIVO, MI.VAR_COPERTURA, @ID_ELAB FROM C6MartPeriodico.MONITORAGGIO_INIZIALE MI LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_INIZIALE SMI ON MI.RETE = SMI.RETE AND MI.COD_FISCALE = SMI.COD_FISCALE AND MI.DATA_FOTO = SMI.DATA_FOTO WHERE SMI.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_REPORT') BEGIN DELETE FROM C6StoricoPeriodico.MONITORAGGIO_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.MONITORAGGIO_REPORT (RETE, COD_FISCALE, DATA_INVIO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, ID_ELAB) SELECT MR.RETE, MR.COD_FISCALE, MR.DATA_INVIO, MR.CTV_TOTALE, MR.CTV_EXT, MR.CTV_INV, MR.CTV_RIS, MR.CTV_PRE, MR.CTV_LIQ, MR.CTV_CC, MR.CTV_NA, MR.PARTITA_VIAGGIANTE, MR.VAR_COMPLESSIVO, MR.VAR_COPERTURA, @ID_ELAB FROM C6MartPeriodico.MONITORAGGIO_REPORT MR LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_REPORT SMR ON MR.RETE = SMR.RETE AND MR.COD_FISCALE = SMR.COD_FISCALE AND MR.DATA_INVIO = SMR.DATA_INVIO WHERE SMR.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_STORICO XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_STORICO') BEGIN DELETE FROM C6StoricoPeriodico.MONITORAGGIO_STORICO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.MONITORAGGIO_STORICO (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CTV, CTV_MONITORATO, RISORSE_ASSOCIATE, ID_ELAB) SELECT MS.RETE, MS.COD_FISCALE, MS.ID_AREA, MS.NOME_PROGETTO, MS.DATA_CTV, MS.CTV_MONITORATO, MS.RISORSE_ASSOCIATE, @ID_ELAB FROM C6MartPeriodico.MONITORAGGIO_STORICO MS LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_STORICO SMS ON MS.RETE = SMS.RETE AND MS.COD_FISCALE = SMS.COD_FISCALE AND MS.ID_AREA = SMS.ID_AREA AND MS.NOME_PROGETTO = SMS.NOME_PROGETTO AND MS.DATA_CTV = SMS.DATA_CTV WHERE SMS.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX PARTITE_VIAGGIANTI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PARTITE_VIAGGIANTI') BEGIN DELETE FROM C6StoricoPeriodico.PARTITE_VIAGGIANTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.PARTITE_VIAGGIANTI (RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB) SELECT PV.RETE, PV.COD_FISCALE, PV.IMPORTO, PV.ID_ELAB, PV.TIPO_ELAB FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV LEFT OUTER JOIN C6StoricoPeriodico.PARTITE_VIAGGIANTI SPV ON PV.RETE = SPV.RETE AND PV.COD_FISCALE = SPV.COD_FISCALE WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_ALTRO XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_ALTRO') BEGIN DELETE FROM C6StoricoPeriodico.PATRIMONIO_ALTRO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.PATRIMONIO_ALTRO (RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB) SELECT PA.RETE, PA.COD_FISCALE, PA.QUANTITA, PA.DESCRIZIONE, PA.CTV, PA.ID_ELAB, PA.TIPO_ELAB FROM C6MartPeriodico.PATRIMONIO_ALTRO PA LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_ALTRO SPA ON PA.RETE = SPA.RETE AND PA.COD_FISCALE = SPA.COD_FISCALE AND PA.QUANTITA = SPA.QUANTITA AND PA.DESCRIZIONE = SPA.DESCRIZIONE AND PA.CTV = SPA.CTV WHERE PA.ID_ELAB = @ID_ELAB AND SPA.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_BF XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_BF') BEGIN DELETE FROM C6StoricoPeriodico.PATRIMONIO_BF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.PATRIMONIO_BF (RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, REND_NON_RAPPR, ORDINAMENTO_PROGETTO, EXTRANAC, ID_ELAB, TIPO_ELAB) SELECT PB.RETE, PB.COD_FISCALE, PB.POSITION_ID, PB.COD_PRODOTTO, PB.ID_CONTRATTO, PB.DATA_SOTTOSCRIZIONE, PB.COD_STATO, PB.NUM_POLIZZA, PB.COD_MAF, PB.COD_INTERNO, PB.COD_SOTTOPRODOTTO, PB.TIPO_PRODOTTO, PB.NOME_PROGETTO, PB.ID_AREA, PB.DATA_OPERAZIONE, PB.DATA_VALUTA, PB.DATA_REGOLAMENTO, PB.QUANTITA, PB.PREZZO, PB.CTV, PB.CTV_NOMINALE, PB.VERSATO_NETTO, PB.PARTVIA_DISINV, PB.DATA_PARTVIA_DISINV, PB.PARTVIA_INV, PB.REND_SOTTOSCRIZIONE, PB.REND_TRIMESTRE, PB.REND_ANNO, PB.REND_NON_RAPPR, PB.ORDINAMENTO_PROGETTO, PB.EXTRANAC, PB.ID_ELAB, PB.TIPO_ELAB FROM C6MartPeriodico.PATRIMONIO_BF PB LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_BF SPB ON PB.RETE = SPB.RETE AND PB.COD_FISCALE = SPB.COD_FISCALE AND PB.POSITION_ID = SPB.POSITION_ID WHERE PB.ID_ELAB = @ID_ELAB AND SPB.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_IMMOBILIARE XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_IMMOBILIARE') BEGIN DELETE FROM C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE (RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) SELECT PI.RETE, PI.COD_FISCALE, PI.DESCRIZIONE, PI.TIPOLOGIA, PI.LOCALITA, PI.PROVINCIA, PI.CAP, PI.NAZIONE, PI.VALORE_STIMATO, PI.AFFITTO, PI.NOTE, PI.DIV_RIFERIMENTO, PI.CAMBIO, PI.ID_ELAB, PI.TIPO_ELAB FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE PI LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE SPI ON PI.RETE = SPI.RETE AND PI.COD_FISCALE = SPI.COD_FISCALE AND PI.DESCRIZIONE = SPI.DESCRIZIONE AND PI.TIPOLOGIA = SPI.TIPOLOGIA AND PI.LOCALITA = SPI.LOCALITA AND PI.PROVINCIA = SPI.PROVINCIA AND PI.CAP = SPI.CAP AND PI.NAZIONE = PI.NAZIONE AND PI.VALORE_STIMATO = SPI.VALORE_STIMATO AND PI.AFFITTO = SPI.AFFITTO AND PI.NOTE = SPI.NOTE AND PI.DIV_RIFERIMENTO = SPI.DIV_RIFERIMENTO AND PI.CAMBIO = SPI.CAMBIO WHERE PI.ID_ELAB = @ID_ELAB AND SPI.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_TERZI') BEGIN DELETE FROM C6StoricoPeriodico.PATRIMONIO_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.PATRIMONIO_TERZI (RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB) SELECT PT.RETE, PT.COD_FISCALE, PT.NUM_POLIZZA, PT.TIPO_POLIZZA, PT.TIPO_PRODOTTO, PT.TIPO_PRODOTTO2, PT.COD_PRODOTTO, PT.COD_PRODOTTO_TERZI, PT.INTERMEDIARIO, PT.DATA_SOTTOSCRIZIONE, PT.DATA_SCADENZA, PT.FREQ_RATA, PT.DURATA_POLIZZA, PT.PREMIO, PT.ALIQUOTA, PT.DATA_SOTT_FP, PT.DATA_REGOLAMENTO, PT.QUANTITA, PT.PREZZO, PT.CTV, PT.VERSATO_NETTO, PT.DIV_REGOLAMENTO, PT.CAMBIO, PT.DESCR_GRUPPO_PRODOTTO, PT.ID_ELAB, PT.TIPO_ELAB FROM C6MartPeriodico.PATRIMONIO_TERZI PT LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_TERZI SPT ON PT.RETE = SPT.RETE AND PT.COD_FISCALE = SPT.COD_FISCALE AND PT.COD_PRODOTTO = SPT.COD_PRODOTTO AND PT.COD_PRODOTTO_TERZI = SPT.COD_PRODOTTO_TERZI WHERE PT.ID_ELAB = @ID_ELAB AND SPT.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_MOD XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_MOD') BEGIN DELETE FROM C6StoricoPeriodico.PIRAMIDE_MOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.PIRAMIDE_MOD (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB) SELECT PM.RETE, PM.COD_FISCALE, PM.ID_AREA, PM.NOME_PROGETTO, PM.TIPO_PROGETTO, PM.PERC_AREA, PM.CTV_PROGETTO, PM.CTV_AREA, PM.ORIZZ_TEMP, PM.CTV_TOTALE, PM.STATO_CONSULENZA, PM.DATA_STATO_CONS, PM.DATA_MIGR_CONS, PM.ID_CONTRATTO, PM.ID_ELAB, PM.TIPO_ELAB FROM C6MartPeriodico.PIRAMIDE_MOD PM LEFT OUTER JOIN C6StoricoPeriodico.PIRAMIDE_MOD SPM ON PM.RETE = SPM.RETE AND PM.COD_FISCALE = SPM.COD_FISCALE AND PM.ID_AREA = SPM.ID_AREA AND PM.NOME_PROGETTO = SPM.NOME_PROGETTO WHERE PM.ID_ELAB = @ID_ELAB AND SPM.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_VERT XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_VERT') BEGIN DELETE FROM C6StoricoPeriodico.PIRAMIDE_VERT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.PIRAMIDE_VERT (RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB) SELECT PV.RETE, PV.COD_FISCALE, PV.ID_AREA, PV.CTV_AREA, PV.ID_ELAB, PV.TIPO_ELAB FROM C6MartPeriodico.PIRAMIDE_VERT PV LEFT OUTER JOIN C6StoricoPeriodico.PIRAMIDE_VERT SPV ON PV.RETE = SPV.RETE AND PV.COD_FISCALE = SPV.COD_FISCALE AND PV.ID_AREA = SPV.ID_AREA WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_AGGREGATO XXXXXXXXXXXXXXXXXXXXXXXX-- IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_AGGREGATO') BEGIN DELETE FROM C6StoricoPeriodico.RISCHIO_AGGREGATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB INSERT INTO C6StoricoPeriodico.RISCHIO_AGGREGATO (RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB) SELECT RA.RETE, RA.COD_FISCALE, RA.COD_AGGREG, RA.VAR_ASSOLUTO_PTF, RA.VAR_PERC_PTF, RA.CVAR_ASSOLUTO_PTF, RA.CVAR_PERC_PTF, RA.MCVAR, RA.MCVARP, RA.BENEFICIO, RA.COPERTURA, RA.CTV_AGGREG, RA.ID_ELAB, RA.TIPO_ELAB FROM C6MartPeriodico.RISCHIO_AGGREGATO RA LEFT OUTER JOIN C6StoricoPeriodico.RISCHIO_AGGREGATO SRA ON RA.RETE = SRA.RETE AND RA.COD_FISCALE = SRA.COD_FISCALE AND RA.COD_AGGREG = SRA.COD_AGGREG WHERE RA.ID_ELAB = @ID_ELAB AND SRA.RETE IS NULL END --XXXXXXXXXXXXXXXXXXXXXXXX STRUTTURA_RETE XXXXXXXXXXXXXXXXXXXXXXXX-- -- IF(@NomeTabella IS NULL OR @NomeTabella = 'STRUTTURA_RETE') -- BEGIN -- DELETE FROM C6StoricoPeriodico.STRUTTURA_RETE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB -- INSERT INTO C6StoricoPeriodico.STRUTTURA_RETE -- (Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB) -- SELECT -- Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB -- FROM C6MartPeriodico.STRUTTURA_RETE WHERE ID_ELAB = @ID_ELAB -- END -- XX -- XX -- XX -- XX AGGIORNAMENTO DATI C6MartPeriodico.TabelleStoricizzate XX -- XX -- XX -- XX -- IF(@NomeTabella IS NOT NULL) BEGIN UPDATE C6MartPeriodico.TabelleStoricizzate SET FINE = GETDATE(), DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) WHERE NOME = @NomeTabella END END