----------------------------------------------------------------------------------------------- -- LA FUNZIONE TORNA L'INDICATORE DI VALUTAZIONE (MIFID 2) PER IL CLIENTE SPECIFICATO -- IL DOMINIO DELL'INDICATORE PASSATO E': -- (1) - RISCHIO MERCATO -- (2) - RISCHIO CREDITO -- (3) - CONCENTRAZIONE EMITTENTI -- (4) - COMPLESSITA' -- (5) - CONCENTRAZIONE IN PRODOTTI COMPLESSI -- (6) - FREQUENZA DELLE OPERAZIONI -- (7) - LIQUIDITA'/LIQUIDABILITA' (ORIZZONTE TEMPORALI DEGLI INVESTIMENTI) -- -- select [C6MartPeriodico].[getIndicatoreValutazione] ('f','00247580970',default) CREATE FUNCTION [C6MartPeriodico].[getIndicatoreValutazione] ( @Rete char(1), @CodiceFiscale varchar(16), @indicatore smallint = 4 ) RETURNS VARCHAR(5) AS BEGIN DECLARE @retData VARCHAR(5) DECLARE @DataFineTrim VARCHAR(8) SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) if @indicatore = 4 select @retData = case when flgprof = 'S' then 'prof' when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 when upper(clcompl) = 'N' and (select count(*) from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim and NOCOMPL='S') > 0 then '0' when upper(clcompl) = 'N' and flagpg = 0 then '0' when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' when upper(clcompl) = 'S' then '1' end from C6STAGINGPERIODICO.WSEIAN2 where 1=1 AND RETE = @Rete and 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 and dttrim = @DataFineTrim ELSE SET @retData = 'NN' -- PER IL MOMENTO RITORNO SOLO L'INDICATORE COMPLESSITA' return @retData END