PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql
2025-06-06 19:02:52 +02:00

104 lines
2.6 KiB
Transact-SQL

-- Schema: C6MartPeriodico
-- Stored Procedure: DM_MONITORAGGIO_REPORT
-- =============================================
-- Author: Alessandro Tringali
-- Create date: 19 Dicembre 2009
-- Description:
-- =============================================
CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_REPORT]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ID_ELAB INT
SET @ID_ELAB = [C6MartPeriodico].GETIDELAB()
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_MONITORAGGIO_REPORT',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT]
INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT]
([RETE]
,[COD_FISCALE]
,[DATA_INVIO]
,[CTV_TOTALE]
,[CTV_EXT]
,[CTV_INV]
,[CTV_RIS]
,[CTV_PRE]
,[CTV_LIQ]
,[CTV_CC]
,[CTV_NA]
,[PARTITA_VIAGGIANTE]
,[VAR_COMPLESSIVO]
,[VAR_COPERTURA]
,[PROFILO]
,[VAR_MAX_PROFILO]
, riskclass
, riskclassmax
,[ID_ELAB])
SELECT
RETE,
COD_FISCALE,
DATA_FASE AS DATA_INVIO,
SUM(CONTROVALORE) as CTV_TOTALE,
SUM(CASE WHEN AREA= 'EXT' THEN CONTROVALORE ELSE 0 END ) AS CTV_EXT,
SUM(CASE WHEN AREA= 'INV' THEN CONTROVALORE ELSE 0 END ) AS CTV_INV,
SUM(CASE WHEN AREA= 'RIS' THEN CONTROVALORE ELSE 0 END )AS CTV_RIS,
SUM(CASE WHEN AREA= 'PRE' THEN CONTROVALORE ELSE 0 END )AS CTV_PRE,
SUM(CASE WHEN AREA= 'LIQ' THEN CONTROVALORE ELSE 0 END ) AS CTV_LIQ,
Max(CONTOCORRENTE )AS CTV_CC,
Max(RISORSENONALLOCATE) AS CTV_NA,
MAX(INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE,
MAX(VAR_PERC_PTF) AS VAR_COMPLESSIVO,
MAX(COPERTURA) as VAR_COPERTURA,
mAX(PROFILO) AS PROFILO,
MAX(MAX_VAR) AS VAR_MAX_PROFILO,
MAX(RISKCLASS) AS RISKCLASS,
MAX(RISKCLASSMAX) AS RISKCLASSMAX,
@ID_ELAB AS ID_ELAB
FROM C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6
GROUP BY
RETE,
COD_FISCALE,
DATA_FASE
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_MONITORAGGIO_REPORT' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_MONITORAGGIO_REPORT'
)
END