CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF_pre_selective]
AS
BEGIN
	-- riportare le logiche nelle rispettive sp di PL
	SET NOCOUNT ON;
	DECLARE @ID_ELAB INT
	DECLARE @TIPO_ELAB VARCHAR(1)
	SET @ID_ELAB = C6MartPeriodico.GETIDELAB()
	SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB()
	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'DM_PATRIMONIO_BF_pre_selective',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF
	SELECT 
		CONTRATTOSINTESI.RETE AS RETE,
		CONTRATTOSINTESI.CODFIS AS COD_FISCALE,
		CONTRATTOSINTESI.POSITIONID AS POSITIONID,
		SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, 
		CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO,
		CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL
				ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME)
		END AS DATA_SOTTOSCRIZIONE,
		NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO,
		CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA,
		CONTRATTOSINTESI.MAF AS COD_MAF,
		CONTRATTOSINTESI.CODINT AS COD_INTERNO,
		CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO,
		CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO,
		CASE
			WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti'
			ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A))
		END AS NOME_PROGETTO,
        PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO,
		CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA,
		CASE
			WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL
			ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME)
		END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE,
		NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY
		NULL AS DATA_REGOLAMENTO,
		CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA,
		NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO,
		CONTRATTOSINTESI.CTV AS CTV,
		CONTRATTOSINTESI.VALORE AS CTV_NOMINALE,
		NULL AS VERSATO_NETTO,
		CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV,
		CASE
			WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL
			ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME)
		END AS DATA_PARTVIA_DISINV,
		--PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV,
		NULL AS PARTVIA_INV,
		--CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE,
		CASE 
			WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' 
				OR CONTRATTOSINTESI.TIPPROD = 'GES')
				AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) 
				THEN NULL 
			WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1')
				THEN NULL
			--Modifica Luca
			WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX')
				THEN NULL
			--
			ELSE CONTRATTOSINTESI.RENDINIZ
		END AS REND_SOTTOSCRIZIONE,	
		NULL  AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE,
		CASE 
			WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' 
				OR CONTRATTOSINTESI.TIPPROD = 'GES')
				AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) 
				THEN NULL 
			WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1')
				THEN NULL
			--Modifica Luca
			WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX')
				THEN NULL
			--
			ELSE CONTRATTOSINTESI.RENDANNO
		END AS REND_ANNO,	
		0 AS REND_NON_RAPPR,
		PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO,
        C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM,
		C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP,
        CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA,
        ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO
		CONSUL.C_DATAMIGRAZ_BF705  AS DATA_MIGR_CONS,
		PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF,
		0 AS EXTRANAC,
        KAT.STRTYPE,
        KAT.COMPLEX,
        MIT.DESCR AS EMITTENTE,
		CONTRATTOSINTESI.ISIN,
		@ID_ELAB AS ID_ELAB,
		@TIPO_ELAB AS TIPO_ELAB
	INTO #PATRIMONIO
	FROM 
		[C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI 
	INNER JOIN 
		C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO
		ON 
			ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE
			AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS
			AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale
	INNER JOIN 
		C6STAGINGPERIODICO.POSITION AS POSITION
		ON 
			POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID
	INNER JOIN 
		C6STAGINGPERIODICO.CONSUL AS CONSUL
		ON 
			CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23
			AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata'
	INNER JOIN 
		C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL
		ON 
			PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629
	INNER JOIN 
		C6STAGINGPERIODICO.CONSAREA AS CONSAREA
		ON 
			CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4
    INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT
    ON 
    KAT.oid$ = POSITION.f_oid$_posit_00526
    left join 
    C6STAGINGPERIODICO.EMIT MIT
    ON KAT.CODEMI= MIT.CODEMI
    LEFT JOIN 
	C6STAGINGPERIODICO.C_BO_453FB
	ON C_BO_453FB.PK_PRC = PRCONSUL.OID$
	WHERE 
		CONTRATTOSINTESI.POSITIONID IS NOT NULL
        and CONTRATTOSINTESI.tipprod  <> 'CC'   --TRINGALI
		--da eliminare Trimestrale Ottobre 12
		--and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H')
--da eliminare Trimestrale Gen 2013
--		and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H')
--(
--'F-DLMSFN62L10F464C',
--'S-FF@7888',
--'F-TRLGNI38T10D325V',
--'F-SRRGNE58T04H981R',
--'F-MGLNTN55C23L259M',
--'F-TRFRLM68H67F132X',
--'F-CNTLNE72B50H501I',
--'S-FRLFRC77A42H501Z'
--)
	UNION ALL	-- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO)
--aggiunta consulenza per recuperare il cod progetto
SELECT 
		CONTRATTOSINTESI.RETE AS RETE,
		CONTRATTOSINTESI.CODFIS AS COD_FISCALE,
		CONTRATTOSINTESI.POSITIONID AS POSITIONID,
		SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, 
		CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO,
		CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL
				ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME)
		END AS DATA_SOTTOSCRIZIONE,
		NULL  AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO,
		CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA,
		CONTRATTOSINTESI.MAF AS COD_MAF,
		CONTRATTOSINTESI.CODINT AS COD_INTERNO,
		CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO,
		CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO,
		NULL AS NOME_PROGETTO,
        '' AS TIPO_PROGETTO,
		CASE WHEN CONTRATTOSINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END  AS ID_AREA, 
		CASE
			WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL
			ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME)
		END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE,
		NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY
		NULL AS DATA_REGOLAMENTO,
		CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA,
		NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO,
		CONTRATTOSINTESI.CTV AS CTV,
		CONTRATTOSINTESI.VALORE AS CTV_NOMINALE,
		NULL AS VERSATO_NETTO, --CONTRATTOSINTESI.CVN AS VERSATO_NETTO,
		CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV,
		CASE
			WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL
			ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME)
		END AS DATA_PARTVIA_DISINV,
		NULL AS PARTVIA_INV, --PARTITEVIAGGIANTI.IMPORTOVERSATO AS PARTVIA_INV,
		CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE,
		NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE,
		CONTRATTOSINTESI.RENDANNO AS REND_ANNO,
		0 AS REND_NON_RAPPR,
		PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO,
        null  AS ORIZZ_TEMP_NUM,
		NULL AS ORIZZ_TEMP,
        NULL AS STATO_CONSULENZA,
        NULL  AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO
		NULL AS DATA_MIGR_CONS,
		NULL AS DATA_PIANIF,
		0 AS EXTRANAC,
        KAT.STRTYPE,
        KAT.COMPLEX,
        MIT.DESCR AS EMITTENTE,
		CONTRATTOSINTESI.ISIN,
		@ID_ELAB AS ID_ELAB,
		@TIPO_ELAB AS TIPO_ELAB
	FROM 
		[C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI
        INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT
        ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID
        LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT
        ON  MIT.CODEMI=KAT.CODEMI
	INNER JOIN 
		C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO
		ON 
			ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE
			AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS
			AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale
	INNER JOIN 
		C6STAGINGPERIODICO.POSITION AS POSITION
		ON 
			POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID
	INNER JOIN 
		C6STAGINGPERIODICO.CONSUL AS CONSUL
		ON 
			CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23
			AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata'
	INNER JOIN 
		C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL
		ON 
			PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629
	WHERE 
		TIPPROD = 'CC'
		--and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H')
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_PATRIMONIO_BF_pre_selective' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_PATRIMONIO_BF_pre_selective'
		)
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'DM_PATRIMONIO_BF_pre_selective2',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	INSERT INTO C6MartPeriodico.[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]
           ,[TIPO_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]
            ,[ORIZZ_TEMP_NUM] 
	        ,[ORIZZ_TEMP]
            ,[STATO_CONSULENZA] 
            ,[DATA_STATO_CONS] 
            ,[DATA_MIGR_CONS]
           , [DATA_PIANIF] 
		   ,[EXTRANAC]
           ,[STRTYPE]
           ,[COMPLEX]
           ,[EMITTENTE]
		   ,[ISIN]
           ,[ID_ELAB]
           ,[TIPO_ELAB])
	SELECT 
		RETE,
		COD_FISCALE,
		POSITIONID,
		COD_PRODOTTO, 
		ID_CONTRATTO,
		DATA_SOTTOSCRIZIONE,
		COD_STATO,
		NUM_POLIZZA,
		COD_MAF,
		COD_INTERNO,
		COD_SOTTOPRODOTTO,
		TIPO_PRODOTTO,
		NOME_PROGETTO,
        TIPO_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,
        ORIZZ_TEMP_NUM, 
	    ORIZZ_TEMP,
        STATO_CONSULENZA, 
        DATA_STATO_CONS, 
        DATA_MIGR_CONS,
        DATA_PIANIF, 
		EXTRANAC,
        STRTYPE,
        COMPLEX,
        EMITTENTE,
		ISIN,
		@ID_ELAB,
		@TIPO_ELAB
	FROM #PATRIMONIO
	UNION ALL	-- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI
	SELECT 
		CONTRATTOSINTESI.RETE AS RETE,
		CONTRATTOSINTESI.CODFIS AS COD_FISCALE,
		CONTRATTOSINTESI.POSITIONID AS POSITIONID,
		SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, 
		CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO,
        CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL
				ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME)
		END AS DATA_SOTTOSCRIZIONE,
		NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO,
		CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA,
		CONTRATTOSINTESI.MAF AS COD_MAF,
		CONTRATTOSINTESI.CODINT AS COD_INTERNO,
		CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO,
		CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO,
		LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO,
        '' AS TIPO_PROGETTO,
		--V Modifica fatta per riallocare correttamente un cc che scende dallo scarico della wseics e non è presente in consulenza e in proposta,
		--altrimenti verrebbe allocato a 'Na'
		CASE
			WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV < 0) THEN 'CC'
--------------------------------------------------------------------------------------------------
			--modificato Emanuele
			--WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'LIQ'
			WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'Liq'
--------------------------------------------------------------------------------------------------
			ELSE ISNULL(NEWPOSITION.NEED_BREVE,'Na') 
		END AS ID_AREA,
		CASE
			WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL
			ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME)
		END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE,
		NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY
		NULL AS DATA_REGOLAMENTO,
		CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA,
		NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO,
		CONTRATTOSINTESI.CTV AS CTV,
		CONTRATTOSINTESI.VALORE AS CTV_NOMINALE,
		NULL AS VERSATO_NETTO,
		CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV,
		CASE
			WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL
			ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME)
		END AS DATA_PARTVIA_DISINV,
		--PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV,
		NULL AS PARTVIA_INV,
		CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE,
		NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE,
		CONTRATTOSINTESI.RENDANNO AS REND_ANNO,
		0 AS REND_NON_RAPPR,
		NULL AS ORDINAMENTO_PROGETTO,
        ORIZZ_TEMP_NUM, 
	    ORIZZ_TEMP,
        STATO_CONSULENZA, 
        DATA_STATO_CONS, 
        DATA_MIGR_CONS,
        DATA_PIANIF, 
		0 AS EXTRANAC,
        KAT.STRTYPE,
        KAT.COMPLEX,
        MIT.DESCR AS EMITTENTE,
		CONTRATTOSINTESI.ISIN,
		@ID_ELAB,
		@TIPO_ELAB
	FROM 
		[C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI 
	LEFT JOIN 
		#PATRIMONIO AS PATR
		ON	
			CONTRATTOSINTESI.RETE = PATR.RETE
			AND CONTRATTOSINTESI.CODFIS = PATR.COD_FISCALE
			AND CONTRATTOSINTESI.POSITIONID = PATR.POSITIONID
    LEFT OUTER JOIN C6STAGINGPERIODICO.CATITEMREF KAT
        ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID
    LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT
        ON  MIT.CODEMI=KAT.CODEMI
	LEFT JOIN C6STAGINGPERIODICO.vNewPositionProposta NEWPOSITION
		ON	
			CONTRATTOSINTESI.RETE = NEWPOSITION.RETE
			AND CONTRATTOSINTESI.CODFIS = NEWPOSITION.CODICEFISCALE
			AND CONTRATTOSINTESI.POSITIONID = NEWPOSITION.positionIDProposta
	WHERE 
		CONTRATTOSINTESI.POSITIONID IS NOT NULL
		AND PATR.POSITIONID IS NULL
--da eliminare Trimestrale Gen 2013
--		and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H')
--(
--'F-DLMSFN62L10F464C',
--'S-FF@7888',
--'F-TRLGNI38T10D325V',
--'F-SRRGNE58T04H981R',
--'F-MGLNTN55C23L259M',
--'F-TRFRLM68H67F132X',
--'F-CNTLNE72B50H501I',
--'S-FRLFRC77A42H501Z'
--)
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_PATRIMONIO_BF_pre_selective2' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_PATRIMONIO_BF_pre_selective2'
		)
	DROP TABLE #PATRIMONIO
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'DM_PATRIMONIO_BF_pre_selective3',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	-- AGGIORNAMENTO PRODOTTI EXTRA NAC
--
--	SELECT
--		MISS.POSITIONID,
--		MISS.CODFIS AS COD_FISCALE,
--		MISS.RETE,
--		C_NEEDAREA_V_46360 AS ID_AREA,
--		C_PROJECTNAM_11D1A AS NOME_PROGETTO,
--		C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO
--	INTO #MISS_PAST
--	FROM
--	  (
--		SELECT A.POSITIONID, CODFIS, RETE
--		FROM
--		C6STAGINGPERIODICO.SPB_CONTR_SINTESI A
--		LEFT OUTER JOIN
--		(
--		SELECT D.POSITIONID, A.ADBKID, A.INSTID
--		FROM
--		C6STAGINGPERIODICO.CONSUL A,
--		C6STAGINGPERIODICO.PRCONSUL B,
--		C6STAGINGPERIODICO.CONSAREA C,
--		C6STAGINGPERIODICO.POSITION D,
--		C6STAGINGPERIODICO.ALL_CF_STATO F
--		WHERE 
--		1=1
--		AND A.OID$ = C.F_PCONSULENZ_7FBE3
--		AND B.OID$ = D.F_PPROJECT_P_B5629
--		AND  C.OID$ = B.F_PCONSULENZ_B69E4
--		AND F.RETE = A.INSTID
--		AND F.CF_CLIENTE = A.ADBKID
--		AND F.FLAG_UTILIZZO_STATO = 1
--		AND A.TYPE$_TIPOCO_1EA7C =  F.STATO_CONSULENZA
--					and C.C_NEEDAREA_V_46360 <> 'Cc'
--		) B
--		ON 
--		B.POSITIONID=A.POSITIONID
--		AND B.ADBKID=A.CODFIS
--		AND B.INSTID=A.RETE
--		WHERE
--		B.POSITIONID IS NULL
--	  ) MISS,
--	  (
--		SELECT D.POSITIONID, 
--						   A.ADBKID, A.INSTID, 
--						   C.C_NEEDAREA_V_46360, 
--						   TYPE$_PROJEC_14674, 
--						   C_PROJECTNAM_11D1A,
--						   C_PROJECTIDM_1AF31
--		FROM
--		C6STAGINGPERIODICO.CONSUL A,
--		C6STAGINGPERIODICO.PRCONSUL B,
--		C6STAGINGPERIODICO.CONSAREA C,
--		C6STAGINGPERIODICO.POSITION D
--		WHERE 
--		1=1
--		AND A.OID$ = C.F_PCONSULENZ_7FBE3
--		AND B.OID$ = D.F_PPROJECT_P_B5629
--		AND  C.OID$ = B.F_PCONSULENZ_B69E4
--		AND A.TYPE$_TIPOCO_1EA7C =  'Attiva'
--					and C.C_NEEDAREA_V_46360 <> 'Cc'
--	   ) PAST
--	WHERE 
--	MISS.POSITIONID=PAST.POSITIONID
--	AND MISS.CODFIS=PAST.ADBKID
--- MISS
SELECT A.POSITIONID, CODFIS, RETE
        into #MISS
		FROM
		C6STAGINGPERIODICO.SPB_CONTR_SINTESI A
		LEFT OUTER JOIN
		(
		SELECT D.POSITIONID, A.ADBKID, A.INSTID
		FROM
		C6STAGINGPERIODICO.CONSUL A,
		C6STAGINGPERIODICO.PRCONSUL B,
		C6STAGINGPERIODICO.CONSAREA C,
		C6STAGINGPERIODICO.POSITION D,
		C6STAGINGPERIODICO.ALL_CF_STATO F
		WHERE 
		1=1
		AND A.OID$ = C.F_PCONSULENZ_7FBE3
		AND B.OID$ = D.F_PPROJECT_P_B5629
		AND  C.OID$ = B.F_PCONSULENZ_B69E4
		AND F.RETE = A.INSTID
		AND F.CF_CLIENTE = A.ADBKID
		AND F.FLAG_UTILIZZO_STATO = 1
		AND A.TYPE$_TIPOCO_1EA7C =  F.STATO_CONSULENZA
					--and C.C_NEEDAREA_V_46360 <> 'Cc'
		and D.type$_catalo_35E2a <> 'ContiCorrenti'
		) B
		ON 
		B.POSITIONID=A.POSITIONID
		AND B.ADBKID=A.CODFIS
		AND B.INSTID=A.RETE
		WHERE
		B.POSITIONID IS NULL
-- PAST
SELECT D.POSITIONID, 
						   A.ADBKID, A.INSTID, 
						   C.C_NEEDAREA_V_46360, 
						   TYPE$_PROJEC_14674, 
						   C_PROJECTNAM_11D1A,
						   C_PROJECTIDM_1AF31
		into #PAST
        FROM
		C6STAGINGPERIODICO.CONSUL A,
		C6STAGINGPERIODICO.PRCONSUL B,
		C6STAGINGPERIODICO.CONSAREA C,
		C6STAGINGPERIODICO.POSITION D
		WHERE 
		1=1
		AND A.OID$ = C.F_PCONSULENZ_7FBE3
		AND B.OID$ = D.F_PPROJECT_P_B5629
		AND  C.OID$ = B.F_PCONSULENZ_B69E4
		AND A.TYPE$_TIPOCO_1EA7C =  'Attiva'
					--and C.C_NEEDAREA_V_46360 <> 'Cc'
		and D.type$_catalo_35E2a <> 'ContiCorrenti'
SELECT
		MISS.POSITIONID,
		MISS.CODFIS AS COD_FISCALE,
		MISS.RETE,
		C_NEEDAREA_V_46360 AS ID_AREA,
		C_PROJECTNAM_11D1A AS NOME_PROGETTO,
		C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO
	INTO #miss_PAST
	FROM
	 #MISS miss, 
	  #PAST past
	WHERE 
	MISS.POSITIONID=PAST.POSITIONID
	AND MISS.CODFIS=PAST.ADBKID
	UPDATE
		PATR_BF
	SET
		PATR_BF.ID_AREA = MISS_PAST.ID_AREA,
		PATR_BF.NOME_PROGETTO = MISS_PAST.NOME_PROGETTO,
		PATR_BF.ORDINAMENTO_PROGETTO = MISS_PAST.ORDINAMENTO_PROGETTO,
		PATR_BF.EXTRANAC = 1
	FROM
		C6MartPeriodico.PATRIMONIO_BF AS PATR_BF
		INNER JOIN #MISS_PAST AS MISS_PAST
			ON PATR_BF.RETE = MISS_PAST.RETE
			AND PATR_BF.COD_FISCALE = MISS_PAST.COD_FISCALE
			AND PATR_BF.POSITION_ID = MISS_PAST.POSITIONID
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'UPDATE',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_PATRIMONIO_BF_pre_selective3' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_PATRIMONIO_BF_pre_selective3'
		)
	DROP TABLE #MISS_PAST
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'DM_PATRIMONIO_BF_pre_selective4',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	-- IMPOSTA IL FLAG DEI PRODOTTI CON RENDIMENTO NON RAPPRESENTABILE
	UPDATE
		PATR_BF
	SET
		PATR_BF.REND_NON_RAPPR = 1
	FROM
		(
		SELECT
			TSCA.RETE,
			TSCA.CODFIS,
			C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(
				TSCA.TIPPROD,
				PRC.COD_INTERNO,
				PRC.COD_MAF,
				'',
				TSCA.SUBPROD
			)
			+
			dbo.Crea_positionID(
				TSCA.TIPPROD,
				PRC.COD_INTERNO,
				PRC.COD_MAF,
				'',
				TSCA.SUBPROD,
				TSCA.CODCONF,
				PRC.NUMPOL,
				TSCA.CONTO,
				TSCA.RUBR,
				TSCA.CUSTGAR,
				TSCA.TERMID,
				TSCA.ANNO,
				TSCA.PROG
			) AS POSITION_ID
		FROM
			C6StagingPeriodico.TSCABP AS TSCA
            inner join   
            C6StagingPeriodico.tcptab as TCP
            ON TCP.CODFIS=TSCA.CODFIS
            AND TCP.RETE=TSCA.RETE
            AND TCP.CODCONF=TSCA.CODCONF
            AND TCP.CODPROG=TSCA.CODPROG
            AND TCP.CODPROD=TSCA.CODPROD
            AND TCP.CONTO=TSCA.CONTO
            AND TCP.CUSTGAR=TSCA.CUSTGAR
            AND TCP.CODABI=TSCA.CODABI
            AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX')
            AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX')
            AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX')
            INNER  JOIN
			C6StagingPeriodico.ALL_POS_CONS_CAT AS PRC ON
				TSCA.CODPROG = PRC.ID_MONITORAGGIO
				AND TSCA.CODCONF = PRC.CONTRATTO
				AND REPLACE(TSCA.SUBPROD, '     ', '$') = PRC.COD_SOTTOPRODOTTO
				AND TCP.CODINT = PRC.COD_INTERNO
		WHERE
			TSCA.DTRIF <> 0
		) REND_NON_RAPPR
	INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF
		ON PATR_BF.RETE = REND_NON_RAPPR.RETE
		AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546   4546
				CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS
					 ELSE  REND_NON_RAPPR.CODFIS
				END 
		AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'UPDATE',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_PATRIMONIO_BF_pre_selective4' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_PATRIMONIO_BF_pre_selective4'
		)
-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'DM_PATRIMONIO_BF_pre_selective5',
		GETDATE(),
		'Elaborazione trimestrale'
	)
SELECT 
		ALL_CF_PB.RETE_PB AS RETE,
		ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE,
		CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA,
		PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO,
		PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO,
		PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA,
		PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO,
		CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA,
        C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM,
		C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP,
		NULL AS CTV_TOTALE,
		CONSUL.TYPE$_TIPOCO_1EA7C  AS STATO_CONSULENZA,
		ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO
		CONSUL.C_DATAMIGRAZ_BF705  AS DATA_MIGR_CONS,
        PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF,
		NULL AS ID_CONTRATTO,
        PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO
   into #AGG_PROG
	FROM C6STAGINGPERIODICO.ALL_CF_PB
	INNER JOIN C6STAGINGPERIODICO.CONSUL 
		ON CONSUL.INSTID = ALL_CF_PB.RETE_PB
		AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE
		AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' 
	INNER JOIN C6STAGINGPERIODICO.CONSAREA 
		ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$
	INNER JOIN C6STAGINGPERIODICO.PRCONSUL 
		ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$
	LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB
		ON C_BO_453FB.PK_PRC = PRCONSUL.OID$
    where  CONSAREA.C_NEEDAREA_V_46360='Inv'
UPDATE C6MARTPERIODICO.PATRIMONIO_BF
SET
NOME_PROGETTO = L.NOME_PROGETTO
FROM
#AGG_PROG L
WHERE 
C6MARTPERIODICO.PATRIMONIO_BF.COD_FISCALE=L.COD_FISCALE
AND C6MARTPERIODICO.PATRIMONIO_BF.RETE=L.RETE
AND C6MARTPERIODICO.PATRIMONIO_BF.ORDINAMENTO_PROGETTO=L.ORDINAMENTO_PROGETTO
AND C6MARTPERIODICO.PATRIMONIO_BF.NOME_PROGETTO <> L.NOME_PROGETTO 
UPDATE C6MARTPERIODICO.PATRIMONIO_BF
SET
REND_NON_RAPPR=1
FROM
C6MARTPERIODICO.PATRIMONIO_BF
WHERE 
TIPO_PRODOTTO='CC'
AND CTV > 0
AND ID_AREA='Liq'
--aggiunta Emanuele/Valerio
UPDATE 
c6martperiodico.patrimonio_bf
SET Id_area = 'Liq'
WHERE TIPO_PRODOTTO='CC'
AND ID_AREA = 'na'
AND CTV > 0
--aggiunta Emanuele
UPDATE 
c6martperiodico.patrimonio_bf
SET id_area = 'Liq'
WHERE id_area = 'LIQ'
---------------------------------------
UPDATE C6MARTPERIODICO.PATRIMONIO_BF
SET
	NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO))
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'UPDATE',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_PATRIMONIO_BF_pre_selective5' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_PATRIMONIO_BF_pre_selective5'
		)
END