PDC_REPORT_CreazioneDB/sql/storedProduzione/C6MartPeriodico_PL_S50FondiAltriIstituti.sql
2025-06-06 19:02:52 +02:00

63 lines
3.0 KiB
SQL

-- =============================================
-- Author: <Gentilezza,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
-- [C6MartPeriodico].[PL_S50FondiAltriIstituti] 'S', 'MRTRRT57T17E758I'
CREATE procedure [C6MartPeriodico].[PL_S50FondiAltriIstituti]
-- Add the parameters for the stored procedure here
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
SELECT
PATRTERZI.INTERMEDIARIO AS Intermediario,
ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto,
dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione,
PATRTERZI.FREQ_RATA as tipo_versamento,
PATRTERZI.CTV as controvalore,
PATRTERZI.VERSATO_NETTO as ammontare,
SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval,
RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto,
CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString,
RISCHIOAGGR.VAR_PERC_PTF as Var_Totale,
CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString,
--CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale,
CASE
WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100
THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%'
ELSE '' -- CASI 0, 100, NULL
END AS copertura_totale,
CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota,
CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo,
RISCHIOAGGR.CREDITRISK as creditrisk,
CASE
WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.'
WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.'
ELSE NULL
END as creditriskstring
FROM
C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI
INNER JOIN
C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI
ON
PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI
--AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev'
AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali'
LEFT OUTER JOIN
C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD
ON
PATRTERZI.RETE = RISCHIOPROD.RETE
AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE
AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi
LEFT OUTER JOIN
C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR
ON
PATRTERZI.RETE = RISCHIOAGGR.RETE
AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE
AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO)
WHERE
PATRTERZI.rete = @Rete
and PATRTERZI.cod_fiscale = @CodiceFiscale
--AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione'
END