-- View
-- View
--modificata per i cc in liq Marianna & Valerio
--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014
CREATE    VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin]
AS
SELECT 
		ANAG_PRODOTTI.DESCR_PRODOTTO,
		PATRIMONIO_BF.RETE						AS Rete,
		-------------------------------------------------- diff cf|Piva|fid codman
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END  AS CODFIS,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END  AS PIVA,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END  AS CODMAN,
		------------------------------------------------
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
				'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
			ELSE
				'COMPLESSIVO|BF|' + 
				LEFT(PATRIMONIO_BF.ID_AREA,3) + 
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
					ELSE '|Progetto investimento'
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
				END + '|' + PATRIMONIO_BF.POSITION_ID
		END										AS Portafoglio,
		CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
			WHEN '' THEN ISNULL(ANAG_PRODOTTI.COD_ISIN,'')
			ELSE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'')
		END										AS CodiceProdotto,
		CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'')
			WHEN '$' THEN ''
			ELSE iSNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'')
		END										AS CodiceAdeguatezza,
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
		case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000
		else PATRIMONIO_BF.CTV_NOMINALE end AS CtvNominale ,
		case when PATRIMONIO_BF.ISIN in('EURO00000009', 'EURO10000007') then 0.0000
		else PATRIMONIO_BF.CTV end AS CtvReale ,
		'COMPLESSIVO|BF' as tipoptf,
		isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf,
		'' as intermediario,
		ANAG_PRODOTTI.tipo_prodotto as famprodt,
		'' as assetterzi,
		substring(patrimonio_bf.position_id,58,11) as codconf,
		substring(patrimonio_bf.position_id,70,11) as conto,
		substring(patrimonio_bf.position_id,81,4) as rubr,
		substring(patrimonio_bf.position_id,85,1) as custgar,
		ANAG_PRODOTTI.cod_interno as cod_interno,
		substring(patrimonio_bf.position_id,97,8) as termid,
		substring(patrimonio_bf.position_id,105,3) as annos,
		substring(patrimonio_bf.position_id,108,8) as progs,
		CASE 
			when isnull(core.fondocore,0) > 0 or (LEN(isnull(ANAG_PRODOTTI.cod_isin,''))<12 and isnull(core.fondocore,0)=0 and ANAG_PRODOTTI.tipo_prodotto not in ('GP','CC','DT'))then ''
			ELSE	ANAG_PRODOTTI.cod_isin 
		END as cod_isin,
		isnull(ANAG_PRODOTTI.cod_sottoprodotto,'') as cod_sottoProdotto,
		LEFT(PATRIMONIO_BF.ID_AREA,3) as area,
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO 
					ELSE 'Progetto investimento'
				END as Progetto,
		Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then ''
		else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') 
		end as codprj,
		'' as chiave_prodotto_terzi,
		substring(patrimonio_bf.position_id,86,11) as numpolizza,
		--patrimonio_bf.position_id
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
				'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
			ELSE
				'COMPLESSIVO|BF|' + 
				LEFT(PATRIMONIO_BF.ID_AREA,3) + 
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
					ELSE '|Progetto investimento'
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
				END + '|' + PATRIMONIO_BF.POSITION_ID
        END + '@'  + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar ) as position_id
		,PATRIMONIO_BF.COD_PRODOTTO as Prodotto_id
FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
	INNER JOIN c6martperiodico.ANAG_PRODOTTI  ANAG_PRODOTTI
		ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
	left join (select distinct fondocore,catalogueid from c6stagingperiodico.rp_catalogoprodotti where isnull(fondocore,0)>0) as core
	on Patrimonio_BF.cod_prodotto = core.catalogueid
	WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2')  
	AND	   PATRIMONIO_BF.ID_AREA <> 'SELF')
	UNION ALL
	SELECT
			ANAG_PRODOTTI.DESCR_PRODOTTO,
			PATRIMONIO_BF.RETE						AS Rete,
			-------------------------------------------------- diff cf|Piva|fid codman
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END  AS CODFIS,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END  AS PIVA,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END  AS CODMAN,
		------------------------------------------------
			CASE
				WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
					'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
				ELSE
					'COMPLESSIVO|BF|' + 
					LEFT(PATRIMONIO_BF.ID_AREA,3) + 
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
					ELSE '|Progetto investimento'
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
				END + '|' + PATRIMONIO_BF.POSITION_ID
				-- fine modifica del 19/10/2018
			END										AS Portafoglio,	
			PATRIMONIO_BF.ISIN AS CodiceProdotto,
		------------------------------------------- 12/6/2018
		CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA ,'')
			WHEN '$' THEN ''
			ELSE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA,'')
		END										AS CodiceAdeguatezza,
		------------------------------------------------------------------
		-- modifica del 9/7/2018
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
		 PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale,
			PATRIMONIO_BF.CTV						AS CtvReale,
				'COMPLESSIVO|BF' as tipoptf,
		ANAG_PRODOTTI.cod_maf as cod_maf,
		'' as intermediario,
		ANAG_PRODOTTI.tipo_prodotto as famprodt,
		'' as assetterzi,
		substring(patrimonio_bf.position_id,58,11) as codconf,
		substring(patrimonio_bf.position_id,70,11) as conto,
		substring(patrimonio_bf.position_id,81,4) as rubr,
		substring(patrimonio_bf.position_id,85,1) as custgar,
		ANAG_PRODOTTI.cod_interno as cod_interno,
		substring(patrimonio_bf.position_id,97,8) as termid,
		substring(patrimonio_bf.position_id,105,3) as annos,
		substring(patrimonio_bf.position_id,108,8) as progs,
		ANAG_PRODOTTI.cod_isin as cod_isin,
		ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto,
		LEFT(PATRIMONIO_BF.ID_AREA,3) as area,
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO 
					ELSE 'Progetto investimento'
				END as Progetto,
				Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then ''
		else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') 
		end as codprj,
		'' as chiave_prodotto_terzi,
		substring(patrimonio_bf.position_id,86,11) as numpolizza,
		--patrimonio_bf.position_id
		CASE
				WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
					'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
				ELSE
					'COMPLESSIVO|BF|' + 
					LEFT(PATRIMONIO_BF.ID_AREA,3) + 
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
					ELSE '|Progetto investimento'
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
				END + '|' + PATRIMONIO_BF.POSITION_ID
				-- fine modifica del 19/10/2018
			END	+ '@'  + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END) AS varchar ) as position_id
		,PATRIMONIO_BF.COD_PRODOTTO as Prodotto_id
		FROM C6martperiodico.PATRIMONIO_BF
		INNER JOIN C6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
			ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
			AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
		INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI 
			ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
			AND ANAG_PRODOTTI.COD_ISIN = PATRIMONIO_BF.ISIN
		WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASU2')
union all
	SELECT 
		ANAG_PRODOTTI.DESCR_PRODOTTO,
		PATRIMONIO_BF.RETE						AS Rete,
		-------------------------------------------------- diff cf|Piva|fid codman
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END  AS CODFIS,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END  AS PIVA,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END  AS CODMAN,
		------------------------------------------------
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
				'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
			ELSE
				'COMPLESSIVO|BF|' + 
				LEFT(PATRIMONIO_BF.ID_AREA,3) + 
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
					ELSE '|Progetto investimento'
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
				END + '|' + PATRIMONIO_BF.POSITION_ID
				-- fine modifica del 19/10/2018
		END											AS Portafoglio,
		CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$'
			WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT
			ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO
		END										AS CodiceProdotto,
		--- 12/6/2018-------------------------------------------------		
		CASE isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'') 
			WHEN '$' THEN ''
			ELSE isnull(ANAG_PRODOTTI.COD_ADEGUATEZZA,'')
		END										AS CodiceAdeguatezza,
		---------------------------------------------------------------
		-- modifica del 9/7/2018
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS codiceInterno_old, --codiceInterno
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
		DETTAGLIO_ASUL.CTV						AS CtvNominale,
		DETTAGLIO_ASUL.CTV						AS CtvReale,
		'COMPLESSIVO|BF' as tipoptf,
		isnull(ANAG_PRODOTTI.cod_maf,'') as cod_maf,
		'' as intermediario,
		'ASUL' as famprodt,
		'' as assetterzi,
		substring(patrimonio_bf.position_id,58,11) as codconf,
		substring(patrimonio_bf.position_id,70,11) as conto,
		substring(patrimonio_bf.position_id,81,4) as rubr,
		substring(patrimonio_bf.position_id,85,1) as custgar,
		ANAG_PRODOTTI.cod_interno as cod_interno,
		substring(patrimonio_bf.position_id,97,8) as termid,
		substring(patrimonio_bf.position_id,105,3) as annos,
		substring(patrimonio_bf.position_id,108,8) as progs,
		ANAG_PRODOTTI.cod_isin as cod_isin,
		ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto,
		--CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
		--	WHEN '' THEN ANAG_PRODOTTI.COD_ISIN
		--	ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
		--END				AS cod_sottoProdotto,						
		--CASE ISNULL(DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, '') --SELEZIONE DEL CODICEPRODOTTO: DETTAGLIO_ASUL.COD_ISIN_FITTIZIO, DETTAGLIO_ASUL.COD_SOTTOPRODOTTO, '$'
		--	WHEN '' THEN DETTAGLIO_ASUL.COD_ISIN_SOTT
		--	ELSE DETTAGLIO_ASUL.COD_ISIN_FITTIZIO
		--END					AS cod_sottoProdotto,	 
		LEFT(PATRIMONIO_BF.ID_AREA,3) as area,
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO 
					ELSE 'Progetto investimento'
				END as Progetto,
				Case when isnull(PATRIMONIO_BF.ID_AREA,'') = 'NA' then ''
		else isnull(cast(patrimonio_bf.chiave_progetto as varchar),'') 
		end as codprj,
		'' as chiave_prodotto_terzi,
		substring(patrimonio_bf.position_id,86,11) as numpolizza,
		--patrimonio_bf.position_id as position_id
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN 
				'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID	
			ELSE
				'COMPLESSIVO|BF|' + 
				LEFT(PATRIMONIO_BF.ID_AREA,3) + 
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN '|' + PATRIMONIO_BF.NOME_PROGETTO 
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
					ELSE '|Progetto investimento'
					+ '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
				END + '|' + PATRIMONIO_BF.POSITION_ID
				-- fine modifica del 19/10/2018
		END	+ '@'  + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar ) as position_id
		,PATRIMONIO_BF.COD_PRODOTTO as Prodotto_id
	--10106
	FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.DETTAGLIO_ASUL 	
		ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO
	INNER JOIN c6martperiodico.ANAG_PRODOTTI  ANAG_PRODOTTI
		ON ANAG_PRODOTTI.COD_PRODOTTO = DETTAGLIO_ASUL.COD_PRODOTTO
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
	WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL')
	UNION ALL
		SELECT 
		'' as descr_prodotto,
		INTERMEDIARIO.RETE					AS Rete,
		-------------------------------------------------- diff cf|Piva|fid codman
		CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END  AS CODFIS,
		CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END  AS PIVA,
		CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END  AS CODMAN,
		------------------------------------------------
		INTERMEDIARIO.PORTAFOGLIO			AS Portafoglio,
		ISNULL(INTERMEDIARIO.CODICEADEGUATEZZA,'')	AS CodiceProdotto,
        --- 12/6/2018-------------------------------------------------		
			CASE ISNULL(INTERMEDIARIO.CodiceAdeguatezza,'')
			WHEN '$' THEN ''
			ELSE replace(INTERMEDIARIO.CodiceAdeguatezza,'$','')
		END			AS CodiceAdeguatezza,
		---------------------------------------------------------------
		--INTERMEDIARIO.PIAZZA				
		''									AS codiceInterno_old,
		INTERMEDIARIO.CODICEVALUTA			AS CodiceValuta,
		INTERMEDIARIO.CLASSE				AS Classe,
		INTERMEDIARIO.CONTROVALORE			AS CtvNominale,
		INTERMEDIARIO.CONTROVALORE			AS CtvReale,
		INTERMEDIARIO.tipoptf as tipoptf,
		isnull(INTERMEDIARIO.codiceMaf,'') as cod_maf,
		INTERMEDIARIO.INTERMEDIARIO as intermediario,
		INTERMEDIARIO.FAMPRODT as famprodt,
		CASE INTERMEDIARIO.Asset_Terzi
			WHEN '$' THEN ''
			ELSE replace(INTERMEDIARIO.Asset_Terzi,'$','')
		END	as assetterzi,
		'' as codconf,
		'' as conto,
		'' as rubr,
		'' as custgar,
		isnull(INTERMEDIARIO.codiceinterno,'') as cod_interno,
		'' as termid,
		'' as annos,
		'' as progs,
		INTERMEDIARIO.codiceisin as cod_isin,
		--ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto,
		isnull(intermediario.CODiceSOTTOPRODOTTO,'') AS cod_sottoProdotto,
		'' as area,
		'' as Progetto,
		'' as codprj,
		intermediario.COD_PRODOTTO_TERZI as chiave_prodotto_terzi,
		'' as numpolizza,
		--INTERMEDIARIO.PORTAFOGLIO 
		'COMPLESSIVO|TERZI' + '|' + INTERMEDIARIO.FAMPRODT + '|'+intermediario.COD_PRODOTTO_TERZI + '@' + CAST(ROW_NUMBER() OVER (ORDER BY INTERMEDIARIO.RETE ASC,
		CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 16 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) = 11 THEN INTERMEDIARIO.CODICEFISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(INTERMEDIARIO.CODICEFISCALE))) < 11 THEN substring(INTERMEDIARIO.CODICEFISCALE,4,6) ELSE '' END )AS varchar ) as position_id
		,INTERMEDIARIO.COD_PRODOTTO as prodotto_id
	 FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO_aladdin INTERMEDIARIO
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport  VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE
union all
	-- PATRIMONIO TERZI X TIPO PRODOTTO
	SELECT 
		'' as descr_prodotto,
		CATEGORIAPRODOTTO.RETE				AS Rete,
	-------------------------------------------------- diff cf|Piva|fid codman
		CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END  AS CODFIS,
		CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END  AS PIVA,
		CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END  AS CODMAN,
		------------------------------------------------
		CATEGORIAPRODOTTO.PORTAFOGLIO		AS Portafoglio,
		ISNULL(CATEGORIAPRODOTTO.CODICEADEGUATEZZA,'')	AS CodiceProdotto,
		--- 12/6/2018-------------------------------------------------		
			CASE ISNULL(CATEGORIAPRODOTTO.CodiceAdeguatezza,'')
			WHEN '$' THEN ''
			ELSE replace(CATEGORIAPRODOTTO.CodiceAdeguatezza,'$','')
		END	
				AS CodiceAdeguatezza,
		---------------------------------------------------------------
		CATEGORIAPRODOTTO.PIAZZA			AS codiceInterno_old,
		CATEGORIAPRODOTTO.CODICEVALUTA		AS CodiceValuta,
		CATEGORIAPRODOTTO.CLASSE			AS Classe,
		CATEGORIAPRODOTTO.CONTROVALORE		AS CtvNominale,
		CATEGORIAPRODOTTO.CONTROVALORE		AS CtvReale,
		CATEGORIAPRODOTTO.tipoptf as tipoptf,
		isnull(CATEGORIAPRODOTTO.codiceMaf,'') as cod_maf,
		'' as intermediario,
		CATEGORIAPRODOTTO.famprodt as famprodt,
		replace(CATEGORIAPRODOTTO.Asset_Terzi,'$','') as assetterzi,
		'' as codconf,
		'' as conto,
		'' as rubr,
		'' as custgar,
		isnull(CATEGORIAPRODOTTO.codiceinterno,'') as cod_interno,
		'' as termid,
		'' as annos,
		'' as progs,
		CATEGORIAPRODOTTO.codiceisin as cod_isin,
		--ANAG_PRODOTTI.cod_sottoprodotto as cod_sottoProdotto,
		isnull(CATEGORIAPRODOTTO.CODiceSOTTOPRODOTTO,'') AS cod_sottoProdotto,
		'' as area,
		'' as Progetto,
		'' as codprj,
		replace(CATEGORIAPRODOTTO.COD_PRODOTTO_TERZI,'$','') as chiave_prodotto_terzi,
		'' as numpolizza,
		CATEGORIAPRODOTTO.PORTAFOGLIO + '@' + CAST(ROW_NUMBER() OVER (ORDER BY CATEGORIAPRODOTTO.RETE ASC,
		CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 16 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) = 11 THEN CATEGORIAPRODOTTO.CODICEFISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(CATEGORIAPRODOTTO.CODICEFISCALE))) < 11 THEN substring(CATEGORIAPRODOTTO.CODICEFISCALE,4,6) ELSE '' END )AS varchar ) as position_id
		,CATEGORIAPRODOTTO.COD_Prodotto as Prodotto_id
	FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO_aladdin CATEGORIAPRODOTTO
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI 
		ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE
union all
SELECT
		'CC' as descr_prodotto,
		PATRIMONIO_BF.RETE						AS Rete,
		-------------------------------------------------- diff cf|Piva|fid codman
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END  AS CODFIS,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END  AS PIVA,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END  AS CODMAN,
		------------------------------------------------
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN 
				'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID
			WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'COMPLESSIVO|BF|CC'
		END										AS Portafoglio,
		'' AS CodiceProdotto,
		--- 12/6/2018 ----------------------------------------
		'EUR' AS CodiceAdeguatezza,
		-----------------------------------------------------------
		-- modifica del 9/7/2018
		'EUR' AS codiceInterno_old, --codiceInterno
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
		ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
		case when(sum(PATRIMONIO_BF.CTV_NOMINALE)	- c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE)	- c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale)
		--(sum(PATRIMONIO_BF.CTV_NOMINALE)	- CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV_NOMINALE)	- CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
			else 0.0001 end AS CtvNominale ,
		case when (sum(PATRIMONIO_BF.CTV)	- c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale))>0 then	sum(PATRIMONIO_BF.CTV)	- c6stagingPeriodico.getImportoSpesa(PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale) + [C6StagingPeriodico].[getTermID](PATRIMONIO_BF.RETE,PATRIMONIO_BF.Cod_Fiscale)
		else 0.0001 end AS CtvReale,
		'COMPLESSIVO|BF' as								tipoptf,
		'' as						cod_maf,
		'' as											intermediario,
		'CC' as											famprodt,
		'' as											assetterzi,
		'' as	codconf,
		'' as	conto,
		'' as	rubr,
		'' as	custgar,
		'EUR' as					cod_interno,
		'' as	termid,
		'' as	annos,
		'' as	progs,
		'EUR' as						cod_isin,
		'' as				cod_sottoProdotto,
		case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN 
				'Liq'-- + PATRIMONIO_BF.POSITION_ID
			WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'Liq' 
				END as				area,
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO 
					ELSE 'Progetto investimento'
				END as Progetto,
		'' as codprj,
		'' as chiave_prodotto_terzi,
		'' as numpolizza,
		CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN 
				'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID
			WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'COMPLESSIVO|BF|CC'
		END	+ '@' + CAST(ROW_NUMBER() OVER (ORDER BY PATRIMONIO_BF.RETE ASC,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
		CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END)AS varchar )
		 as position_id
		 ,PATRIMONIO_BF.COD_PRODOTTO as Prodotto_ID
FROM c6martperiodico.PATRIMONIO_BF
	INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
		ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
		AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
	INNER JOIN c6martperiodico.ANAG_PRODOTTI 
		ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
	WHERE PATRIMONIO_BF.TIPO_PRODOTTO  IN ('CC')
group by 
	PATRIMONIO_BF.rete,
	--CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 16 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
	--	CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) = 11 THEN PATRIMONIO_BF.COD_FISCALE ELSE '' END,
	--	CASE WHEN LEN(LTRIM(RTRIM(PATRIMONIO_BF.COD_FISCALE))) < 11 THEN substring(PATRIMONIO_BF.COD_FISCALE,4,6) ELSE '' END,
	PATRIMONIO_BF.COD_FISCALE,
	CASE ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
			WHEN '' THEN ANAG_PRODOTTI.COD_ISIN
			ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
	END,
	ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))),
	ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))),
	CASE
			WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN 
				'COMPLESSIVO|BF|CC'-- + PATRIMONIO_BF.POSITION_ID
			WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'COMPLESSIVO|BF|CC'
		END ,
		case WHEN LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Cc' THEN 
				'Liq'-- + PATRIMONIO_BF.POSITION_ID
			WHEN (LEFT(PATRIMONIO_BF.ID_AREA,3) = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN 
				'Liq' 
				END,
				CASE 
					WHEN isnull(PATRIMONIO_BF.NOME_PROGETTO, '') <> '' THEN PATRIMONIO_BF.NOME_PROGETTO 
					ELSE 'Progetto investimento'
				END
				,PATRIMONIO_BF.COD_PRODOTTO