CREATE procedure [level2martperiodico].[DM_PatrimonioTerziAggregato]  
AS  
-- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE_PERIODICO  
  (Nome, Inizio, Nota)  
 VALUES (  
  'level2martperiodico.DM_PatrimonioTerziAggregato',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
truncate table [level2martperiodico].PatrimonioTerziAggregato  
insert into [level2martperiodico].PatrimonioTerziAggregato  
SELECT  
 RETE,  
 COD_FISCALE,  
 SUM(ROUND(CTV, 2)) AS CTV,  
 SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2))  AS ControvaloreSenzaCC,  
 SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC,  
 count(DISTINCT INTERMEDIARIO) as NumeroIntermediari  
FROM  
 C6MartPeriodico.PATRIMONIO_TERZI  
GROUP BY  
 RETE,  
 COD_FISCALE  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO  
   WHERE  
    Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato'  
  )