PDC_REPORT_CreazioneDB/sql/Testbes/procedure/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql
2025-06-10 15:29:40 +02:00

70 lines
2.3 KiB
SQL

CREATE procedure [level2martperiodico].[DM_PatrimonioNonRappresentabileAsset]
AS
truncate table [level2martperiodico].[PatrimonioNonRappresentabileAsset]
insert into [level2martperiodico].[PatrimonioNonRappresentabileAsset]
SELECT
RETE,
COD_FISCALE,
--SUM(Controvalore) as Controvalore
SUM( cast(Controvalore as decimal(15,3))) as Controvalore
FROM (
SELECT
PATRBF.RETE,
PATRBF.COD_FISCALE,
PATRBF.CTV as Controvalore
FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF
INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP
ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC
ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO
AND ASSETPERC.LIVELLO = 1
WHERE
PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC')
AND ASSETPERC.COD_PRODOTTO IS NULL
UNION ALL
-- SELECT
-- PATRBF.RETE,
-- PATRBF.COD_FISCALE,
-- ASUL.CTV as Controvalore
-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF
-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP
-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO
-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL
-- ON PATRBF.RETE = ASUL.RETE
-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE
-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO
-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC
-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
-- AND ASSETPERC.LIVELLO = 1
-- WHERE
-- PATRBF.TIPO_PRODOTTO = 'ASUL'
-- AND ASSETPERC.COD_PRODOTTO IS NULL
--
SELECT ASUL.RETE,
ASUL.COD_FISCALe,
ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore
FROM
C6MartPeriodico.DETTAGLIO_ASUL ASUL
left JOIN
C6MartPeriodico.ASSET_PERC ASSETPERC
ON
(
ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO
---no SKANDIA
AND ASUL.COD_ISIN_SOTT = ''
AND ASSETPERC.LIVELLO = 1
)
or
( --SKANDIA
ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT
AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT
AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO
AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO
AND ASSETPERC.LIVELLO = 1
)
WHERE
ASSETPERC.COD_PRODOTTO IS NULL
) PATR_NO_RAPPR
GROUP BY
RETE,
COD_FISCALE