-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 'W','MLAMRA61P03G337F' CREATE procedure [C6MartPeriodico].[PL_D2_FD170RischioDiversificazione] -- Add the parameters for the stored procedure here @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN declare @contaCC as int select @contaCC = count(*) from c6martperiodico.patrimonio_Bf where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete declare @contaPOS as int select @contaPOS = count(*) from c6martperiodico.patrimonio_Bf where cod_fiscale = @codiceFiscale and rete = @rete declare @ctvbf as decimal(12,2) SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf where cod_fiscale = @CodiceFiscale and rete= @Rete and CTV > 0 and id_area not in ('LIGHT', 'VOID') -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) --fine modifica del 5/2/2019 declare @ctvterzi as decimal (12,2) SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi where cod_fiscale = @CodiceFiscale and rete= @Rete and CTV > 0 ------------------------ MIFID2 - MAGGIO 2018 DECLARE @DataFineTrim VARCHAR(8) SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) declare @maxComplessita as int if @CodiceFiscale like '%FF@%' select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] where codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) and rete= @Rete and DTTRIM = @DataFineTrim -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata -- and compl_base <> 10; commentata per MUA else select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] where codfis= @CodiceFiscale and rete= @Rete and DTTRIM = @DataFineTrim -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata -- and compl_base <> 10; commentata per MUA SELECT K.COD_FISCALE, K.RETE, CASE when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi else 0 END AS CTV_AGGREG, K.CREDITRISK, CASE WHEN (@contaPOS - @contacc = 0) THEN 0 ELSE VAR_PERC_PTF END AS VAR, CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, CASE WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (6,2)) AS VARCHAR),'.',',') --+ '%' ELSE null END AS coperturaString, -- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi beneficio as diversificazione, --case --when cod_Aggreg = 'COMPLESSIVO' then null --when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio --when cod_Aggreg = 'COMPLESSIVO|TERZI' then null --END AS diversificazione, -- fine modifica del 19/6/2018 CASE WHEN (@contaPOS - @contacc = 0) THEN 100 ELSE COPERTURA END AS COPERTURA, case when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' ELSE '' END AS PATRIMONIO, case when b.profilo is null then -1 else b.profilo end as profiloCode, isnull(b.max_var, 0) as var_profilo, ------------------------ MIFID2 - MAGGIO 2018 case @maxComplessita when 0 then 'Non complesso' when 1 then 'Bassa' when 2 then 'Medio bassa' when 3 then 'Medio alta' when 4 then 'Alta' else 'n.c.' end as complessita, ------------------------- FINE MIFID2 - MAGGIO 2018 --V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo --V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. case when cod_Aggreg = 'COMPLESSIVO' then 3 when cod_Aggreg = 'COMPLESSIVO|BF' then 1 when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 ELSE '' END AS Ordine FROM C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a ON k.cod_fiscale = a.cod_fiscale and k.rete = a.rete left outer join C6Martperiodico.CODIFICA_RISCHIO b on A.PROFILO_ASS=B.PROFILO WHERE --A.PROFILO_ASS=B.PROFILO --AND K.RETE=A.RETE --AND K.COD_FISCALE= A.COD_FISCALE COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') AND k.COD_FISCALE = @COdiceFISCALE AND k.RETE= @RETE ORDER BY ordine END --USE [C6StampeCentralizzate] --GO --/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] Script Date: 09/02/2022 11:37:02 ******/ --SET ANSI_NULLS ON --GO --SET QUOTED_IDENTIFIER ON --GO ---- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','BRNGDI72S69L219Y' --ALTER procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] -- -- Add the parameters for the stored procedure here -- @Rete char(1), -- @CodiceFiscale varchar(16) --AS --BEGIN -- declare @contaCC as int -- select @contaCC = count(*) -- from c6martperiodico.patrimonio_Bf -- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete -- declare @contaPOS as int -- select @contaPOS = count(*) -- from c6martperiodico.patrimonio_Bf -- where cod_fiscale = @codiceFiscale and rete = @rete -- declare @ctvbf as decimal(12,2) -- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf -- where cod_fiscale = @CodiceFiscale -- and rete= @Rete -- and CTV > 0 -- and id_area not in ('LIGHT', 'VOID') -- -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) -- --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) -- --fine modifica del 5/2/2019 -- declare @ctvterzi as decimal (12,2) -- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi -- where cod_fiscale = @CodiceFiscale -- and rete= @Rete -- and CTV > 0 -- ------------------------ MIFID2 - MAGGIO 2018 -- DECLARE @DataFineTrim VARCHAR(8) -- SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) -- declare @maxComplessita as int -- if @CodiceFiscale like '%FF@%' -- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] -- where -- -- codfis like -- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' -- -- ELSE @CodiceFiscale -- -- END -- --and codman = -- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) -- -- ELSE '' -- -- END -- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) -- and rete= @Rete -- and DTTRIM = @DataFineTrim -- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata -- and compl_base <> 10; -- else -- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] -- where -- -- codfis like -- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' -- -- ELSE @CodiceFiscale -- -- END -- --and codman = -- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) -- -- ELSE '' -- -- END -- codfis= @CodiceFiscale -- and rete= @Rete -- and DTTRIM = @DataFineTrim -- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata -- and compl_base <> 10; --SELECT --K.COD_FISCALE, --K.RETE, --CASE -- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf -- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi -- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi -- else 0 --END AS CTV_AGGREG, --K.CREDITRISK, --CASE -- WHEN (@contaPOS - @contacc = 0) THEN 0 -- ELSE VAR_PERC_PTF --END AS VAR, --CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, --CASE -- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 -- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' -- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' -- ELSE null --END AS coperturaString, ---- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi --beneficio as diversificazione, ----case ----when cod_Aggreg = 'COMPLESSIVO' then null ----when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio ----when cod_Aggreg = 'COMPLESSIVO|TERZI' then null ----END AS diversificazione, ---- fine modifica del 19/6/2018 --CASE -- WHEN (@contaPOS - @contacc = 0) THEN 100 -- ELSE COPERTURA --END AS COPERTURA, --case --when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' --when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) --when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' --ELSE '' --END AS PATRIMONIO, --case -- when b.profilo is null then -1 -- else b.profilo --end as profiloCode, --isnull(b.max_var, 0) as var_profilo, -------------------------- MIFID2 - MAGGIO 2018 --case @maxComplessita -- when 0 then '-' -- when 1 then 'Minima' -- when 2 then 'Bassa' -- when 3 then 'Media' -- when 4 then 'Alta' -- when 5 then 'Molto alta' -- else '-' -- end -- as complessita, --------------------------- FINE MIFID2 - MAGGIO 2018 ----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo ----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. --case --when cod_Aggreg = 'COMPLESSIVO' then 3 --when cod_Aggreg = 'COMPLESSIVO|BF' then 1 --when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 --ELSE '' --END AS Ordine --FROM --C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a -- ON k.cod_fiscale = a.cod_fiscale and -- k.rete = a.rete -- left outer join --C6Martperiodico.CODIFICA_RISCHIO b on --A.PROFILO_ASS=B.PROFILO --WHERE ----A.PROFILO_ASS=B.PROFILO ----AND K.RETE=A.RETE ----AND K.COD_FISCALE= A.COD_FISCALE --COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') --AND k.COD_FISCALE = @COdiceFISCALE --AND k.RETE= @RETE --ORDER BY ordine --END