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

272 lines
11 KiB
SQL

--modificata per i cc in liq Marianna
-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014)
CREATE VIEW [C6Mart].[rp_vTuttiIPortafogli]
AS
SELECT
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) +
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 AS CodiceProdotto,
--- 23//5/2018 ----------------------------------------
CASE ANAG_PRODOTTI.COD_ADEGUATEZZA
WHEN '$' THEN ''
ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
END AS CodiceAdeguatezza,
-----------------------------------------------------------
'' AS Piazza,
'' AS CodiceValuta,
'' AS Classe,
--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 C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
INNER JOIN C6MART.ANAG_PRODOTTI
ON ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_BF.COD_PRODOTTO
WHERE PATRIMONIO_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC','ASU2')
--INIZIO INTERVENTO OMNIA
AND PATRIMONIO_BF.ID_AREA <> 'SELF'
--FINE INTERVENTO OMNIA
UNION ALL
---V Modifica per calcolo VaR prodotti ASU2
SELECT
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) +
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
--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,
--- 23//5/2018
CASE ANAG_PRODOTTI.COD_ADEGUATEZZA
WHEN '$' THEN ''
ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
END AS CodiceAdeguatezza,
'' AS Piazza,
'' AS CodiceValuta,
'' AS Classe,
--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 C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
INNER JOIN C6MART.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
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) +
CASE
WHEN PATRIMONIO_BF.NOME_PROGETTO IS NOT NULL THEN '|' + PATRIMONIO_BF.NOME_PROGETTO
ELSE ''
END + '|' + PATRIMONIO_BF.POSITION_ID
END AS Portafoglio,
CASE 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,
--- 23//5/2018-------------------------------------------------
'' AS CodiceAdeguatezza,
---------------------------------------------------------------
'' AS Piazza,
'' AS CodiceValuta,
'' AS Classe,
DETTAGLIO_ASUL.CTV AS CtvNominale,
DETTAGLIO_ASUL.CTV AS CtvReale
FROM C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.DETTAGLIO_ASUL
ON DETTAGLIO_ASUL.ID_CONTRATTO = PATRIMONIO_BF.ID_CONTRATTO
INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
WHERE PATRIMONIO_BF.TIPO_PRODOTTO IN ('ASUL')
--V S 20110823 Disabilitazione contratti liquidati in quanto sulla dettaglio asul il ctv rimane <> 0
-- AND PATRIMONIO_BF.COD_STATO <> 'L'
-- AND PATRIMONIO_BF.CTV <> 0
UNION ALL
-- PATRIMONIO TERZI
SELECT
INTERMEDIARIO.RETE AS Rete,
INTERMEDIARIO.CODICEFISCALE AS CodiceFiscale,
INTERMEDIARIO.PORTAFOGLIO AS Portafoglio,
INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceProdotto,
--- 23//5/2018-------------------------------------------------
--'' AS CodiceAdeguatezza,
---------------------------------------------------------------
INTERMEDIARIO.CODICEADEGUATEZZA AS CodiceAdeguatezza, --modifica 050520 per anomalie Levi
INTERMEDIARIO.PIAZZA AS Piazza,
INTERMEDIARIO.CODICEVALUTA AS CodiceValuta,
INTERMEDIARIO.CLASSE AS Classe,
INTERMEDIARIO.CONTROVALORE AS CtvNominale,
INTERMEDIARIO.CONTROVALORE AS CtvReale
FROM C6MART.VPROMETEIATERZIINTERMEDIARIO INTERMEDIARIO
INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = INTERMEDIARIO.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = INTERMEDIARIO.CODICEFISCALE
UNION ALL
-- PATRIMONIO TERZI X TIPO PRODOTTO
SELECT
CATEGORIAPRODOTTO.RETE AS Rete,
CATEGORIAPRODOTTO.CODICEFISCALE AS CodiceFiscale,
CATEGORIAPRODOTTO.PORTAFOGLIO AS Portafoglio,
CATEGORIAPRODOTTO.CODICEADEGUATEZZA AS CodiceProdotto,
--- 23//5/2018-------------------------------------------------
'' AS CodiceAdeguatezza,
---------------------------------------------------------------
CATEGORIAPRODOTTO.PIAZZA AS Piazza,
CATEGORIAPRODOTTO.CODICEVALUTA AS CodiceValuta,
CATEGORIAPRODOTTO.CLASSE AS Classe,
CATEGORIAPRODOTTO.CONTROVALORE AS CtvNominale,
CATEGORIAPRODOTTO.CONTROVALORE AS CtvReale
FROM C6MART.VPROMETEIATERZICATEGORIAPRODOTTO CATEGORIAPRODOTTO
INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = CATEGORIAPRODOTTO.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = CATEGORIAPRODOTTO.CODICEFISCALE
--V Conti correnti Fideuram
union all
SELECT
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,
--- 23//5/2018 ----------------------------------------
'' AS CodiceAdeguatezza,
-----------------------------------------------------------
'' AS Piazza,
'' AS CodiceValuta,
'' AS Classe,
--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 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 end AS CtvReale
FROM C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.RP_vContrattiPerGenerazioneReport VCONTRATTIPERSEI
ON VCONTRATTIPERSEI.RETE = PATRIMONIO_BF.RETE
AND VCONTRATTIPERSEI.COD_FISCALE = PATRIMONIO_BF.COD_FISCALE
INNER JOIN C6MART.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 ANAG_PRODOTTI.COD_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN
ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
END,
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