CREATE procedure [wh].[MERGED_PROCEDURE_S178] AS BEGIN SET NOCOUNT ON; DECLARE @DataFineTrim VARCHAR(8) SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) --exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'F', '00158650309' --exec [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', '00158650309' --exec [wh].[p_PL_D_S178IndicatoriEsitoAdeguatezza] 'F', '00158650309' insert into [wh].[PL_D_S178IndicatoriEsitoAdeguatezza] select 'C6MartPeriodico.PL_D_S178IndicatoriEsitoAdeguatezza', a.i_rete, a.i_CodiceFiscale, a.i_rete, a.i_CodiceFiscale, -- RISCHIO MERCATO --var, varmax, case when var <= varmax then '1' when var > varmax then '0' else -1 end as RM_Adeguatezza, case when var <= varmax then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') when var > varmax then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') end as RM_Descrizione, -- FINE RISCHIO MERCATO -- RISCHIO CREDITO --RISKCLASS, RISKCLASSMAX, case --20180820 CR su Rischio Credito: quando non è stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito è NULL) -- l'indicatore di adeguatezza Rischio Credito è 1 (Adeguato) when RISKCLASS is null then '1' --20180820 FINE CR su Rischio Credito when RISKCLASS <= convert(int,RISKCLASSMAX) then '1' when RISKCLASS > convert(int,RISKCLASSMAX) then '0' else -1 end as RC_Adeguatezza, case --20180820 CR su Rischio Credito: quando non è stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito è NULL) -- l'indicatore di adeguatezza Rischio Credito è 1 (Adeguato) when RISKCLASS is null then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') --20180820 FINE CR su Rischio Credito when RISKCLASS <= convert(int,RISKCLASSMAX) then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') when RISKCLASS > convert(int,RISKCLASSMAX) then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') end as RC_Descrizione, -- FINE RISCHIO CREDITO -- CONCENTRAZIONE EMITTENTI --b.concemi, case when upper(b.concemi) = 'S' then '1' when upper(b.concemi) = 'N' then '0' else -1 end as CE_Adeguatezza, case when upper(b.concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') when upper(b.concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') end as CE_Descrizione, -- FINE CONCENTRAZIONE EMITTENTI -- COMPLESSITA' --b.flgprof, b.flagpg, b.flagnqp, b.flgprlrde, b.clcompl, case when b.flgprof = 'S' then 'prof' when b.flagpg = 1 and b.flgprof = 'N' and b.flagnqp = 'S' and b.flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 when upper(b.clcompl) = 'N' and (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = a.i_codiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' when upper(b.clcompl) = 'N' and b.flagpg = 0 then '0' when upper(b.clcompl) = 'N' and b.flagpg = 1 and b.flgprlrde = 'N' then '0' when upper(b.clcompl) = 'S' then '1' end as CM_Adeguatezza, case when b.flagpg = 1 and b.flgprof = 'N' and b.flagnqp = 'S' and b.flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') when upper(clcompl) = 'N' and (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = a.i_codiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') when upper(clcompl) = 'N' and b.flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') when upper(clcompl) = 'N' and b.flagpg = 1 and b.flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') end as CM_Descrizione, -- FINE COMPLESSITA' -- CONCENTRAZIONE PRODOTTI COMPLESSI --b.flgprof, b.flgconc, case when b.flgprof = 'S' then 'prof' when upper(b.flgconc) = 'S' then '1' when upper(b.flgconc) = 'N' then '0' else '-1' end as CC_Adeguatezza, case when upper(b.flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') when upper(b.flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') end as CC_Descrizione, -- FINE CONCENTRAZIONE PRODOTTI COMPLESSI -- FREQUENZA --b.flgprof, b.freq, case when b.flgprof = 'S' then 'prof' when upper(b.freq) = 'S' then '1' when upper(b.freq) = 'N' then '0' else '-1' end as FQ_Adeguatezza, case when upper(b.freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') when upper(b.freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') end as FQ_Descrizione, -- FINE FREQUENZA -- LIQUIDITA' / LIQUIDABILITA' --b.lliquid, case when upper(b.lliquid) = 'S' then '1' when upper(b.lliquid) = 'N' then '0' else '-1' end as LQ_Adeguatezza, case when upper(b.lliquid) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') when upper(b.lliquid) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') end as LQ_Descrizione -- FINE LIQUIDITA' / LIQUIDABILITA' from [wh].[PL_D2_S169RischiomercatoRischiocredito] a inner join C6StagingPeriodico.WSEIAN2 b on a.i_rete = b.rete and a.i_codiceFiscale = (case when isnull(b.CodMan, '') <> '' then 'FF@' + b.CodMan else b.CodFis end) where a.ordine = 1 --and a.i_codiceFiscale in ( ----codici di test --'ff@10005', --'00072930076', --'00118220524', --'00123360075', --'00156630063', --'00158650309' --) and b.DtTrim = @DataFineTrim --select top 10 * from c6stagingperiodico.wseian where isnull(codman, '') <> '' END