-- =============================================  
-- 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