-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= --[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 'F', 'PVRPGS53C25G388A' CREATE procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] --'S','FGGMSM57H28G999D' -- 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; DECLARE @varBF DECIMAL(12,2) DECLARE @coperturaBF DECIMAL(12,2) DECLARE @codiceProfilo SMALLINT DECLARE @dataProfilo DATETIME DECLARE @varProfilo DECIMAL(5,2) DECLARE @nomeProfilo VARCHAR(50) DECLARE @riskclass VARCHAR(50) DECLARE @experience SMALLINT /************* BF *****************/ DECLARE @varPatrBF DECIMAL(12,2) DECLARE @riskClassBF VARCHAR(50) DECLARE @FLAGPROF varchar(16) SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) DECLARE @SCADUTO_PARZIALE varchar(16) SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) SELECT @codiceProfilo = M.PROFILO_ASS, @dataProfilo = M.DATA_INIZIO_VAL, @varProfilo = CR.MAX_VAR, @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, @riskclass = m.riskclass, @experience = m.experience FROM C6MartPERIODICO.MIFID AS M INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO WHERE M.RETE = @Rete AND M.COD_FISCALE = @CodiceFiscale /* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ 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 SELECT @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 ELSE RISK_AGG.VAR_PERC_PTF END, @riskClassBF = RISK_AGG.CREDITRISK FROM ( select PATRBF.RETE, PATRBF.COD_FISCALE, CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, SUM(PATRBF.CTV) AS CTV from c6martperiodico.patrimonio_bf PATRBF where 1=1 and cod_fiscale = @codiceFiscale and rete= @rete GROUP BY PATRBF.RETE, PATRBF.COD_FISCALE, CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END ) 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 left outer join C6MartPeriodico.COMPLESSITA cmp on CMP.COD_FISCALE=PATRBF.COD_FISCALE AND CMP.RETE=PATRBF.RETE where ( RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' ) ------------------------ MIFID2 - MAGGIO 2018 select @coperturaBF=copertura from C6MartPeriodico.RISCHIO_AGGREGATO -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione --where cod_aggreg='complessivo' where cod_aggreg='COMPLESSIVO|BF' -- fine modifica del 17/10/2018 AND COD_FISCALE = @COdiceFISCALE and RETE= @RETE declare @limiteProfilo as int -- modifica del 2/7/2018 - --select @limiteProfilo = experience from C6MartPERIODICO.MIFID select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale and rete= @Rete -- fine modifica del 2/7/2018 - declare @maxComplessita as int DECLARE @DataFineTrim VARCHAR(8) SET @DataFineTrim =c6martperiodico.getTrimestre(getDate(),0) 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 ------------------------- FINE MIFID2 - MAGGIO 2018 -- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) DECLARE @newLimiteProfilo varchar(20) if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' set @newLimiteProfilo = 'n.d.' else select @newLimiteProfilo = ( case @limiteProfilo when 0 then 'Minima' when 1 then 'Bassa' when 2 then 'Medio bassa' when 3 then 'Medio alta' when 4 then 'Alta' --when 5 then 'Alta' else '-' end ) SELECT @codiceProfilo as codiceProfilo, DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, @varProfilo as varMassimo, ISNULL(@varBF,0) as varBF, ISNULL(@coperturaBF,0) as coperturaBF, @nomeProfilo as nomeProfilo, @riskclass as riskclass, @experience as experince, @varPatrBF as varPatrimonioBF, @riskClassBF as riskClassBF, ------------------------ MIFID2 - MAGGIO 2018 case when @SCADUTO_PARZIALE='P' then '-' when @FLAGPROF='S' then 'n.a.' else @newLimiteProfilo end as LimiteComplessitaProfilo, case @maxComplessita when 0 then 'Minima' when 1 then 'Bassa' when 2 then 'Medio bassa' when 3 then 'Medio alta' when 4 then 'Alta' --when 5 then 'Alta' end as LimiteComplessitaPatrimonio ------------------------- FINE MIFID2 - MAGGIO 2018 END --USE [C6StampeCentralizzate] --GO --/****** Object: StoredProcedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] Script Date: 09/02/2022 11:59:17 ******/ --SET ANSI_NULLS ON --GO --SET QUOTED_IDENTIFIER ON --GO ---- ============================================= ---- Author: ---- Create date: ---- Description: ---- ============================================= ----[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 's', 'GRTDNL49D01I531Z' --ALTER procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] -- -- 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; -- DECLARE @varBF DECIMAL(12,2) -- DECLARE @coperturaBF DECIMAL(12,2) -- DECLARE @codiceProfilo SMALLINT -- DECLARE @dataProfilo DATETIME -- DECLARE @varProfilo DECIMAL(5,2) -- DECLARE @nomeProfilo VARCHAR(50) -- DECLARE @riskclass VARCHAR(50) -- DECLARE @experience SMALLINT --/************* BF *****************/ -- DECLARE @varPatrBF DECIMAL(12,2) -- DECLARE @riskClassBF VARCHAR(50) -- SELECT -- @codiceProfilo = M.PROFILO_ASS, -- @dataProfilo = M.DATA_INIZIO_VAL, -- @varProfilo = CR.MAX_VAR, -- @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, -- @riskclass = m.riskclass, -- @experience = m.experience -- FROM -- C6MartPERIODICO.MIFID AS M -- INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR -- ON M.PROFILO_ASS = CR.PROFILO -- INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio -- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO -- WHERE -- M.RETE = @Rete AND -- M.COD_FISCALE = @CodiceFiscale --/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ -- 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 -- SELECT -- @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 -- ELSE RISK_AGG.VAR_PERC_PTF -- END, -- @riskClassBF = RISK_AGG.CREDITRISK -- 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 -- from -- c6martperiodico.patrimonio_bf PATRBF -- where -- 1=1 -- and cod_fiscale = @codiceFiscale -- and rete= @rete -- GROUP BY -- PATRBF.RETE, -- PATRBF.COD_FISCALE, -- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END -- ) 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 -- left outer join C6MartPeriodico.COMPLESSITA cmp -- on -- CMP.COD_FISCALE=PATRBF.COD_FISCALE -- AND -- CMP.RETE=PATRBF.RETE -- where -- ( -- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' -- ) -------------------------- MIFID2 - MAGGIO 2018 -- select @coperturaBF=copertura -- from C6MartPeriodico.RISCHIO_AGGREGATO -- -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione -- --where cod_aggreg='complessivo' -- where cod_aggreg='COMPLESSIVO|BF' -- -- fine modifica del 17/10/2018 -- AND COD_FISCALE = @COdiceFISCALE -- and RETE= @RETE -- declare @limiteProfilo as int -- -- modifica del 2/7/2018 - -- --select @limiteProfilo = experience from C6MartPERIODICO.MIFID -- select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale -- and rete= @Rete -- -- fine modifica del 2/7/2018 - -- declare @maxComplessita as int -- DECLARE @DataFineTrim VARCHAR(8) -- SET @DataFineTrim =c6martperiodico.getTrimestre2(getDate(),0) -- if @CodiceFiscale like '%FF@%' -- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] -- 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; -- else -- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] -- 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; --------------------------- FINE MIFID2 - MAGGIO 2018 ---- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) --DECLARE @newLimiteProfilo varchar(20) --if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' -- set @newLimiteProfilo = 'n.d.' --else -- select @newLimiteProfilo = -- ( -- case @limiteProfilo -- 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 -- ) -- SELECT -- @codiceProfilo as codiceProfilo, -- DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, -- @varProfilo as varMassimo, -- ISNULL(@varBF,0) as varBF, -- ISNULL(@coperturaBF,0) as coperturaBF, -- @nomeProfilo as nomeProfilo, -- @riskclass as riskclass, -- @experience as experince, -- @varPatrBF as varPatrimonioBF, -- @riskClassBF as riskClassBF, -------------------------- MIFID2 - MAGGIO 2018 -- @newLimiteProfilo as LimiteComplessitaProfilo, -- 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 LimiteComplessitaPatrimonio --------------------------- FINE MIFID2 - MAGGIO 2018 --END