-- Schema: C6Mart -- Stored Procedure: DM_EMAIL_PB -- ============================================= -- Author: Paolo Giovanetti -- Create date: 26 gennaio 2009 -- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. -- ============================================= CREATE procedure [C6Mart].[DM_EMAIL_PB] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Log esecuzione INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'DM_EMAIL_PB', GETDATE(), 'Elaborazione giornaliera' ) SELECT DISTINCT CODICI_PB.RETE AS RETE, CODICI_PB.CODICE AS CODICE, (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) AS PREFISSO, (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA --, -- CODICI_PB.LIVELLO AS LIVELLO, -- CODICI_PB.LIV_ORD AS LIV_ORD FROM ( SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD FROM C6MART.CONTRATTOSEI PB INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA ON PB.RETE = STRUTTURA.RETE AND PB.COD_AGENTE = STRUTTURA.PB UNION SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD FROM C6MART.CONTRATTOSEI PB INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA ON PB.RETE = STRUTTURA.RETE AND PB.COD_AGENTE = STRUTTURA.PB UNION SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD FROM C6MART.CONTRATTOSEI PB INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA ON PB.RETE = STRUTTURA.RETE AND PB.COD_AGENTE = STRUTTURA.PB UNION SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD FROM C6MART.CONTRATTOSEI PB INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA ON PB.RETE = STRUTTURA.RETE AND PB.COD_AGENTE = STRUTTURA.PB ) CODICI_PB LEFT JOIN C6MART.EMAIL_PB EMAIL_PB_ESISTENTI ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) AND CODICI_PB.RETE = PF.RETE WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL AND PF.RETE IS NULL --togliere --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') and CODICI_PB.CODICE not in ('015185') ---eliminato il filtro '010712' ---eliminato il filtro su '015089'--,'015163', 12/08 --ORDER BY CODICI_PB.LIV_ORD -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'SELECT', Righe = @@ROWCOUNT WHERE Nome = 'DM_EMAIL_PB' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_EMAIL_PB' ) END