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

228 lines
8.3 KiB
SQL

-- View
CREATE VIEW [C6MartPeriodico].[RP_vPrometeiaTerziIntermediario_Aladdin]
AS
SELECT
TUTTI.RETE AS Rete,
TUTTI.CODICEFISCALE AS CodiceFiscale,
TUTTI.PORTAFOGLIO AS Portafoglio,
----------------------------------------------------------
tutti.TIPOptf as TIPOptf,
tutti.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI,
tutti.ASSET_TERZI as Asset_Terzi,
tutti.FAMPRODT as FAMPRODT,
----------------------------------------------------------
TUTTI.INTERMEDIARIO AS Intermediario,
TUTTI.COD_ISIN AS CodiceIsin,
TUTTI.COD_ADEGUATEZZA AS CodiceAdeguatezza,
TUTTI.COD_MAF AS CodiceMaf,
TUTTI.COD_INTERNO AS CodiceInterno,
TUTTI.COD_SOTTOPRODOTTO AS CodiceSottoprodotto,
TUTTI.PIAZZA AS Piazza,
TUTTI.CODICEVALUTA AS Codicevaluta,
TUTTI.CLASSE AS Classe,
SUM(TUTTI.CONTROVALORE) AS Controvalore,
TUTTI.ESTRAZIONE AS Estrazione,
TUTTI.PRODOTTO_ID AS Cod_Prodotto
FROM (
--34024
-- 1. ASSET PER DATI PATRIMONIO TERZI NON IN CATALOGO
SELECT
'DATI NON IN CATALOGO' AS ESTRAZIONE,
PATRIMONIO_TERZI.RETE AS RETE,
PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE,
'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO,
----------------------------------------------------------
'COMPLESSIVO|TERZI' as TIPOptf,
PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI,
--ASSETCLASS_TERZI.COD_ADEGUATEZZA
'Asset' as ASSET_TERZI,
ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT,
----------------------------------------------------------
PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO,
--ASSETCLASS_TERZI.COD_ISIN
'' AS COD_ISIN,
--ASSETCLASS_TERZI.COD_ADEGUATEZZA
'' AS COD_ADEGUATEZZA,
--ASSETCLASS_TERZI.COD_MAF
'' AS COD_MAF,
'' AS COD_INTERNO,
'' AS COD_SOTTOPRODOTTO,
'' AS PIAZZA,
'' AS CODICEVALUTA,
'' AS CLASSE,
(PATRIMONIO_TERZI.CTV * ASSET_PERC_TERZI.PERC) AS CONTROVALORE
,PATRIMONIO_TERZI.COD_PRODOTTO AS PRODOTTO_ID
FROM
C6MartPeriodico.ASSET_PERC_TERZI
INNER JOIN
C6MartPeriodico.ASSETCLASS_TERZI
ON
ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS
INNER JOIN
C6MartPeriodico.PATRIMONIO_TERZI
ON
PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI
INNER JOIN
C6MartPeriodico.ANAG_PRODOTTI_TERZI
ON
ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI
WHERE
ASSET_PERC_TERZI.LIVELLO = 2
-- AND NOT (
-- PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti'
-- AND ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount'
-- )
UNION ALL
-- 76400
-- 2. ASSET PER DATI PATRIMONIO TERZI IN CATALOGO
SELECT
'DATI IN CATALOGO' AS ESTRAZIONE,
PATRIMONIO_TERZI.RETE AS RETE,
PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE,
'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO,
----------------------------------------------------------
'COMPLESSIVO|TERZI' as TIPOptf,
PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI ,
'' as ASSET_TERZI,
ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT,
----------------------------------------------------------
PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO,
ANAG_PRODOTTI.COD_ISIN AS COD_ISIN,
ANAG_PRODOTTI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA,
ANAG_PRODOTTI.COD_MAF AS COD_MAF,
ANAG_PRODOTTI.COD_INTERNO AS COD_INTERNO,
ANAG_PRODOTTI.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO,
'' AS PIAZZA,
'' AS CODICEVALUTA,
'' AS CLASSE,
(PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE
,PATRIMONIO_TERZI.COD_PRODOTTO AS PRODOTTO_ID
FROM
C6MartPeriodico.PATRIMONIO_TERZI
INNER JOIN
C6MartPeriodico.ANAG_PRODOTTI
ON
ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO
LEFT OUTER JOIN
C6MartPeriodico.ASSET_PERC
ON
ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO
AND ASSET_PERC.LIVELLO = 2
UNION ALL
--178
-- 3 ASSET NON ESISTENTI PER DATI PATRIMONIO TERZI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE)
SELECT
'DATI IN CATALOGO CON COD_ADEGUATEZZA NULL E ASSET NON VALORIZZATO' AS ESTRAZIONE,
PATRIMONIO_TERZI.RETE AS RETE,
PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE,
'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|' + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO,
----------------------------------------------------------
'COMPLESSIVO|TERZI' as TIPOptf,
PATRIMONIO_TERZI.COD_PRODOTTO_TERZI as COD_PRODOTTO_TERZI,
'' as ASSET_TERZI,
ISNULL(PATRIMONIO_TERZI.DESCR_GRUPPO_PRODOTTO, PATRIMONIO_TERZI.TIPO_PRODOTTO) as FAMPRODT,
----------------------------------------------------------
PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO,
ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN,
ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA,
ASSETCLASS_TERZI.COD_MAF AS COD_MAF,
'' AS COD_INTERNO,
'' AS COD_SOTTOPRODOTTO,
'' AS PIAZZA,
'' AS CODICEVALUTA,
'' AS CLASSE,
--INIZIO 09012014_MV Correzione anomalia
-- (PATRIMONIO_TERZI.CTV * ASSET_PERC.PERC) AS CONTROVALORE
(PATRIMONIO_TERZI.CTV * ISNULL(ASSET_PERC.PERC,1)) AS CONTROVALORE
,PATRIMONIO_TERZI.COD_PRODOTTO AS PRODOTTO_ID
--FINE 09012014_MV Correzione anomalia
FROM
C6MartPeriodico.PATRIMONIO_TERZI
INNER JOIN
C6MartPeriodico.ANAG_PRODOTTI
ON
ANAG_PRODOTTI.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO
LEFT JOIN
C6MartPeriodico.ASSET_PERC
ON
ASSET_PERC.COD_PRODOTTO = PATRIMONIO_TERZI.COD_PRODOTTO
INNER JOIN
C6MartPeriodico.ASSETCLASS_TERZI
ON
ASSETCLASS_TERZI.ID_ASSETCLASS = 'AL1'
WHERE
ISNULL(ANAG_PRODOTTI.COD_ADEGUATEZZA, '') = ''
AND ASSET_PERC.COD_PRODOTTO IS NULL
--V CC terzi
union all
--3455 3388
SELECT
--PATRIMONIO_TERZI.tipo_prodotto,
'CONTI CORRENTI' AS ESTRAZIONE,
PATRIMONIO_TERZI.RETE AS RETE,
PATRIMONIO_TERZI.COD_FISCALE AS CODICEFISCALE,
'COMPLESSIVO|TERZI|' + PATRIMONIO_TERZI.INTERMEDIARIO + '|CC',-- + PATRIMONIO_TERZI.COD_PRODOTTO_TERZI AS PORTAFOGLIO,
----------------------------------------------------------
'COMPLESSIVO|TERZI' as TIPOptf,
'' as COD_PRODOTTO_TERZI,
'' as ASSET_TERZI,
'' as FAMPRODT,
----------------------------------------------------------
PATRIMONIO_TERZI.INTERMEDIARIO AS INTERMEDIARIO,
ASSETCLASS_TERZI.COD_ISIN AS COD_ISIN,
--ASSETCLASS_TERZI.COD_ADEGUATEZZA AS COD_ADEGUATEZZA,
'EUR' AS COD_ADEGUATEZZA,
ASSETCLASS_TERZI.COD_MAF AS COD_MAF,
'EUR' AS COD_INTERNO,
'EUR' AS COD_SOTTOPRODOTTO,
'' AS PIAZZA,
'' AS CODICEVALUTA,
'' AS CLASSE,
--sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) AS CONTROVALORE
case when (sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int)<0) then sum(PATRIMONIO_TERZI.CTV) else sum(PATRIMONIO_TERZI.CTV) -CAST(DBO.GETPARAMETRO('FRANCHIGIA_CC') as int) end AS CONTROVALORE --modifica 050520 per anomalie Levi
,PATRIMONIO_TERZI.COD_PRODOTTO AS PRODOTTO_ID
FROM
C6MartPeriodico.ASSET_PERC_TERZI
INNER JOIN
C6MartPeriodico.ASSETCLASS_TERZI
ON
ASSET_PERC_TERZI.ID_ASSETCLASS = ASSETCLASS_TERZI.ID_ASSETCLASS
INNER JOIN
C6MartPeriodico.PATRIMONIO_TERZI
ON
PATRIMONIO_TERZI.COD_PRODOTTO_TERZI = ASSET_PERC_TERZI.COD_PRODOTTO_TERZI
INNER JOIN
C6MartPeriodico.ANAG_PRODOTTI_TERZI
ON
ANAG_PRODOTTI_TERZI.COD_PRODOTTO_TERZI = PATRIMONIO_TERZI.COD_PRODOTTO_TERZI
WHERE
ASSET_PERC_TERZI.LIVELLO = 2
AND (
PATRIMONIO_TERZI.TIPO_PRODOTTO = 'Conti correnti'
or ANAG_PRODOTTI_TERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.CurrentAccount'
)
--and patrimonio_terzi.Cod_fiscale = 'BNCMRA47P12A944T'
group by PATRIMONIO_TERZI.intermediario,PATRIMONIO_TERZI.COD_PRODOTTO_TERZI ,ASSETCLASS_TERZI.COD_ISIN,cod_adeguatezza,cod_maf,ASSET_PERC_TERZI.ID_ASSETCLASS,
PATRIMONIO_TERZI.cod_Fiscale,rete,PATRIMONIO_TERZI.COD_PRODOTTO
) TUTTI
GROUP BY
TUTTI.ESTRAZIONE,
TUTTI.RETE,
TUTTI.CODICEFISCALE,
TUTTI.PORTAFOGLIO,
----------------------------------------------------------
tutti.TIPOptf,
tutti.COD_PRODOTTO_TERZI,
tutti.ASSET_TERZI,
tutti.FAMPRODT ,
----------------------------------------------------------
TUTTI.INTERMEDIARIO,
TUTTI.COD_ISIN,
TUTTI.COD_ADEGUATEZZA,
TUTTI.COD_MAF,
TUTTI.COD_INTERNO,
TUTTI.COD_SOTTOPRODOTTO,
TUTTI.PIAZZA,
TUTTI.CODICEVALUTA,
TUTTI.CLASSE,
TUTTI.PRODOTTO_ID