-- =============================================
-- Author:		paolo giovanetti
-- Create date: 6 marzo 2009
-- Description:	storicizzazione STAGING
-- =============================================
CREATE procedure [C6StagingPeriodico].[SRV_STORICIZZAZIONE]
	@NomeTabella 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 espresso in giorni
	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 TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
	--XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH
		(OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB)
		SELECT 
		 ACBDENOTH.OID$, ACBDENOTH.VERSION$, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID$_PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB
		FROM C6StagingPeriodico.ACBDENOTH
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENOTH
			ON ACBDENOTH.OID$ = ST_ACBDENOTH.OID$
		WHERE ST_ACBDENOTH.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY
		(OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB)
		SELECT 
		 ACBDENTRY.OID$, ACBDENTRY.VERSION$, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID$_PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB
		FROM C6StagingPeriodico.ACBDENTRY
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENTRY
			ON ACBDENTRY.OID$ = ST_ACBDENTRY.OID$
		WHERE ST_ACBDENTRY.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ADBKBASE
		(OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB)
		SELECT 
		 ADBKBASE.OID$, ADBKBASE.VERSION$, ADBKBASE.ADBKID, ADBKBASE.INSTID, ADBKBASE.C_ADBKBASE_L_69013, ADBKBASE.TYPE$_ADBKST_AC419, ADBKBASE.C_CLIENTNAME_1A67C, ADBKBASE.C_CLIENTNAME_1E844, ADBKBASE.F_OID$_PERSO_06FCB, ADBKBASE.C_CLIENTNAME_8B1DB, ADBKBASE.C_CLIENTNAME_B4F69, ADBKBASE.C_CLIENTNAME_EA63A, ADBKBASE.C_ADBKBASE_D_C669E, ADBKBASE.C_ADBKBASE_L_1DD83, ADBKBASE.C_ADBKBASE_L_F8E21, ADBKBASE.C_ADBKBASE_L_2805C, ADBKBASE.C_ADBKBASE_T_C94F1, ADBKBASE.F_OID$_PROFI_98D05, ADBKBASE.F_OID$_TAXRE_4AC4C, ADBKBASE.C_CURRENCYSY_36ED7, ADBKBASE.F_OID$_REFER_66AC8, ADBKBASE.C_ADBKBASE_M_AE5A8, ADBKBASE.C_ADBKBASE_A_36B89, ADBKBASE.C_CURRENCYSY_0483B, ADBKBASE.C_VALUE_506AF, ADBKBASE.F_OID$_SOURC_E66C5, ADBKBASE.F_OID$_QUALI_027C5, ADBKBASE.F_OID$_BLOCK_A4386, ADBKBASE.F_OID$_SOURC_3AA10, ADBKBASE.TYPE$_ADBKTY_20093, ADBKBASE.F_PCUSTOMGRO_9BC08, ADBKBASE.F_PENTITY_AD_29FE1, @ID_ELAB
		FROM C6StagingPeriodico.ADBKBASE
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ADBKBASE
			ON ADBKBASE.OID$ = ST_ADBKBASE.OID$
		WHERE ST_ADBKBASE.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX--
--	IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI')
--	BEGIN
--		DELETE FROM C6StoricoPeriodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
--		INSERT INTO C6StoricoPeriodico.ST_ADS4WS_PROMOTORI
--		(Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB)
--		SELECT 
--		 ADS4WS_PROMOTORI.Rete, ADS4WS_PROMOTORI.Codice, ADS4WS_PROMOTORI.Cognome, ADS4WS_PROMOTORI.Nome, ADS4WS_PROMOTORI.Prefisso, ADS4WS_PROMOTORI.Firma, ADS4WS_PROMOTORI.DataInizioCollaborazione, ADS4WS_PROMOTORI.DataFineCollaborazione, ADS4WS_PROMOTORI.DataUltimaAggiornamento, ADS4WS_PROMOTORI.CAP, ADS4WS_PROMOTORI.Citta, ADS4WS_PROMOTORI.CittaNascita, ADS4WS_PROMOTORI.DataNascita, ADS4WS_PROMOTORI.Indirizzo, ADS4WS_PROMOTORI.Provincia, ADS4WS_PROMOTORI.Telefono, ADS4WS_PROMOTORI.TelefonoAgenzia1, ADS4WS_PROMOTORI.TelefonoAgenzia2, @ID_ELAB
--		FROM C6StagingPeriodico.ADS4WS_PROMOTORI
--		LEFT OUTER JOIN C6StoricoPeriodico.ST_ADS4WS_PROMOTORI
--			ON ADS4WS_PROMOTORI.Firma = ST_ADS4WS_PROMOTORI.Firma
--		WHERE ST_ADS4WS_PROMOTORI.Firma IS NULL
--	END
-- 
--
--	IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI')
--		BEGIN
--			DELETE FROM C6Storicoperiodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
--			INSERT INTO C6Storicoperiodico.ST_ADS4WS_PROMOTORI
--			(Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB)
--			SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB 
--			FROM C6Staging.ADS4WS_PROMOTORI
-- 		END
-- 
	--XXXXXXXXXXXXXXXXXXXXXXXX AGENTBASE XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'AGENTBASE')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_AGENTBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_AGENTBASE
		(OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, ID_ELAB)
		SELECT 
		 AGENTBASE.OID$, AGENTBASE.VERSION$, AGENTBASE.AGENTBASEID, AGENTBASE.INSTID, AGENTBASE.TYPE$_AGENTT_4FF1A, AGENTBASE.AGENTBASESTATUS, AGENTBASE.CATEGORY, AGENTBASE.ROLE, AGENTBASE.COUNTRY, AGENTBASE.REGION, AGENTBASE.TAXPAYERID, AGENTBASE.C_AGENTNAME__D3943, AGENTBASE.C_AGENTNAME__B1EC3, AGENTBASE.F_OID$_PERSO_762E5, AGENTBASE.C_AGENTNAME__ABD50, AGENTBASE.C_AGENTNAME__7D056, AGENTBASE.C_AGENTNAME__722CD, AGENTBASE.LOGINID, AGENTBASE.ICEPATH, AGENTBASE.F_PAGENTBASE_7B96C, AGENTBASE.F_OID$_AGENT_DB156, AGENTBASE.F_PENTITY_AG_79C9C, @ID_ELAB
		FROM C6StagingPeriodico.AGENTBASE
		LEFT OUTER JOIN C6StoricoPeriodico.ST_AGENTBASE
			ON AGENTBASE.OID$ = ST_AGENTBASE.OID$
		WHERE ST_AGENTBASE.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET
		(CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB)
		SELECT 
		 ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO, ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN, ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF, ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA, @ID_ELAB
		FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET
			ON ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO
			AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN
			AND ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF
			AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA
		WHERE ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ALL_CF_PB
		(ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, ID_ELAB)
		SELECT 
		 ALL_CF_PB.ID_CLI, ALL_CF_PB.NOME, ALL_CF_PB.COGNOME, ALL_CF_PB.TIPO, ALL_CF_PB.AGENTE, ALL_CF_PB.CHIAVE_PB, ALL_CF_PB.CHIAVE_CLIENTE, ALL_CF_PB.NOME_CLIENTE, ALL_CF_PB.COGNOME_CLIENTE, ALL_CF_PB.CODICE_FISCALE, ALL_CF_PB.TIPO_CLIENTE, ALL_CF_PB.RETE_PB, ALL_CF_PB.CODICE_PB, ALL_CF_PB.DATA_NASCITA, ALL_CF_PB.MARITALSTATUS, ALL_CF_PB.CODICEFISCALE, @ID_ELAB
		FROM C6StagingPeriodico.ALL_CF_PB
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_PB
			ON ALL_CF_PB.ID_CLI = ST_ALL_CF_PB.ID_CLI
		WHERE ST_ALL_CF_PB.ID_CLI IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ALL_CF_STATO
		(CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB)
		SELECT 
		 ALL_CF_STATO.CF_CLIENTE, ALL_CF_STATO.RETE, ALL_CF_STATO.STATO_CONSULENZA, ALL_CF_STATO.TOTALE_RIGHE, ALL_CF_STATO.TOTALE_STATI, ALL_CF_STATO.FLAG_UTILIZZO_STATO, @ID_ELAB
		FROM C6StagingPeriodico.ALL_CF_STATO
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_STATO
			ON ALL_CF_STATO.CF_CLIENTE = ST_ALL_CF_STATO.CF_CLIENTE
			AND ALL_CF_STATO.RETE = ST_ALL_CF_STATO.RETE
		WHERE ST_ALL_CF_STATO.CF_CLIENTE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ALL_CONSUL_ASUL
		(CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB)
		SELECT 
		 ALL_CONSUL_ASUL.CODICE_FISCALE, ALL_CONSUL_ASUL.RETE, ALL_CONSUL_ASUL.NEED_AREA_ABBR_DI_AREA, ALL_CONSUL_ASUL.NEED_AREA_ESTESA_DI_AREA, ALL_CONSUL_ASUL.AREASORTORDER, ALL_CONSUL_ASUL.NOME_PROGETTO, ALL_CONSUL_ASUL.CATALOGUENAME, ALL_CONSUL_ASUL.TIPO_PROGETTO, ALL_CONSUL_ASUL.CONTRATTO, ALL_CONSUL_ASUL.OID_DI_CATITEMREF, ALL_CONSUL_ASUL.CONTROVALORE, ALL_CONSUL_ASUL.CONTROV_IN_POS_DEL_PRODOTTO, ALL_CONSUL_ASUL.STRINGONA_POS, ALL_CONSUL_ASUL.CODICEINTERNO, ALL_CONSUL_ASUL.SOTTOPRODOTTO, ALL_CONSUL_ASUL.CONTROVALORE_ASUL, ALL_CONSUL_ASUL.ID_MONITORAGGIO, ALL_CONSUL_ASUL.CATEGORIA, ALL_CONSUL_ASUL.NUOVO_OID_CAT_PER_ASSET, ALL_CONSUL_ASUL.CATEGORIA_2, ALL_CONSUL_ASUL.COLO_JOIN, @ID_ELAB
		FROM C6StagingPeriodico.ALL_CONSUL_ASUL
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CONSUL_ASUL
			ON ALL_CONSUL_ASUL.CODICE_FISCALE = ST_ALL_CONSUL_ASUL.CODICE_FISCALE
			AND ALL_CONSUL_ASUL.RETE = ST_ALL_CONSUL_ASUL.RETE
			AND ALL_CONSUL_ASUL.COLO_JOIN = ST_ALL_CONSUL_ASUL.COLO_JOIN
		WHERE ST_ALL_CONSUL_ASUL.CODICE_FISCALE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ALL_PATR_TERZI
		(CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB)
		SELECT 
		 ALL_PATR_TERZI.CHIAVE_PER_CLIENTE, ALL_PATR_TERZI.CODICE_FISCALE, ALL_PATR_TERZI.RETE_PB, ALL_PATR_TERZI.CAPITALE_INVESTITO, ALL_PATR_TERZI.CHIAVE_FNC, ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO, ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.PREMIO_VERSAMENTO, ALL_PATR_TERZI.C_VALUE_582FF, ALL_PATR_TERZI.AMMONTARE_VERSAMENTO, ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA, ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.PATRIMONIO_TERZI, ALL_PATR_TERZI.NOME_ISTITUTO, ALL_PATR_TERZI.CHIAVE_THR, ALL_PATR_TERZI.ASSETID, ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO, ALL_PATR_TERZI.NOMEPRODOTTO, ALL_PATR_TERZI.NOME_ISTITUTO_2, ALL_PATR_TERZI.INTERMEDIARIO, ALL_PATR_TERZI.DATA_SCADENZA, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ, ALL_PATR_TERZI.BALANCEDATE_DI_THR, ALL_PATR_TERZI.CHIAVE_PR_31921, ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE, ALL_PATR_TERZI.LOCALITA, ALL_PATR_TERZI.AFFITTOPERCEPITO, ALL_PATR_TERZI.CHIAVE_F87B4, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4, ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4, ALL_PATR_TERZI.ISCOVER, ALL_PATR_TERZI.TIPO_ISCOVER, ALL_PATR_TERZI.CHIAVE_E6F18, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18, ALL_PATR_TERZI.DENOMINAZIONE, ALL_PATR_TERZI.NUMEROQUOTE, ALL_PATR_TERZI.COMPANYTYPE, ALL_PATR_TERZI.CHIAVE_COMP, ALL_PATR_TERZI.COMPANYNAME, ALL_PATR_TERZI.CHIAVE_BT_49D5B, ALL_PATR_TERZI.TIPO_BT_49D5B, ALL_PATR_TERZI.CHIAVE_BT_55768, ALL_PATR_TERZI.TIPO_BT_55768, ALL_PATR_TERZI.CHIAVE_BT_B70F0, ALL_PATR_TERZI.TIPO_BT_B70F0, ALL_PATR_TERZI.CHIAVE_BT_6797A, ALL_PATR_TERZI.TIPO_BT_6797A, ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A, ALL_PATR_TERZI.CHIAVE_BT_97BEE, ALL_PATR_TERZI.TIPO_BT_97BEE, ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE, ALL_PATR_TERZI.CHIAVE_RDESCR, ALL_PATR_TERZI.TIPO_RDESCR, ALL_PATR_TERZI.DESCRIZIONE_RDESCR, ALL_PATR_TERZI.TIPOLOGIA_RDESCR, @ID_ELAB
		FROM C6StagingPeriodico.ALL_PATR_TERZI
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PATR_TERZI
			ON ALL_PATR_TERZI.CHIAVE_THR = ST_ALL_PATR_TERZI.CHIAVE_THR
		WHERE ST_ALL_PATR_TERZI.CHIAVE_THR IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ALL_POS_CONS_CAT
		(CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB)
		SELECT 
		 ALL_POS_CONS_CAT.CODICE_FISCALE, ALL_POS_CONS_CAT.RETE, ALL_POS_CONS_CAT.STATO_CONSULENZA, ALL_POS_CONS_CAT.DATA_STATO_CONSULENZA, ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS, ALL_POS_CONS_CAT.DATA_MIGRAZIONE_CONS, ALL_POS_CONS_CAT.PK_AREA, ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_AREA, ALL_POS_CONS_CAT.C_PERCENTAGE_86095, ALL_POS_CONS_CAT.C_CTVNEEDARE_EA4FB, ALL_POS_CONS_CAT.PK_PRC, ALL_POS_CONS_CAT.TIPO_PROGETTO, ALL_POS_CONS_CAT.ID_MONITORAGGIO, ALL_POS_CONS_CAT.NOME_PROGETTO, ALL_POS_CONS_CAT.C_PROJECTCTV_39520, ALL_POS_CONS_CAT.C_PROJECTOUT_9CFB8, ALL_POS_CONS_CAT.C_RISORSELIQ_DF807, ALL_POS_CONS_CAT.C_INVESTIMEN_60625, ALL_POS_CONS_CAT.CONTROVALORE_PER_INV, ALL_POS_CONS_CAT.PERCENTUALE_MODELLO, ALL_POS_CONS_CAT.C_PERCENTUAL_12346, ALL_POS_CONS_CAT.DATA_ORDINAMENTO_INV, ALL_POS_CONS_CAT.CONTRATTO, ALL_POS_CONS_CAT.OID_DI_CATITEMREF, ALL_POS_CONS_CAT.C_OUTCTV_B4FB8, ALL_POS_CONS_CAT.CONTROVALORE, ALL_POS_CONS_CAT.CONTROV_IN_POS_DEL_PRODOTTO, ALL_POS_CONS_CAT.STRINGONA_POS, ALL_POS_CONS_CAT.CONTO, ALL_POS_CONS_CAT.RUBRICATO, ALL_POS_CONS_CAT.CUSTGAR, ALL_POS_CONS_CAT.NUMPOL, ALL_POS_CONS_CAT.TERMID, ALL_POS_CONS_CAT.ANNO, ALL_POS_CONS_CAT.PROG, ALL_POS_CONS_CAT.NOME_PRODOTTO, ALL_POS_CONS_CAT.NEED_AREA_ABBREVIATA_DI_POS, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_POS, ALL_POS_CONS_CAT.CHIAVE_CATITEMREF, ALL_POS_CONS_CAT.CATALOGUENAME, ALL_POS_CONS_CAT.COD_ISIN, ALL_POS_CONS_CAT.COD_MAF, ALL_POS_CONS_CAT.COD_INTERNO, ALL_POS_CONS_CAT.COD_SOTTOPRODOTTO, ALL_POS_CONS_CAT.COD_ADEGUATEZZA, ALL_POS_CONS_CAT.ALBERATURA, ALL_POS_CONS_CAT.TIPOPRODOTTO, ALL_POS_CONS_CAT.ISNEGOTIABLE, ALL_POS_CONS_CAT.MAINASSETCLASS, ALL_POS_CONS_CAT.AREASORTORDER, ALL_POS_CONS_CAT.ORIGINE_FILE_CATALOGO, ALL_POS_CONS_CAT.FLAG_PRESENZA_MAPPATURA, ALL_POS_CONS_CAT.RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB
		FROM C6StagingPeriodico.ALL_POS_CONS_CAT
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_POS_CONS_CAT
			ON ALL_POS_CONS_CAT.CODICE_FISCALE = ST_ALL_POS_CONS_CAT.CODICE_FISCALE
			AND ALL_POS_CONS_CAT.RETE = ST_ALL_POS_CONS_CAT.RETE
			AND ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS = ST_ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS
			AND ALL_POS_CONS_CAT.STRINGONA_POS = ST_ALL_POS_CONS_CAT.STRINGONA_POS
		WHERE ST_ALL_POS_CONS_CAT.CODICE_FISCALE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ALL_PROPOSTA
		(AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB)
		SELECT 
		 ALL_PROPOSTA.AGENTE, ALL_PROPOSTA.RETE, ALL_PROPOSTA.NOME_CLIENTE, ALL_PROPOSTA.COGNOME_CLIENTE, ALL_PROPOSTA.CODICEFISCALE, ALL_PROPOSTA.CHIAVE_PROPOSTA, ALL_PROPOSTA.NOME_PROPOSTA, ALL_PROPOSTA.STATO_PROPOSTA, ALL_PROPOSTA.DATA_CREAZIONE_PROPOSTA, ALL_PROPOSTA.DATA_SCADENZA_PROPOSTA, ALL_PROPOSTA.NEED_BREVE, ALL_PROPOSTA.NEED_ESTESA, ALL_PROPOSTA.ORDINE_NEED, ALL_PROPOSTA.CONTROVALORE_TOT_PER_NEED, ALL_PROPOSTA.PERC_PER_NEED, ALL_PROPOSTA.NOME_PROGETTO, ALL_PROPOSTA.CONTROV_CONSULENZA, ALL_PROPOSTA.CONTROV_PROPOSTA, ALL_PROPOSTA.CONTROV_DA_DEFINIRE_LIQ, ALL_PROPOSTA.ISANEWPOSITION, ALL_PROPOSTA.STRINGONA_CLONEPOS, ALL_PROPOSTA.NOME_PRODOTTO_CLONEPOS, ALL_PROPOSTA.INVESTI, ALL_PROPOSTA.DISINVESTI, ALL_PROPOSTA.PTF_INIZ, ALL_PROPOSTA.CTVOPERAZIONE, ALL_PROPOSTA.CONTRACTCODE, ALL_PROPOSTA.POLIZZADECIMAL, ALL_PROPOSTA.CONTO, ALL_PROPOSTA.RUBRICATO, ALL_PROPOSTA.PR_COD_ISIN, ALL_PROPOSTA.PR_COD_MAF, ALL_PROPOSTA.PR_COD_INTERNO, ALL_PROPOSTA.PR_COD_SOTTOPRODOTTO, ALL_PROPOSTA.PR_COD_ADEGUATEZZA, ALL_PROPOSTA.NOME_PRODOTTO_CATALOGO, ALL_PROPOSTA.TIPOPRODOTTO, ALL_PROPOSTA.CHIAVE_CATITEMREF, ALL_PROPOSTA.CHIAVE_PER_LA_CONSULENZA, ALL_PROPOSTA.RICONCILIATA, ALL_PROPOSTA.FLAG_PROPOSTA_PER_PROGETTO, ALL_PROPOSTA.FLAG_PROPOSTA_PER_AREA, ALL_PROPOSTA.FLAG_SALVATAGGIO_MANUALE, ALL_PROPOSTA.RAGGRUPPAMENTO_PROGETTO, @ID_ELAB
		FROM C6StagingPeriodico.ALL_PROPOSTA
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PROPOSTA
			ON ALL_PROPOSTA.CHIAVE_PROPOSTA = ST_ALL_PROPOSTA.CHIAVE_PROPOSTA
			AND ALL_PROPOSTA.STRINGONA_CLONEPOS = ST_ALL_PROPOSTA.STRINGONA_CLONEPOS
		WHERE ST_ALL_PROPOSTA.CHIAVE_PROPOSTA IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX AREEDIBISOGNO XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'AREEDIBISOGNO')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_AREEDIBISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_AREEDIBISOGNO
		(AREAID, AREANAME, AREASORTORDER, ID_ELAB)
		SELECT 
		 AREEDIBISOGNO.AREAID, AREEDIBISOGNO.AREANAME, AREEDIBISOGNO.AREASORTORDER, @ID_ELAB
		FROM C6StagingPeriodico.AREEDIBISOGNO
		LEFT OUTER JOIN C6StoricoPeriodico.ST_AREEDIBISOGNO
			ON AREEDIBISOGNO.AREAID = ST_AREEDIBISOGNO.AREAID
		WHERE ST_AREEDIBISOGNO.AREAID IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ASSET_1_E_2_ORDINATE XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_1_E_2_ORDINATE')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE
		(CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, ID_ELAB)
		SELECT 
		 ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO, ASSET_1_E_2_ORDINATE.CODICE_ISIN, ASSET_1_E_2_ORDINATE.CODICE_MAF, ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA, ASSET_1_E_2_ORDINATE.ASSETCLASSNAME, ASSET_1_E_2_ORDINATE.ORDINAMENTO_ASSET, @ID_ELAB
		FROM C6StagingPeriodico.ASSET_1_E_2_ORDINATE
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE
			ON ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO = ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO
			AND ASSET_1_E_2_ORDINATE.CODICE_ISIN = ST_ASSET_1_E_2_ORDINATE.CODICE_ISIN
			AND ASSET_1_E_2_ORDINATE.CODICE_MAF = ST_ASSET_1_E_2_ORDINATE.CODICE_MAF
			AND ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA = ST_ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA
		WHERE ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_ASSETCLASS
		(OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, ID_ELAB)
		SELECT 
		 ASSETCLASS.OID$, ASSETCLASS.VERSION$, ASSETCLASS.ASSETCLASSID, ASSETCLASS.ASSETCLASSNAME, ASSETCLASS.ASSETCLASSDESCR, ASSETCLASS.ASSETCLASSLEV, ASSETCLASS.ISRESIDUAL, ASSETCLASS.F_PASSETCLAS_2FB94, ASSETCLASS.F_OID$_ASSET_B965C, ASSETCLASS.CODICE_ISIN, ASSETCLASS.CODICE_MAF, ASSETCLASS.CODICE_ADEGUATEZZA, ASSETCLASS.ORDINE, @ID_ELAB
		FROM C6StagingPeriodico.ASSETCLASS
		LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSETCLASS
			ON ASSETCLASS.OID$ = ST_ASSETCLASS.OID$
		WHERE ST_ASSETCLASS.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_C_BO_453FB
		(OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB)
		SELECT 
		 C_BO_453FB.OID$, C_BO_453FB.C_VALUE_7BD3C, C_BO_453FB.C_DESCRIZION_93ABE, C_BO_453FB.PK_PRC, @ID_ELAB
		FROM C6StagingPeriodico.C_BO_453FB
		LEFT OUTER JOIN C6StoricoPeriodico.ST_C_BO_453FB
			ON C_BO_453FB.OID$ = ST_C_BO_453FB.OID$
		WHERE ST_C_BO_453FB.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_CATINAREA
		(OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB)
		SELECT 
		 CATINAREA.OID$, CATINAREA.VERSION$, CATINAREA.C_ISMAINNEED_9C780, CATINAREA.NEEDAREAVALUE, CATINAREA.F_OID$_NEEDA_2C362, CATINAREA.F_PCATALOGUE_5D024, @ID_ELAB
		FROM C6StagingPeriodico.CATINAREA
		LEFT OUTER JOIN C6StoricoPeriodico.ST_CATINAREA
			ON CATINAREA.OID$ = ST_CATINAREA.OID$
		WHERE ST_CATINAREA.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_CATITEMREF
		(OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB)
		SELECT 
		 CATITEMREF.OID$, CATITEMREF.VERSION$, CATITEMREF.PRODUCTCURRENCY, CATITEMREF.PRODUCTCOUNTRY, CATITEMREF.PRODUCTREGION, CATITEMREF.CATALOGUEID, CATITEMREF.COD_ISIN, CATITEMREF.COD_ADEGUATEZZA, CATITEMREF.COD_MAF, CATITEMREF.COD_INTERNO, CATITEMREF.COD_SOTTOPRODOTTO, CATITEMREF.TYPE$_BCATAL_FC317, CATITEMREF.CATEGORY, CATITEMREF.INSTITUTIONS, CATITEMREF.COUNTRY, CATITEMREF.PIAZZA, CATITEMREF.ULTIMOPRZCURR, CATITEMREF.ULTIMOPRZ, CATITEMREF.CAPITALERISPARMIO, CATITEMREF.LMINCAPCONTRCURR, CATITEMREF.LMINCAPCONTR, CATITEMREF.LSUCCAPCONTRCURR, CATITEMREF.LSUCCAPCONTR, CATITEMREF.LMINRISPCONTRCURR, CATITEMREF.LMINRISPCONTR, CATITEMREF.LSUCRISPCONTRCURR, CATITEMREF.LSUCRISPCONTR, CATITEMREF.LMINCOMMCURR, CATITEMREF.LMINCOMM, CATITEMREF.DELEGAGESTIONALE, CATITEMREF.TIPOLOGIAPERPICK, CATITEMREF.EXPIRATIONDATE, CATITEMREF.RISKPRICE, CATITEMREF.FISCALREGIMENT, CATITEMREF.QUOTATO, CATITEMREF.CLASSEDIPREZZO, CATITEMREF.BONDRATING, CATITEMREF.BONDDURATION, CATITEMREF.TEMPMIN, CATITEMREF.TEMPMAX, CATITEMREF.PRIPRODCOM, CATITEMREF.MAINASSETCLASS, CATITEMREF.MACROACOBPERC, CATITEMREF.MACROACALPERC, CATITEMREF.MACROACAZPERC, CATITEMREF.MACROACMNPERC, CATITEMREF.LINEEFINACC, CATITEMREF.TIPOVERS, CATITEMREF.TIPOPOLIZRAM1, CATITEMREF.DURATACONTR, CATITEMREF.GARDEMO, CATITEMREF.RISKPRESSCAD, CATITEMREF.LIVFLUTDUR, CATITEMREF.OPZRENDVIT, CATITEMREF.METAA, CATITEMREF.METAB, CATITEMREF.METAC, CATITEMREF.RATOBBLIG, CATITEMREF.ULTIMOPREZZOCURR, CATITEMREF.ULTIMOPREZZO, CATITEMREF.DATARIFPREZZO, CATITEMREF.CODICEADB, CATITEMREF.AGGIORNFEED, CATITEMREF.DISTRPROV, CATITEMREF.CODTIPOCONTR, CATITEMREF.ULTPRZSECCURR, CATITEMREF.ULTPRZSEC, CATITEMREF.DATAULTPRZSEC, CATITEMREF.CODBLOOMBERG, CATITEMREF.DENOMUNITLNK, CATITEMREF.TIPOPRODOTTO, CATITEMREF.GENERICDATA, CATITEMREF.GENERICCURCURR, CATITEMREF.GENERICCUR, CATITEMREF.GENERICSTRING1, CATITEMREF.GENERICSTRING2, CATITEMREF.CATALOGUENAME, CATITEMREF.EFFECTIVEFROM, CATITEMREF.EFFECTIVETO, CATITEMREF.PRODUCTSTATUS, CATITEMREF.ISVISIBLE, CATITEMREF.ISNEGOTIABLE, CATITEMREF.BRIEFDESCRIPTION, CATITEMREF.F_OID$_VAR_CDDF8, CATITEMREF.RISKPROFOFSUITCLS, CATITEMREF.OPINION, CATITEMREF.OPINIONDATE, CATITEMREF.F_OID$_CATAL_B3E14, CATITEMREF.F_OID$_PCATE_F3BF6, CATITEMREF.F_OID$_MAINA_76C35, CATITEMREF.F_OID$_INSTR_B5526, CATITEMREF.F_OID$_MAINS_5FCE5, CATITEMREF.F_OID$_MAINR_08A23, CATITEMREF.F_OID$_PRISK_AAC57, CATITEMREF.F_OID$_PRODU_F8FBB, CATITEMREF.F_OID$_MARKE_F3D2D, CATITEMREF.COLL_SKANDIA, CATITEMREF.CODASSETSAT, @ID_ELAB
		FROM C6StagingPeriodico.CATITEMREF
		LEFT OUTER JOIN C6StoricoPeriodico.ST_CATITEMREF
			ON CATITEMREF.OID$ = ST_CATITEMREF.OID$
		WHERE ST_CATITEMREF.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA XXXXXXXXXXXXXXXXXXXXXXXX--
	--	IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA')
	--	BEGIN
	--		DELETE FROM C6StoricoPeriodico.ST_CLIENTI_CON_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
	--		INSERT INTO C6StoricoPeriodico.ST_CLIENTI_CON_RNA
	--           ([Rete]
	--           ,[CodicePB]
	--           ,[CodiceFiscale]
	--           ,[Percentuale]
	--           ,[DataCalcolo]
	--		   ,ID_ELAB)
	--		SELECT [Rete]
	--           ,[CodicePB]
	--           ,[CodiceFiscale]
	--           ,[Percentuale]
	--           ,[DataCalcolo]
	--		   ,@ID_ELAB ID_ELAB
	--		FROM C6StagingPeriodico.CLIENTI_CON_RNA
	--	END
	--XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_CONO
		(OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB)
		SELECT 
		 CONO.OID$, CONO.VERSION$, CONO.C_DATA_FD2A6, CONO.C_QUANTILE5_BF710, CONO.C_QUANTILE95_0D6CE, CONO.F_PPROJECT_P_46507, CONO.C_QUANTILE50_C47E0, @ID_ELAB
		FROM C6StagingPeriodico.CONO
		LEFT OUTER JOIN C6StoricoPeriodico.ST_CONO
			ON CONO.OID$ = ST_CONO.OID$
		WHERE ST_CONO.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_CONSAREA
		(OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB)
		SELECT 
		 CONSAREA.OID$, CONSAREA.VERSION$, CONSAREA.F_PCONSULENZ_7FBE3, CONSAREA.C_CONSULENZA_A58F3, CONSAREA.C_CONSULENZA_E94E3, CONSAREA.C_NEEDAREA_V_46360, CONSAREA.C_NEEDAREA_D_911D8, CONSAREA.C_CTVNEEDARE_EA4FB, CONSAREA.C_PERCENTAGE_86095, CONSAREA.C_OUTCTV_A27B5, CONSAREA.C_PATRIMONIO_F4B8E, CONSAREA.C_INVESTIMEN_AC24C, CONSAREA.C_CONSULENZA_0C219, CONSAREA.C_CONSULENZA_1C9D3, @ID_ELAB
		FROM C6StagingPeriodico.CONSAREA
		LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSAREA
			ON CONSAREA.OID$ = ST_CONSAREA.OID$
		WHERE ST_CONSAREA.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_CONSUL
		(OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB)
		SELECT 
		 CONSUL.OID$, CONSUL.VERSION$, CONSUL.C_CONSULENZA_EBDBE, CONSUL.ADBKID, CONSUL.INSTID, CONSUL.TYPE$_TIPOCO_1EA7C, CONSUL.C_CONTROVALO_C57EE, CONSUL.C_PATRIMONIO_0BF30, CONSUL.C_ALTROPATRI_E90EF, CONSUL.C_ALTRO_5AD86, CONSUL.C_DATAINIZIO_35C15, CONSUL.C_RISORSENON_A04BD, CONSUL.C_INVESTIMEN_C4514, CONSUL.C_INVESTIMEN_36DE3, CONSUL.C_IDQUESTION_5549B, CONSUL.C_DATAQUESTI_5069A, CONSUL.C_VARCONSOB_28C92, CONSUL.C_VALORIALLI_0CA23, CONSUL.C_DATAPIRAMI_661DA, CONSUL.C_DATACONSVE_D3DE3, CONSUL.C_DATACONSOR_EA88E, CONSUL.C_PROFILOCON_81F5D, CONSUL.C_DATAMIGRAZ_BF705, CONSUL.C_SALVADANAI_B156A, CONSUL.C_CONSULENZA_2C1E1, CONSUL.C_DATACONSVE_66B66, CONSUL.C_DATACAMBIO_79509, @ID_ELAB
		FROM C6StagingPeriodico.CONSUL
		LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSUL
			ON CONSUL.OID$ = ST_CONSUL.OID$
		WHERE ST_CONSUL.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_INDREND
		(OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB)
		SELECT 
		 INDREND.OID$, INDREND.VERSION$, INDREND.C_VAR_A94EA, INDREND.C_TEMPOINVES_CE300, INDREND.C_COPERTURA_94818, INDREND.C_PERDITAMAX_F5B51, @ID_ELAB
		FROM C6StagingPeriodico.INDREND
		LEFT OUTER JOIN C6StoricoPeriodico.ST_INDREND
			ON INDREND.OID$ = ST_INDREND.OID$
		WHERE ST_INDREND.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_INSTRBDS
		(OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, ID_ELAB)
		SELECT 
		 INSTRBDS.OID$, INSTRBDS.VERSION$, INSTRBDS.BDISIN, INSTRBDS.BDMAF, INSTRBDS.F_OID$_PCATA_5DDA6, INSTRBDS.PROVENIENZA, @ID_ELAB
		FROM C6StagingPeriodico.INSTRBDS
		LEFT OUTER JOIN C6StoricoPeriodico.ST_INSTRBDS
			ON INSTRBDS.OID$ = ST_INSTRBDS.OID$
		WHERE ST_INSTRBDS.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_NEEDAREA
		(OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB)
		SELECT 
		 NEEDAREA.OID$, NEEDAREA.VERSION$, NEEDAREA.AREAID, NEEDAREA.AREANAME, NEEDAREA.EFFECTIVEFROM, NEEDAREA.EFFECTIVETO, NEEDAREA.BRIEFDESCRIPTION, NEEDAREA.F_PNEEDAREA__742D7, NEEDAREA.AREASORTORDER, @ID_ELAB
		FROM C6StagingPeriodico.NEEDAREA
		LEFT OUTER JOIN C6StoricoPeriodico.ST_NEEDAREA
			ON NEEDAREA.OID$ = ST_NEEDAREA.OID$
		WHERE ST_NEEDAREA.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX NOME_PROGETTO_BOZZA XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'NOME_PROGETTO_BOZZA')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA
		(ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, ID_ELAB)
		SELECT 
		 NOME_PROGETTO_BOZZA.ADBKID, NOME_PROGETTO_BOZZA.INSTID, NOME_PROGETTO_BOZZA.NUOVO_NOME_PROGETTO, NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22, NOME_PROGETTO_BOZZA.NEEDAREA, @ID_ELAB
		FROM C6StagingPeriodico.NOME_PROGETTO_BOZZA
		LEFT OUTER JOIN C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA
			ON NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 = ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22
		WHERE ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_OTHINTRST
		(OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB)
		SELECT 
		 OTHINTRST.OID$, OTHINTRST.VERSION$, OTHINTRST.INTERESTDESC, OTHINTRST.INTERESTCUR, OTHINTRST.INTERESTAMT, OTHINTRST.F_PQUANTIFIC_76FF6, @ID_ELAB
		FROM C6StagingPeriodico.OTHINTRST
		LEFT OUTER JOIN C6StoricoPeriodico.ST_OTHINTRST
			ON OTHINTRST.OID$ = ST_OTHINTRST.OID$
		WHERE ST_OTHINTRST.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX PHOTO_DATA XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'PHOTO_DATA')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_PHOTO_DATA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_PHOTO_DATA
		(OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, ID_ELAB)
		SELECT 
		 PHOTO_DATA.OID_, PHOTO_DATA.VERSION_, PHOTO_DATA.ADBKID, PHOTO_DATA.INSTID, PHOTO_DATA.C_DATAREQ_EB2B5, PHOTO_DATA.TYPE__TYPE_7CAB6, PHOTO_DATA.TYPE__STATUS_1E30E, PHOTO_DATA.C_DATASALVAT_D40E3, PHOTO_DATA.C_CTVINV_990D8, PHOTO_DATA.C_CTVRIS_43FEA, PHOTO_DATA.C_CTVLIQ_54D1B, PHOTO_DATA.C_CTVPRE_A0E49, PHOTO_DATA.C_CTVEXT_34DCC, PHOTO_DATA.C_CTVCC_E242D, PHOTO_DATA.C_CTVNA_473EA, PHOTO_DATA.C_VAR_16494, PHOTO_DATA.C_COPVAR_5C6E5, @ID_ELAB
		FROM C6StagingPeriodico.PHOTO_DATA
		LEFT OUTER JOIN C6StoricoPeriodico.ST_PHOTO_DATA
			ON PHOTO_DATA.OID_ = ST_PHOTO_DATA.OID_
		WHERE ST_PHOTO_DATA.OID_ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_PORTMOD
		(OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB)
		SELECT 
		 PORTMOD.OID$, PORTMOD.VERSION$, PORTMOD.F_PPROJECT_P_EE748, PORTMOD.C_ASSET_CD02D, PORTMOD.C_PERCENTUAL_143B7, @ID_ELAB
		FROM C6StagingPeriodico.PORTMOD
		LEFT OUTER JOIN C6StoricoPeriodico.ST_PORTMOD
			ON PORTMOD.OID$ = ST_PORTMOD.OID$
		WHERE ST_PORTMOD.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_POSITION
		(OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB)
		SELECT 
		 POSITION.OID$, POSITION.VERSION$, POSITION.F_PCONSULENZ_56F23, POSITION.POSITIONID, POSITION.CONSULENZAID, POSITION.TYPE$_CATALO_35E2A, POSITION.POSITIONNAME, POSITION.CONTROVALORE, POSITION.C_OUTCTV_B4FB8, POSITION.C_NEEDAREASE_3D485, POSITION.C_NEEDAREASE_30873, POSITION.CATALOGUEITEMID, POSITION.F_OID$_POSIT_00526, POSITION.F_PPROJECT_P_B5629, POSITION.CTVINIZIALE, @ID_ELAB
		FROM C6StagingPeriodico.POSITION
		LEFT OUTER JOIN C6StoricoPeriodico.ST_POSITION
			ON POSITION.OID$ = ST_POSITION.OID$
		WHERE ST_POSITION.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_PRCONSUL
		(OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB)
		SELECT 
		 PRCONSUL.OID$, PRCONSUL.VERSION$, PRCONSUL.F_PCONSULENZ_B69E4, PRCONSUL.C_PROJECTID_9894C, PRCONSUL.C_CONSULENZA_CB331, PRCONSUL.C_CONSULENZA_A7FC6, PRCONSUL.NEEDAREAID, PRCONSUL.TYPE$_PROJEC_14674, PRCONSUL.C_PROJECTNAM_11D1A, PRCONSUL.C_PROJECTCTV_39520, PRCONSUL.C_PROJECTOUT_9CFB8, PRCONSUL.C_RISORSELIQ_DF807, PRCONSUL.C_CREATIONDA_732BD, PRCONSUL.C_LASTMODIFI_3BF4A, PRCONSUL.C_INVESTIMEN_60625, PRCONSUL.F_OID$_FREQU_A5FAB, PRCONSUL.C_IMPORTOPER_7A987, PRCONSUL.F_OID$_RISKP_9CF4A, PRCONSUL.F_OID$_ORIZZ_4A868, PRCONSUL.C_PERDITAAVV_D414B, PRCONSUL.C_PERDITAMAX_55078, PRCONSUL.C_GUADAGNOAV_2BD07, PRCONSUL.C_GUADAGNOMA_D14C4, PRCONSUL.C_RISERVENON_CCD2D, PRCONSUL.C_RISERVEMON_5E189, PRCONSUL.C_RISERVEOBB_121FA, PRCONSUL.C_RISERVEAZI_175C0, PRCONSUL.C_CONSULENZA_ACEEE, PRCONSUL.C_PROJECTIDM_1AF31, PRCONSUL.C_PROJECTIDR_51E22, PRCONSUL.C_DATAULTIMO_FFA71, PRCONSUL.C_PERDITAMAX_BEABF, PRCONSUL.C_PERDITAMAX_AAB4C, PRCONSUL.C_GUADAGNOMA_43151, PRCONSUL.C_GUADAGNOMA_0F76F, PRCONSUL.F_OID$_PROJE_CD4BB, PRCONSUL.C_NOTE_B4B97, PRCONSUL.C_PERCENTUAL_69019, PRCONSUL.C_PERCENTUAL_12346, PRCONSUL.F_OID$_RISKS_A3B54, PRCONSUL.C_ORDERTIMES_80019, @ID_ELAB
		FROM C6StagingPeriodico.PRCONSUL
		LEFT OUTER JOIN C6StoricoPeriodico.ST_PRCONSUL
			ON PRCONSUL.OID$ = ST_PRCONSUL.OID$
		WHERE ST_PRCONSUL.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_PROMETEIA_AGGR
		(Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB)
		SELECT 
		 PROMETEIA_AGGR.Rete, PROMETEIA_AGGR.CodiceFiscale, PROMETEIA_AGGR.Portafoglio, PROMETEIA_AGGR.VaRAssolutoDiPortafoglio, PROMETEIA_AGGR.VaRPercentuialeDiPortafoglio, PROMETEIA_AGGR.CVaRAssolutoDiPortafoglio, PROMETEIA_AGGR.CVaRPercentualeDiPortafoglio, PROMETEIA_AGGR.RisksizeDiPortafoglio, PROMETEIA_AGGR.McVar, PROMETEIA_AGGR.McVarP, PROMETEIA_AGGR.Beneficio, PROMETEIA_AGGR.Copertura, PROMETEIA_AGGR.Totale, @ID_ELAB
		FROM C6StagingPeriodico.PROMETEIA_AGGR
		LEFT OUTER JOIN C6StoricoPeriodico.PROMETEIA_AGGR
			ON PROMETEIA_AGGR.Rete = ST_PROMETEIA_AGGR.Rete
			AND PROMETEIA_AGGR.CodiceFiscale = ST_PROMETEIA_AGGR.CodiceFiscale
			AND PROMETEIA_AGGR.Portafoglio = ST_PROMETEIA_AGGR.Portafoglio
		WHERE ST_PROMETEIA_AGGR.Rete IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_QUANTIF
		(OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, ID_ELAB)
		SELECT 
		 QUANTIF.OID$, QUANTIF.VERSION$, QUANTIF.UPDATEDATE, QUANTIF.EXPNEEDSCUR, QUANTIF.EXPNEEDSAMT, QUANTIF.GROSSINPRIMCUR, QUANTIF.GROSSINPRIMAMT, QUANTIF.GROSSINSECCUR, QUANTIF.GROSSINSECAMT, QUANTIF.RETIREMENTYEARS, QUANTIF.STATEPENSIONCUR, QUANTIF.STATEPENSIONAMT, QUANTIF.PRIVATEPENSIONCUR, QUANTIF.PRIVATEPENSIONAMT, QUANTIF.LIFEINTERESTCUR, QUANTIF.LIFEINTERESTAMT, QUANTIF.C_FINANCIALI_8D659, QUANTIF.C_FINANCIALI_91C75, QUANTIF.INSINTERESTCUR, QUANTIF.INSINTERESTAMT, QUANTIF.INVINTERESTCUR, QUANTIF.INVINTERESTAMT, QUANTIF.REINTERESTCUR, QUANTIF.REINTERESTAMT, QUANTIF.PRIMARYGAPCUR, QUANTIF.PRIMARYGAPAMT, QUANTIF.SECONDARYGAPCUR, QUANTIF.SECONDARYGAPAMT, QUANTIF.TOCONSUMPTIONETM, QUANTIF.TOINTERESTETM, QUANTIF.LOCKPERCFRSTBRNC, QUANTIF.PRFCONSUMPTIONS, QUANTIF.PRFGROSSAMOUNT, QUANTIF.PRFPERCFRSTBRNC, QUANTIF.PRFADDRETIREMENT, QUANTIF.PRFLIFEINTEREST, QUANTIF.PRFINTERFRSTBRNC, QUANTIF.PRFINTERUNIT, QUANTIF.F_OID$_ADDRE_81D21, @ID_ELAB
		FROM C6StagingPeriodico.QUANTIF
		LEFT OUTER JOIN C6StoricoPeriodico.ST_QUANTIF
			ON QUANTIF.OID$ = ST_QUANTIF.OID$
		WHERE ST_QUANTIF.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX RMADBKROLE XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'RMADBKROLE')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_RMADBKROLE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_RMADBKROLE
		(OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, ID_ELAB)
		SELECT 
		 RMADBKROLE.OID$, RMADBKROLE.VERSION$, RMADBKROLE.F_PADDRESSBO_22C0C, RMADBKROLE.RMGROUPROLE, RMADBKROLE.F_OID$_RM_4A3B4, @ID_ELAB
		FROM C6StagingPeriodico.RMADBKROLE
		LEFT OUTER JOIN C6StoricoPeriodico.ST_RMADBKROLE
			ON RMADBKROLE.OID$ = ST_RMADBKROLE.OID$
		WHERE ST_RMADBKROLE.OID$ IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3
		(DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB)
		SELECT 
		 S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3, S4_S5_S13_TRAD_UNTIL_LIV3.ORDINAMENTO_GERARCHIA_2, @ID_ELAB
		FROM C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3
		LEFT OUTER JOIN C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3
			ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE
		WHERE ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_SPB_CONTR_SINTESI
		(POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB)
		SELECT 
		 SPB_CONTR_SINTESI.POSITIONID, SPB_CONTR_SINTESI.DTTRIM, SPB_CONTR_SINTESI.DTRIFE, SPB_CONTR_SINTESI.RETE, SPB_CONTR_SINTESI.CODFIS, SPB_CONTR_SINTESI.CODCONF, SPB_CONTR_SINTESI.NUMPOL, SPB_CONTR_SINTESI.CONTO, SPB_CONTR_SINTESI.RUBR, SPB_CONTR_SINTESI.CUSTGAR, SPB_CONTR_SINTESI.TIPPROD, SPB_CONTR_SINTESI.CODINT, SPB_CONTR_SINTESI.CODPROD, SPB_CONTR_SINTESI.SUBPROD, SPB_CONTR_SINTESI.MAF, SPB_CONTR_SINTESI.CODABI, SPB_CONTR_SINTESI.PCTKEY, SPB_CONTR_SINTESI.DESTIT, SPB_CONTR_SINTESI.CTV, SPB_CONTR_SINTESI.PARTVIA, SPB_CONTR_SINTESI.PARTVIAAL, SPB_CONTR_SINTESI.DTSOTTOS, SPB_CONTR_SINTESI.RENDINIZ, SPB_CONTR_SINTESI.RENDANNO, SPB_CONTR_SINTESI.VALORE, SPB_CONTR_SINTESI.SUBSET, SPB_CONTR_SINTESI.CVN, SPB_CONTR_SINTESI.QUOTE, @ID_ELAB
		FROM C6StagingPeriodico.SPB_CONTR_SINTESI
		LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_CONTR_SINTESI
			ON SPB_CONTR_SINTESI.DTTRIM = ST_SPB_CONTR_SINTESI.DTTRIM
			AND SPB_CONTR_SINTESI.DTRIFE = ST_SPB_CONTR_SINTESI.DTRIFE
			AND SPB_CONTR_SINTESI.RETE = ST_SPB_CONTR_SINTESI.RETE
			AND SPB_CONTR_SINTESI.CODFIS = ST_SPB_CONTR_SINTESI.CODFIS
			AND SPB_CONTR_SINTESI.CODCONF = ST_SPB_CONTR_SINTESI.CODCONF
			AND SPB_CONTR_SINTESI.CONTO = ST_SPB_CONTR_SINTESI.CONTO
			AND SPB_CONTR_SINTESI.RUBR = ST_SPB_CONTR_SINTESI.RUBR
			AND SPB_CONTR_SINTESI.CUSTGAR = ST_SPB_CONTR_SINTESI.CUSTGAR
			AND SPB_CONTR_SINTESI.TIPPROD = ST_SPB_CONTR_SINTESI.TIPPROD
			AND SPB_CONTR_SINTESI.CODINT = ST_SPB_CONTR_SINTESI.CODINT
			AND SPB_CONTR_SINTESI.SUBPROD = ST_SPB_CONTR_SINTESI.SUBPROD
			AND SPB_CONTR_SINTESI.CODABI = ST_SPB_CONTR_SINTESI.CODABI
			AND SPB_CONTR_SINTESI.PCTKEY = ST_SPB_CONTR_SINTESI.PCTKEY
		WHERE ST_SPB_CONTR_SINTESI.DTTRIM IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_SPB_MIFID
		(RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB)
		SELECT 
		 SPB_MIFID.RETE, SPB_MIFID.CODAGENTE, SPB_MIFID.CODICEFISCALE, SPB_MIFID.ACCETTACOMPILAZIONE, SPB_MIFID.CODICEPROFILOASSEGNATO, SPB_MIFID.CODICEPROFILOCALCOLATO, SPB_MIFID.CODICEQUESTIONARIO, SPB_MIFID.DATAFINEVALIDITA, SPB_MIFID.DATAINIZIOVALIDITA, SPB_MIFID.CODICEAGENTE, SPB_MIFID.CODICEAGENTERESPONSABILE, SPB_MIFID.CODICEAGENTEREALE, SPB_MIFID.TIPOQUESTIONARIO, SPB_MIFID.STATUS, @ID_ELAB
		FROM C6StagingPeriodico.SPB_MIFID
		LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_MIFID
			ON SPB_MIFID.RETE = ST_SPB_MIFID.RETE
			AND SPB_MIFID.CODICEFISCALE = ST_SPB_MIFID.CODICEFISCALE
		WHERE ST_SPB_MIFID.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX--
	--	IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO')
	--	BEGIN
	--		DELETE FROM C6StoricoPeriodico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
	--		INSERT INTO C6StoricoPeriodico.ST_SPB_PROF_RISCHIO
	--		(CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB)
	--		SELECT 
	--		 CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, @ID_ELAB
	--		FROM C6StagingPeriodico.SPB_PROF_RISCHIO
	--	END
	--XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX--
	--	IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE')
	--	BEGIN
	--		DELETE FROM C6StoricoPeriodico.ST_TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
	--		INSERT INTO C6StoricoPeriodico.ST_TABELLESTORICIZZATE
	--		(Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, ID_ELAB)
	--		SELECT 
	--		 Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, @ID_ELAB
	--		FROM C6StagingPeriodico.TABELLESTORICIZZATE
	--	END
	--XXXXXXXXXXXXXXXXXXXXXXXX TANAB XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'TANAB')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_TANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_TANAB
		(RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB)
		SELECT 
		 TANAB.RETE, TANAB.CODAREA, TANAB.CODPROG, TANAB.CODFIS, TANAB.DTRIF, TANAB.DTFINE, TANAB.DTINI, TANAB.CTVINI, TANAB.DTRENDMAX, TANAB.RENDMAX, TANAB.DTRENDMIN, TANAB.RENDMIN, TANAB.DTCTV, TANAB.CTV, TANAB.RENDATT, TANAB.DTCTVMAX, TANAB.CTVMAX, TANAB.DTCTVMIN, TANAB.CTVMIN, TANAB.CVN, TANAB.CVN_IA, TANAB.CVN_IT, TANAB.APP_INI, TANAB.TOT_APP, TANAB.TOT_LIQ, TANAB.TOT_CED, TANAB.TOT_DIV, TANAB.DCD, TANAB.DCVN, TANAB.SCARTO, TANAB.NTOT_APP, TANAB.NTOT_LIQ, TANAB.RENDATTANN, @ID_ELAB
		FROM C6StagingPeriodico.TANAB
		LEFT OUTER JOIN C6StoricoPeriodico.ST_TANAB
			ON TANAB.RETE = ST_TANAB.RETE
			AND TANAB.CODAREA = ST_TANAB.CODAREA
			AND TANAB.CODPROG = ST_TANAB.CODPROG
			AND TANAB.CODFIS = ST_TANAB.CODFIS
			AND TANAB.DTRIF = ST_TANAB.DTRIF
		WHERE ST_TANAB.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX TCPTAB XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'TCPTAB')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_TCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_TCPTAB
		(RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, ID_ELAB)
		SELECT 
		 TCPTAB.RETE, TCPTAB.CODAREA, TCPTAB.CODPROG, TCPTAB.CODFIS, TCPTAB.DTRIF, TCPTAB.TIPPROD, TCPTAB.ISIN, TCPTAB.ID_WADEG, TCPTAB.MAF, TCPTAB.CODCONF, TCPTAB.SUBPROD, TCPTAB.CODPROD, TCPTAB.NUMPOL, TCPTAB.CONTO, TCPTAB.CUSTGAR, TCPTAB.RUBR, TCPTAB.CODABI, TCPTAB.TERMID, TCPTAB.ANNO, TCPTAB.PROG, TCPTAB.SPROG, TCPTAB.DTUSCITA, TCPTAB.DTSOTT, TCPTAB.CTVATT, TCPTAB.DTINGRESSO, TCPTAB.CTVINGRESSO, TCPTAB.DTTRIM, TCPTAB.RENDTRIM, TCPTAB.DTANNO, TCPTAB.RENDANNO, TCPTAB.DTINIZ, TCPTAB.RENDINIZ, TCPTAB.DTININAC, TCPTAB.RENDNAC, TCPTAB.CTVVP, TCPTAB.CVNTRIM, TCPTAB.CVNANNO, TCPTAB.CVNINIZ, TCPTAB.CVNNAC, TCPTAB.CODINT, TCPTAB.VALORE, TCPTAB.STLIQ, TCPTAB.DTVALORIZ, @ID_ELAB
		FROM C6StagingPeriodico.TCPTAB
		INNER JOIN C6StoricoPeriodico.ST_TCPTAB
			ON TCPTAB.RETE = ST_TCPTAB.RETE
			AND TCPTAB.CODAREA = ST_TCPTAB.CODAREA
			AND TCPTAB.CODPROG = ST_TCPTAB.CODPROG
			AND TCPTAB.CODFIS = ST_TCPTAB.CODFIS
			AND TCPTAB.DTRIF = ST_TCPTAB.DTRIF
			AND TCPTAB.TIPPROD = ST_TCPTAB.TIPPROD
			AND TCPTAB.ISIN = ST_TCPTAB.ISIN
			AND TCPTAB.MAF = ST_TCPTAB.MAF
			AND TCPTAB.CODCONF = ST_TCPTAB.CODCONF
			AND TCPTAB.SUBPROD = ST_TCPTAB.SUBPROD
			AND TCPTAB.CODPROD = ST_TCPTAB.CODPROD
			AND TCPTAB.NUMPOL = ST_TCPTAB.NUMPOL
			AND TCPTAB.CONTO = ST_TCPTAB.CONTO
			AND TCPTAB.CUSTGAR = ST_TCPTAB.CUSTGAR
			AND TCPTAB.RUBR = ST_TCPTAB.RUBR
			AND TCPTAB.CODABI = ST_TCPTAB.CODABI
			AND TCPTAB.TERMID = ST_TCPTAB.TERMID
			AND TCPTAB.ANNO = ST_TCPTAB.ANNO
			AND TCPTAB.PROG = ST_TCPTAB.PROG
			AND TCPTAB.SPROG = ST_TCPTAB.SPROG
			AND TCPTAB.DTINGRESSO = ST_TCPTAB.DTINGRESSO
		WHERE ST_TCPTAB.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX TRENAB XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'TRENAB')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_TRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_TRENAB
		(RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB)
		SELECT 
		 TRENAB.RETE, TRENAB.CODAREA, TRENAB.CODPROG, TRENAB.CODFIS, TRENAB.DTRIF, TRENAB.DTVALORIZ, TRENAB.CTV, TRENAB.DTINIZ, TRENAB.RENDINIZ, TRENAB.DTTRIM, TRENAB.RENDTRIM, TRENAB.DTANNO, TRENAB.RENDANNO, TRENAB.CVN, TRENAB.CVN_IA, TRENAB.CVN_IT, TRENAB.APP_INI, TRENAB.TOT_APP, TRENAB.TOT_LIQ, TRENAB.TOT_CED, TRENAB.TOT_DIV, TRENAB.DCD, TRENAB.DCVN, TRENAB.SCARTO, TRENAB.NTOT_APP, TRENAB.NTOT_LIQ, TRENAB.RENDATTANN, @ID_ELAB
		FROM C6StagingPeriodico.TRENAB
		LEFT OUTER JOIN C6StoricoPeriodico.ST_TRENAB
			ON TRENAB.RETE = ST_TRENAB.RETE
			AND TRENAB.CODAREA = ST_TRENAB.CODAREA
			AND TRENAB.CODPROG = ST_TRENAB.CODPROG
			AND TRENAB.CODFIS = ST_TRENAB.CODFIS
			AND TRENAB.DTRIF = ST_TRENAB.DTRIF
			AND TRENAB.DTVALORIZ = ST_TRENAB.DTVALORIZ
		WHERE ST_TRENAB.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX TSCABP XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'TSCABP')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_TSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_TSCABP
		(RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB)
		SELECT 
		 TSCABP.RETE, TSCABP.CODAREA, TSCABP.CODPROG, TSCABP.CODFIS, TSCABP.DTRIF, TSCABP.TIPPROD, TSCABP.CODCONF, TSCABP.SUBPROD, TSCABP.CODPROD, TSCABP.CONTO, TSCABP.CUSTGAR, TSCABP.RUBR, TSCABP.CODABI, TSCABP.TERMID, TSCABP.ANNO, TSCABP.PROG, TSCABP.DTINGRESSO, TSCABP.ISTITUTO, TSCABP.TIPO_PRODOTT, TSCABP.CONTO_OP, TSCABP.STRUM_FIN, TSCABP.ID_MOVIM, TSCABP.TIPO_OP, TSCABP.RESTART, TSCABP.DT_ING_USC, TSCABP.ING_USC, TSCABP.COD_ERR, TSCABP.DESCR_ERR, TSCABP.DT_ELAB, TSCABP.DT_INS, TSCABP.PCT, TSCABP.PROVENIENZA, @ID_ELAB
		FROM C6StagingPeriodico.TSCABP
		LEFT OUTER JOIN C6StoricoPeriodico.ST_TSCABP
			ON TSCABP.RETE = ST_TSCABP.RETE
			AND TSCABP.CODAREA = ST_TSCABP.CODAREA
			AND TSCABP.CODPROG = ST_TSCABP.CODPROG
			AND TSCABP.CODFIS = ST_TSCABP.CODFIS
		WHERE ST_TSCABP.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WANAB
		(RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB)
		SELECT 
		 WANAB.RETE, WANAB.CODAREA, WANAB.CODPROG, WANAB.CODFIS, WANAB.DTRIF, WANAB.DTFINE, WANAB.DTINI, WANAB.CTVINI, WANAB.DTRENDMAX, WANAB.RENDMAX, WANAB.DTRENDMIN, WANAB.RENDMIN, WANAB.DTCTV, WANAB.CTV, WANAB.RENDATT, WANAB.DTCTVMAX, WANAB.CTVMAX, WANAB.DTCTVMIN, WANAB.CTVMIN, WANAB.CVN, WANAB.CVN_IA, WANAB.CVN_IT, WANAB.APP_INI, WANAB.TOT_APP, WANAB.TOT_LIQ, WANAB.TOT_CED, WANAB.TOT_DIV, WANAB.DCD, WANAB.DCVN, WANAB.SCARTO, WANAB.NTOT_APP, WANAB.NTOT_LIQ, @ID_ELAB
		FROM C6StagingPeriodico.WANAB
		LEFT OUTER JOIN C6StoricoPeriodico.ST_WANAB
			ON WANAB.RETE = ST_WANAB.RETE
			AND WANAB.CODAREA = ST_WANAB.CODAREA
			AND WANAB.CODPROG = ST_WANAB.CODPROG
			AND WANAB.CODFIS = ST_WANAB.CODFIS
			AND WANAB.DTRIF = ST_WANAB.DTRIF
		WHERE ST_WANAB.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WCPTAB XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WCPTAB')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WCPTAB
		(RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, ID_ELAB)
		SELECT 
		 WCPTAB.RETE, WCPTAB.CODAREA, WCPTAB.CODPROG, WCPTAB.CODFIS, WCPTAB.DTRIF, WCPTAB.TIPPROD, WCPTAB.ISIN, WCPTAB.ID_WADEG, WCPTAB.MAF, WCPTAB.CODCONF, WCPTAB.SUBPROD, WCPTAB.CODPROD, WCPTAB.NUMPOL, WCPTAB.CONTO, WCPTAB.CUSTGAR, WCPTAB.RUBR, WCPTAB.CODABI, WCPTAB.TERMID, WCPTAB.ANNO, WCPTAB.PROG, WCPTAB.SPROG, WCPTAB.DTUSCITA, WCPTAB.DTSOTT, WCPTAB.CTVATT, WCPTAB.DTINGRESSO, WCPTAB.CTVINGRESSO, WCPTAB.DTTRIM, WCPTAB.RENDTRIM, WCPTAB.DTANNO, WCPTAB.RENDANNO, WCPTAB.DTINIZ, WCPTAB.RENDINIZ, WCPTAB.DTININAC, WCPTAB.RENDNAC, WCPTAB.CTVVP, WCPTAB.CVNTRIM, WCPTAB.CVNANNO, WCPTAB.CVNINIZ, WCPTAB.CVNNAC, WCPTAB.CODINT, WCPTAB.VALORE, @ID_ELAB
		FROM C6StagingPeriodico.WCPTAB
		INNER JOIN C6StoricoPeriodico.ST_WCPTAB
			ON WCPTAB.RETE = ST_WCPTAB.RETE
			AND WCPTAB.CODAREA = ST_WCPTAB.CODAREA
			AND WCPTAB.CODPROG = ST_WCPTAB.CODPROG
			AND WCPTAB.CODFIS = ST_WCPTAB.CODFIS
			AND WCPTAB.DTRIF = ST_WCPTAB.DTRIF
			AND WCPTAB.TIPPROD = ST_WCPTAB.TIPPROD
			AND WCPTAB.ISIN = ST_WCPTAB.ISIN
			AND WCPTAB.MAF = ST_WCPTAB.MAF
			AND WCPTAB.CODCONF = ST_WCPTAB.CODCONF
			AND WCPTAB.SUBPROD = ST_WCPTAB.SUBPROD
			AND WCPTAB.CODPROD = ST_WCPTAB.CODPROD
			AND WCPTAB.NUMPOL = ST_WCPTAB.NUMPOL
			AND WCPTAB.CONTO = ST_WCPTAB.CONTO
			AND WCPTAB.CUSTGAR = ST_WCPTAB.CUSTGAR
			AND WCPTAB.RUBR = ST_WCPTAB.RUBR
			AND WCPTAB.CODABI = ST_WCPTAB.CODABI
			AND WCPTAB.TERMID = ST_WCPTAB.TERMID
			AND WCPTAB.ANNO = ST_WCPTAB.ANNO
			AND WCPTAB.PROG = ST_WCPTAB.PROG
			AND WCPTAB.SPROG = ST_WCPTAB.SPROG
			AND WCPTAB.DTINGRESSO = ST_WCPTAB.DTINGRESSO
		WHERE ST_WCPTAB.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WMANDATI XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WMANDATI')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WMANDATI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WMANDATI
		(PIVA, CODMAND, CODBREVE, ID_ELAB)
		SELECT
		 WMANDATI.PIVA, WMANDATI.CODMAND, WMANDATI.CODBREVE, @ID_ELAB
		FROM C6StagingPeriodico.WMANDATI
		LEFT OUTER JOIN C6StoricoPeriodico.ST_WMANDATI
			ON WMANDATI.CODMAND = ST_WMANDATI.CODMAND
		WHERE ST_WMANDATI.CODMAND IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WRENAB
		(RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB)
		SELECT 
		 WRENAB.RETE, WRENAB.CODAREA, WRENAB.CODPROG, WRENAB.CODFIS, WRENAB.DTRIF, WRENAB.DTVALORIZ, WRENAB.CTV, WRENAB.DTINIZ, WRENAB.RENDINIZ, WRENAB.DTTRIM, WRENAB.RENDTRIM, WRENAB.DTANNO, WRENAB.RENDANNO, WRENAB.CVN, WRENAB.CVN_IA, WRENAB.CVN_IT, WRENAB.APP_INI, WRENAB.TOT_APP, WRENAB.TOT_LIQ, WRENAB.TOT_CED, WRENAB.TOT_DIV, WRENAB.DCD, WRENAB.DCVN, WRENAB.SCARTO, WRENAB.NTOT_APP, WRENAB.NTOT_LIQ, @ID_ELAB
		FROM C6StagingPeriodico.WRENAB
		LEFT OUTER JOIN C6StoricoPeriodico.ST_WRENAB
			ON WRENAB.RETE = ST_WRENAB.RETE
			AND WRENAB.CODAREA = ST_WRENAB.CODAREA
			AND WRENAB.CODPROG = ST_WRENAB.CODPROG
			AND WRENAB.CODFIS = ST_WRENAB.CODFIS
			AND WRENAB.DTRIF = ST_WRENAB.DTRIF
			AND WRENAB.DTVALORIZ = ST_WRENAB.DTVALORIZ
		WHERE ST_WRENAB.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WSCABP
		(RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB)
		SELECT 
		 WSCABP.RETE, WSCABP.CODAREA, WSCABP.CODPROG, WSCABP.CODFIS, WSCABP.DTRIF, WSCABP.TIPPROD, WSCABP.CODCONF, WSCABP.SUBPROD, WSCABP.CODPROD, WSCABP.CONTO, WSCABP.CUSTGAR, WSCABP.RUBR, WSCABP.CODABI, WSCABP.TERMID, WSCABP.ANNO, WSCABP.PROG, WSCABP.DTINGRESSO, WSCABP.ISTITUTO, WSCABP.TIPO_PRODOTT, WSCABP.CONTO_OP, WSCABP.STRUM_FIN, WSCABP.ID_MOVIM, WSCABP.TIPO_OP, WSCABP.RESTART, WSCABP.DT_ING_USC, WSCABP.ING_USC, WSCABP.COD_ERR, WSCABP.DESCR_ERR, WSCABP.DT_ELAB, WSCABP.DT_INS, WSCABP.PCT, WSCABP.PROVENIENZA, @ID_ELAB
		FROM C6StagingPeriodico.WSCABP
		LEFT OUTER JOIN C6StoricoPeriodico.ST_WSCABP
			ON WSCABP.RETE = ST_WSCABP.RETE
			AND WSCABP.CODAREA = ST_WSCABP.CODAREA
			AND WSCABP.CODPROG = ST_WSCABP.CODPROG
			AND WSCABP.CODFIS = ST_WSCABP.CODFIS
		WHERE ST_WSCABP.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WSEIAN XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIAN')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WSEIAN WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WSEIAN
		(DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, ID_ELAB)
		SELECT 
		 WSEIAN.DTTRIM, WSEIAN.RETE, WSEIAN.CODFIS, WSEIAN.NOME, WSEIAN.COGNOME, WSEIAN.DTNASCI, WSEIAN.INDIRIZZO, WSEIAN.CAP, WSEIAN.CITTA, WSEIAN.PROVINCIA, WSEIAN.NAZIONE, WSEIAN.CODPROF, @ID_ELAB
		FROM C6StagingPeriodico.WSEIAN2 WSEIAN
		LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIAN
			ON WSEIAN.DTTRIM = ST_WSEIAN.DTTRIM
			AND WSEIAN.RETE = ST_WSEIAN.RETE
			AND WSEIAN.CODFIS = ST_WSEIAN.CODFIS
		WHERE ST_WSEIAN.DTTRIM IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WSEICS XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEICS')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WSEICS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WSEICS
		(DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB)
		SELECT 
		 WSEICS.DTTRIM, WSEICS.DTRIFE, WSEICS.RETE, WSEICS.CODFIS, WSEICS.CODCONF, WSEICS.NUMPOL, WSEICS.CONTO, WSEICS.RUBR, WSEICS.CUSTGAR, WSEICS.TIPPROD, WSEICS.CODINT, WSEICS.CODPROD, WSEICS.SUBPROD, WSEICS.MAF, WSEICS.CODABI, WSEICS.PCTKEY, WSEICS.DESTIT, WSEICS.CTV, WSEICS.PARTVIA, WSEICS.PARTVIAAL, WSEICS.DTSOTTOS, WSEICS.RENDINIZ, WSEICS.RENDANNO, WSEICS.VALORE, WSEICS.SUBSET, WSEICS.CVN, WSEICS.QUOTE, @ID_ELAB
		FROM C6StagingPeriodico.WSEICS
		LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEICS
			ON WSEICS.DTTRIM = ST_WSEICS.DTTRIM
			AND WSEICS.DTRIFE = ST_WSEICS.DTRIFE
			AND WSEICS.RETE = ST_WSEICS.RETE
			AND WSEICS.CODFIS = ST_WSEICS.CODFIS
			AND WSEICS.CODCONF = ST_WSEICS.CODCONF
			AND WSEICS.CONTO = ST_WSEICS.CONTO
			AND WSEICS.RUBR = ST_WSEICS.RUBR
			AND WSEICS.CUSTGAR = ST_WSEICS.CUSTGAR
			AND WSEICS.TIPPROD = ST_WSEICS.TIPPROD
			AND WSEICS.CODINT = ST_WSEICS.CODINT
			AND WSEICS.SUBPROD = ST_WSEICS.SUBPROD
			AND WSEICS.CODABI = ST_WSEICS.CODABI
			AND WSEICS.PCTKEY = ST_WSEICS.PCTKEY
		WHERE ST_WSEICS.DTTRIM IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WSEIPV XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIPV')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WSEIPV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WSEIPV
		(DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, ID_ELAB)
		SELECT 
		 WSEIPV.DTTRIM, WSEIPV.RETE, WSEIPV.CODFIS, WSEIPV.CODCONF, WSEIPV.IMPVER, WSEIPV.DTRIFE, WSEIPV.SUBSET, @ID_ELAB
		FROM C6StagingPeriodico.WSEIPV
		LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIPV
			ON WSEIPV.RETE = ST_WSEIPV.RETE
			AND WSEIPV.CODFIS = ST_WSEIPV.CODFIS
			AND WSEIPV.CODCONF = ST_WSEIPV.CODCONF
			AND WSEIPV.DTRIFE = ST_WSEIPV.DTRIFE
		WHERE ST_WSEIPV.RETE IS NULL
	END
	--XXXXXXXXXXXXXXXXXXXXXXXX WSEIUL XXXXXXXXXXXXXXXXXXXXXXXX--
	IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIUL')
	BEGIN
		DELETE FROM C6StoricoPeriodico.ST_WSEIUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB
		INSERT INTO C6StoricoPeriodico.ST_WSEIUL
		(DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, ID_ELAB)
		SELECT 
		 WSEIUL.DTTRIM, WSEIUL.RETE, WSEIUL.CODFIS, WSEIUL.CODCONF, WSEIUL.CODINT, WSEIUL.SUBPROD, WSEIUL.CTV, WSEIUL.DTRIFE, WSEIUL.ISINFIT, WSEIUL.ISIN, WSEIUL.MAF, WSEIUL.SUBSET, @ID_ELAB
		FROM C6StagingPeriodico.WSEIUL
		LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIUL
			ON WSEIUL.RETE = ST_WSEIUL.RETE
			AND WSEIUL.CODCONF = ST_WSEIUL.CODCONF
			AND WSEIUL.CODINT = ST_WSEIUL.CODINT
			AND WSEIUL.SUBPROD = ST_WSEIUL.SUBPROD
			AND WSEIUL.DTRIFE = ST_WSEIUL.DTRIFE
		WHERE ST_WSEIUL.RETE IS NULL
	END
	-- XX -- XX -- XX AGGIORNAMENTO DATI C6StagingPeriodico.TabelleStoricizzate XX -- XX -- XX --
	IF(@NomeTabella IS NOT NULL)
	BEGIN 
		UPDATE C6StagingPeriodico.TabelleStoricizzate
		SET 
			FINE = GETDATE(),
			DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE())
		WHERE NOME = @NomeTabella
	END
END