PDC_REPORT_CreazioneDB/sql/Collaudo/viste/C6MartPeriodico_RP_vTuttiIPortafogli.sql
2025-06-10 15:29:00 +02:00

334 lines
15 KiB
SQL

--select top 1 * from c6martperiodico.anag_prodotti
--modificata per i cc in liq Marianna & Valerio
--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014)
CREATE VIEW [C6MartPeriodico].[RP_vTuttiIPortafogli]
AS
SELECT
ANAG_PRODOTTI.DESCR_PRODOTTO,
PATRIMONIO_BF.RETE AS Rete,
PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale,
CASE
WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN
'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID
-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN
-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID
ELSE
'COMPLESSIVO|BF|' +
LEFT(PATRIMONIO_BF.ID_AREA,3) +
-- modifica del 19/10/2018 per risolvere il problema del Nome_Progetto = ''
--CASE
-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO
-- + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
-- ELSE ''
--END + '|' + PATRIMONIO_BF.POSITION_ID
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 ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA
-- ELSE ANAG_PRODOTTI.COD_ISIN
-- END AS CodiceProdotto,
-- MODIFICA LUCA
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 CodiceProdotto,
--- 23//5/2018 ----------------------------------------
CASE ANAG_PRODOTTI.COD_ADEGUATEZZA
WHEN '$' THEN ''
ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
END AS CodiceAdeguatezza,
-----------------------------------------------------------
-- modifica del 9/7/2018
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
--'' AS Piazza, --codiceInterno
--'' AS CodiceValuta, --codiceMAF
--'' AS Classe, --codiceSottoprodotto
-- fine modifica del 9/7/2018
--V FRANCHIGIA CC
-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
-- THEN 0
-- ELSE PATRIMONIO_BF.CTV_NOMINALE
-- END AS CtvNominale,
--INIZIO INTERVENTO OMNIA
-- PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale,
-- PATRIMONIO_BF.CTV AS CtvReale
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
--FINE INTERVENTO OMNIA
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
--INIZIO INTERVENTO OMNIA
-- WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2')
WHERE (PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2')
AND PATRIMONIO_BF.ID_AREA <> 'SELF')
--FINE INTERVENTO OMNIA
UNION ALL
---V Modifica per calcolo VaR prodotti ASU2
SELECT
ANAG_PRODOTTI.DESCR_PRODOTTO,
PATRIMONIO_BF.RETE AS Rete,
PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale,
CASE
WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN
'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID
-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN
-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID
ELSE
'COMPLESSIVO|BF|' +
LEFT(PATRIMONIO_BF.ID_AREA,3) +
-- modifica del 19/10/2018 per risolvere il problema del Nome_Progetto = ''
--CASE
-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO
-- + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
-- ELSE ''
--END + '|' + PATRIMONIO_BF.POSITION_ID
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 ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA
-- ELSE ANAG_PRODOTTI.COD_ISIN
-- END AS CodiceProdotto,
---- MODIFICA LUCA
--V Modifica per gli ASU2 CON IL COD_ADEGUATEZZA NON BECCA NESSUN PRODTTO PROMETEIA
-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN
-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA END
PATRIMONIO_BF.ISIN AS CodiceProdotto,
------------------------------------------- 12/6/2018
CASE ANAG_PRODOTTI.COD_ADEGUATEZZA
WHEN '$' THEN ''
ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
END AS CodiceAdeguatezza,
------------------------------------------------------------------
-- modifica del 9/7/2018
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
-- '' AS Piazza,
-- '' AS CodiceValuta,
-- '' AS Classe,
-- fine modifica del 9/7/2018
--V FRANCHIGIA CC
-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
-- THEN 0
-- ELSE PATRIMONIO_BF.CTV_NOMINALE
-- END AS CtvNominale,
PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale,
--PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale,
-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
-- THEN 0
-- ELSE PATRIMONIO_BF.CTV
-- END AS CtvReale
PATRIMONIO_BF.CTV AS CtvReale
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
-- PATRIMONIO ASUL
SELECT
ANAG_PRODOTTI.DESCR_PRODOTTO,
PATRIMONIO_BF.RETE AS Rete,
PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale,
CASE
WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN
'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID
--
-- WHEN PATRIMONIO_BF.ID_AREA = 'Cc' THEN
-- 'COMPLESSIVO|BF|CC|' + PATRIMONIO_BF.POSITION_ID
ELSE
'COMPLESSIVO|BF|' +
LEFT(PATRIMONIO_BF.ID_AREA,3) +
-- modifica del 19/10/2018 per risolvere il problema del Nome_Progetto = ''
--CASE
-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO
-- + '|' + isnull(cast(patrimonio_bf.chiave_progetto as varchar),'')
-- ELSE ''
--END + '|' + PATRIMONIO_BF.POSITION_ID
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-------------------------------------------------
'' AS CodiceAdeguatezza,
---------------------------------------------------------------
-- modifica del 9/7/2018
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
--'' AS Piazza,
--'' AS CodiceValuta,
-- '' AS Classe,
-- fine modifica del 9/7/2018
DETTAGLIO_ASUL.CTV AS CtvNominale,
DETTAGLIO_ASUL.CTV AS CtvReale
FROM c6martperiodico.PATRIMONIO_BF
INNER JOIN c6martperiodico.ANAG_PRODOTTI ANAG_PRODOTTI
ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
INNER JOIN c6martperiodico.DETTAGLIO_ASUL
ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO
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
-- PATRIMONIO TERZI
SELECT
'' as descr_prodotto,
INTERMEDIARIO.RETE AS Rete,
INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale,
INTERMEDIARIO.PORTAFOGLIO AS Portafoglio,
INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto,
--- 12/6/2018-------------------------------------------------
'' AS CodiceAdeguatezza,
---------------------------------------------------------------
INTERMEDIARIO.PIAZZA AS Piazza,
INTERMEDIARIO.CODICEVALUTA AS CodiceValuta,
INTERMEDIARIO.CLASSE AS Classe,
INTERMEDIARIO.CONTROVALORE AS CtvNominale,
INTERMEDIARIO.CONTROVALORE AS CtvReale
FROM c6martperiodico.RP_VPROMETEIATERZIINTERMEDIARIO 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,
CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale,
CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio,
CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto,
--- 12/6/2018-------------------------------------------------
'' AS CodiceAdeguatezza,
---------------------------------------------------------------
CATEGORIAPRODOTTO.PIAZZA AS Piazza,
CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta,
CATEGORIAPRODOTTO.CLASSE AS Classe,
CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale,
CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale
FROM c6martperiodico.RP_VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO
INNER JOIN c6martperiodico.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE
--V Conti correnti Fideuram
union all
SELECT
'CC' as descr_prodotto,
PATRIMONIO_BF.RETE AS Rete,
PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale,
CASE
-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN
-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID
--
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'
-- ELSE
-- 'COMPLESSIVO|BF|' +
-- LEFT(PATRIMONIO_BF.ID_AREA,3) +
-- CASE
-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO
-- ELSE ''
-- END + '|' + PATRIMONIO_BF.POSITION_ID
END AS Portafoglio,
-- CASE ANAG_PRODOTTI.COD_ISIN --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
-- WHEN '$' THEN ANAG_PRODOTTI.COD_ADEGUATEZZA
-- ELSE ANAG_PRODOTTI.COD_ISIN
-- END AS CodiceProdotto,
-- MODIFICA LUCA
-- CASE ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
-- WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN
-- ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
-- END
'EUR' AS CodiceProdotto,
--- 12/6/2018 ----------------------------------------
'' AS CodiceAdeguatezza,
-----------------------------------------------------------
-- modifica del 9/7/2018
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_INTERNO, ''))) AS Piazza, --codiceInterno
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_MAF, ''))) AS CodiceValuta, --codiceMAF
ltrim(rtrim(ISNULL(PATRIMONIO_BF.COD_SOTTOPRODOTTO, ''))) AS Classe, --codiceSottoprodotto
--'' AS Piazza,
--'' AS CodiceValuta,
-- '' AS Classe,
-- fine modifica del 9/7/2018
--V FRANCHIGIA CC
-- CASE WHEN PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV_NOMINALE < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
-- THEN 0
-- ELSE PATRIMONIO_BF.CTV_NOMINALE
-- END AS CtvNominale,
case when (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 PATRIMONIO_BF.ID_AREA = 'Cc' AND PATRIMONIO_BF.CTV < CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
-- THEN 0
-- ELSE PATRIMONIO_BF.CTV
-- END AS CtvReale
case when (sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT))>0 then sum(PATRIMONIO_BF.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') AS INT)
else 0.0001 end AS CtvReale
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,
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,
PATRIMONIO_BF.COD_INTERNO,
PATRIMONIO_BF.COD_MAF,
PATRIMONIO_BF.COD_SOTTOPRODOTTO,
CASE
-- WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN
-- 'COMPLESSIVO|BF|NA|' + PATRIMONIO_BF.POSITION_ID
--
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'
-- ELSE
-- 'COMPLESSIVO|BF|' +
-- LEFT(PATRIMONIO_BF.ID_AREA,3) +
-- CASE
-- WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO
-- ELSE ''
-- END + '|' + PATRIMONIO_BF.POSITION_ID
END