PDC_REPORT_CreazioneDB/sql/Produzione/viste/C6Mart_vTuttiIPortafogli_ccLiq.sql
2025-06-10 16:47:41 +02:00

151 lines
6.1 KiB
SQL

--modificata per i cc in liq Marianna
CREATE VIEW [C6Mart].[vTuttiIPortafogli_ccLiq]
AS
SELECT
PATRIMONIO_BF.RETE AS Rete,
PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale,
CASE
WHEN PATRIMONIO_BF.ID_AREA = 'NA' THEN
'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID
ELSE
'RISFIN|PIRAMIDE|' +
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_ADEGUATEZZA --SELEZIONE DEL CODICEPRODOTTO: COD_ISIN, COD_ADEGUATEZZA, '$'
WHEN '$' THEN ANAG_PRODOTTI.COD_ISIN
ELSE ANAG_PRODOTTI.COD_ADEGUATEZZA
END AS CodiceProdotto,
'' AS Piazza,
'' AS CodiceValuta,
'' AS Classe,
PATRIMONIO_BF.CTV_NOMINALE AS CtvNominale,
PATRIMONIO_BF.CTV AS CtvReale
FROM C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.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')
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
'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID
ELSE
'RISFIN|PIRAMIDE|' +
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
PATRIMONIO_BF.ISIN AS CodiceProdotto,
'' 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.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
'RISFIN|NA|' + PATRIMONIO_BF.POSITION_ID
ELSE
'RISFIN|PIRAMIDE|' +
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,
'' 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.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
SELECT
PATRIMONIO_BF.RETE AS Rete,
PATRIMONIO_BF.COD_FISCALE AS CodiceFiscale,
CASE
WHEN (PATRIMONIO_BF.ID_AREA = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN
'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID
END AS Portafoglio,
'EUR' AS CodiceProdotto,
'' AS Piazza,
'' AS CodiceValuta,
'' AS Classe,
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.01 end AS CtvNominale ,
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.01 end AS CtvReale
FROM C6Mart.PATRIMONIO_BF
INNER JOIN C6MART.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') and patrimonio_bf.ctv>0
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 = 'Liq' and PATRIMONIO_BF.TIPO_PRODOTTO='CC') THEN
'RISFIN|PIRAMIDE|Liq'+ '|' + PATRIMONIO_BF.POSITION_ID
END