-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @ID_ELAB INT DECLARE @TIPO_ELAB VARCHAR(1) SET @ID_ELAB = C6MART.GETIDELAB() SET @TIPO_ELAB = C6MART.GETTIPOELAB() -- Log esecuzione INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'DM_RISCHIO_AGGREGATO', GETDATE(), 'Elaborazione giornaliera' ) -- Insert statements for procedure here TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO INSERT INTO C6MART.RISCHIO_AGGREGATO( RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB, CREDITRISK, Ully_perc, CREDITRISKEMIT ) SELECT PROMETEIA_AGGR.RETE AS RETE, PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, -- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, -- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, ROUND(CAST(cast(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO as float) AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, CAST(cast(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO as float) AS DECIMAL(10,2)) AS VAR_PERC_PTF, ROUND(CAST(cast(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO as float) AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, CAST(cast(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO as float) AS DECIMAL(10,2)) AS CVAR_PERC_PTF, ROUND(CAST(cast(PROMETEIA_AGGR.MCVAR as float) AS DECIMAL(30,20)), 2) AS MCVAR, CAST(cast(PROMETEIA_AGGR.MCVARP as float) AS DECIMAL(10,2)) AS MCVARP, CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, --V il CC deve avere sempre copertura = 100 CASE WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 --intervento correttivo per mancata conversione da varchar a int dell'08/04/22 --ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) ELSE CAST(cast(PROMETEIA_AGGR.COPERTURA as float) AS DECIMAL(10,2)) --fine intervento correttivo per mancata conversione da varchar a int dell'08/04/22 END AS COPERTURA, CAST(cast(PROMETEIA_AGGR.TOTALE as float) AS DECIMAL(30,20)) AS CTV_AGGREG, @ID_ELAB AS ID_ELAB, @TIPO_ELAB AS TIPO_ELAB, -- modifica del 3/10/2018 per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) --c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, c6mart.getCreditRiskClass(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS, -- fine modifica del 3/10/2018 CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, -- modifica del 3/10/2018 per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) --c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT c6mart.getCreditRiskClassEmit(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS_EMIT -- fine modifica del 3/10/2018 FROM C6STAGING.PROMETEIA_AGGR --modifica per percentuali congruenti su PdC 23/07/2023 con adeguatezza update VC set VC.VAR_COMPLESSIVO_BF=RA.VAR_PERC_PTF FROM C6Mart.RISCHIO_AGGREGATO AS RA INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC ON RA.RETE = VC.RETE AND RA.COD_FISCALE = VC.COD_FISCALE where RA.COD_AGGREG = 'COMPLESSIVO|BF' --fine modifica -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_RISCHIO_AGGREGATO' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_RISCHIO_AGGREGATO' ) END