-- Schema: C6MartPeriodico -- Stored Procedure: PL_S96RischiomercatoRischiocredito -- Stored procedure -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' CREATE procedure [C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] -- Add the parameters for the stored procedure here @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SELECT PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.INSTITUTENAME, CTV, M.PROFILO_ASS AS CODICEPROFILO, CR.MAX_VAR AS VARMAX, RISK_AGG.VAR_PERC_PTF AS VAR , CASE WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS VARSTRING, RISK_AGG.CREDITRISK RISKCLASS, CASE WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' WHEN RISK_AGG.creditrisk is null THEN 'n.a.' WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' ELSE NULL END AS RISKCLASSSTRING, ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, --V La copertura viene valorizzata con un valore da 0 da 100 -- CASE -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' -- ELSE NULL -- END AS COVERAGESTRING, M.RISKCLASS AS RISKCLASSMAX, round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 THEN 1 ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) END) *100 ,2)AS PERCENTAGE, --V ORDINE, RISK_AGG.Ully_perc FROM ( select PATRBF.RETE, PATRBF.COD_FISCALE, CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, SUM(PATRBF.CTV) AS CTV, --V 1 as ORDINE, RISK_AGG.Ully_perc from c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG where 1=1 and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE and PATRBF.rete= RISK_AGG.rete and PATRBF.cod_fiscale = @codiceFiscale and PATRBF.rete= @rete and PATRBF.CTV > 0 and ( RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' ) GROUP BY PATRBF.RETE, PATRBF.COD_FISCALE, RISK_AGG.Ully_perc, CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END UNION SELECT TERZI.RETE, TERZI.COD_FISCALE, 'Patrimonio altri Istituti' AS INSTITUTENAME, SUM(ROUND(TERZI.CTV,2)) AS CTV, --V 2 as ORDINE, RISK_AGG.Ully_perc FROM c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG where 1=1 and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE and TERZI.rete= RISK_AGG.rete and TERZI.cod_fiscale =@codiceFiscale and TERZI.rete=@rete and TERZI.CTV > 0 and ( --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' ) GROUP BY TERZI.RETE, TERZI.COD_FISCALE, RISK_AGG.Ully_perc ) PATRBF LEFT OUTER JOIN c6martperiodico.MIFID AS M ON PATRBF.COD_FISCALE=M.COD_FISCALE AND PATRBF.RETE=M.RETE LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO LEFT OUTER JOIN c6martperiodico.CODIFICA_CREDITRISK CK ON M.riskclass=CK.PROFILO LEFT OUTER JOIN c6martperiodico.RISCHIO_AGGREGATO RISK_AGG ON PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE AND PATRBF.RETE=RISK_AGG.RETE AND (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and