-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6Mart].[PL_D2_S165FondiAltriIstituti] -- 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 C6MART.PATRIMONIO_TERZI AS PATRTERZI INNER JOIN C6MART.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 C6MART.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 C6MART.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