-- Schema: C6MartPeriodico
-- Stored Procedure: DM_PARTITE_VIAGGIANTI


  
  
-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- =============================================  
CREATE procedure [C6MartPeriodico].[DM_PARTITE_VIAGGIANTI]  
AS  
BEGIN  
 SET NOCOUNT ON;  
  
 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  
  (Nome, Inizio, Nota)  
 VALUES (  
  'DM_PARTITE_VIAGGIANTI',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
  
 TRUNCATE TABLE C6MARTPERIODICO.PARTITE_VIAGGIANTI  
  
 INSERT INTO C6MartPeriodico.PARTITE_VIAGGIANTI  
  (RETE  
  ,COD_FISCALE  
  ,IMPORTO  
  ,ID_ELAB  
  ,TIPO_ELAB)  
 SELECT  
  WSEIPV.RETE AS RETE,  
  case when isnull(codman,'') ='' then  WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE,  
  SUM(IMPVER) AS IMPORTO,  
  @ID_ELAB,  
  @TIPO_ELAB  
 FROM  
  C6StagingPeriodico.WSEIPV  
 WHERE  
  WSEIPV.DTTRIM = (  
   SELECT  
    MAX(DTTRIM)  
   FROM  
    C6StagingPeriodico.WSEIPV  
  )  
 GROUP BY  
  WSEIPV.RETE,  
  case when isnull(codman,'') ='' then  WSEIPV.CODFIS else 'FF@'+ codman end  
  
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'DM_PARTITE_VIAGGIANTI' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO  
   WHERE  
    Nome = 'DM_PARTITE_VIAGGIANTI'  
  )  
  
END  
  
  
  


