﻿-- =============================================  
-- Author:  Paolo Giovanetti  
-- Create date: 22 gennaio 2009  
-- Description: MOLTO SEMPLIFICATA RISPETTO A QUELLA DELLA FASE UNO: SOLO PB  
-- =============================================  
CREATE procedure [C6MartPeriodico].[DM_EMAIL_PB]  
AS  
BEGIN  
 -- SET NOCOUNT ON added to prevent extra result sets from  
 -- interfering with SELECT statements.  
 SET NOCOUNT ON;  
 --TRUNCATE TABLE C6MARTPERIODICO.EMAIL_PB  
 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_EMAIL_PB',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
 SELECT DISTINCT  
  CONTRATTOSEI.RETE AS RETE,   
  CONTRATTOSEI.COD_AGENTE AS CODICE,  
  CASE CONTRATTOSEI.RETE   
   WHEN 'F' THEN 'R' 
   when 'W' THEN 'W'
   ELSE 'P'   
  END AS PREFISSO,  
  CASE CONTRATTOSEI.RETE   
   WHEN 'F' THEN 'R'   
   when 'W' THEN 'W'
   ELSE 'P'   
  END + CONTRATTOSEI.COD_AGENTE AS FIRMA  
,  
  @ID_ELAB AS ID_ELAB,  
  @TIPO_ELAB AS TIPO_ELAB  
 FROM C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport CONTRATTOSEI  
 LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB_ESISTENTI  
  ON EMAIL_PB_ESISTENTI.RETE = CONTRATTOSEI.RETE  
  AND EMAIL_PB_ESISTENTI.CODICE = CONTRATTOSEI.COD_AGENTE  
 LEFT JOIN C6MARTPERIODICO.CODICI_PROMOTORI_FITTIZI PF  
  ON (CONTRATTOSEI.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA)  
  AND CONTRATTOSEI.RETE = PF.RETE  
 WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL   
 AND PF.RETE IS NULL  
    ORDER BY 1,2  
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO  
 SET  
  Fine = GETDATE(),  
  Tipo = 'SELECT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'DM_EMAIL_PB' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO  
   WHERE  
    Nome = 'DM_EMAIL_PB'  
  )  
END