PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql
2025-06-09 17:09:11 +02:00

96 lines
3.4 KiB
Transact-SQL

-- Stored procedure
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE procedure [C6MartPeriodicoImmobiliare].[DM_RISCHIO_AGGREGATO]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @ID_ELAB INT
DECLARE @TIPO_ELAB VARCHAR(1)
SET @ID_ELAB = C6MartPeriodico.GETIDELAB()
SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB()
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE
(Nome, Inizio, Nota)
VALUES (
'DM_RISCHIO_AGGREGATO',
GETDATE(),
'Mart Immobiliare'
)
TRUNCATE TABLE C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO
INSERT INTO C6MartPeriodicoImmobiliare.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(30,20)), 2) AS VAR_ASSOLUTO_PTF,
CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF,
ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF,
CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF,
ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR,
CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP,
CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO,
CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA,
CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG,
@ID_ELAB AS ID_ELAB,
@TIPO_ELAB AS TIPO_ELAB,
-- Modifica del 5/11/2018 - per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf)
--C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK,
C6martperiodico.getCreditRiskClass(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) AS CREDITRISK,
-- Fine Modifica del 5/11/2018
CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC,
-- Modifica del 5/11/2018 - per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf)
--c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT
c6martperiodico.getCreditRiskClassEmit(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS_EMIT
-- Fine Modifica del 5/11/2018
FROM
C6StagingPeriodicoImmobiliare.PROMETEIA_AGGR
--begin transaction
update C6MartPeriodicoImmobiliare.rischio_aggregato
set copertura = 100
where cod_aggreg = 'RISFIN|PIRAMIDE|Liq'
and CTV_AGGREG = 0
--commit
--and cod_fiscale= 'TRPDRA75D15A794T'
-- Log esecuzione
UPDATE
LOG_ESECUZIONE_PERIODICO_IMMOBILIARE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_RISCHIO_AGGREGATO' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE_PERIODICO_IMMOBILIARE
WHERE
Nome = 'DM_RISCHIO_AGGREGATO'
)
END