-- Schema: C6MartPeriodico -- Stored Procedure: DM_ANAG_PROMOTORI -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6MartPeriodico].[DM_ANAG_PROMOTORI] 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 (Nome, Inizio, Nota) VALUES ( 'DM_ANAG_PROMOTORI', GETDATE(), 'Elaborazione trimestrale' ) TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI INSERT INTO C6MartPeriodico.[ANAG_PROMOTORI] ([RETE] ,[ID_PROMOTORE] ,[LIVELLO] ,[COD_FISCALE] ,[PARTITA_IVA] ,[COGNOME] ,[NOME] ,[RAG_SOC] ,[DATA_INIZIO] ,[DATA_FINE] ,[INDIRIZZO] ,[LOCALITA] ,[PROVINCIA] ,[CAP] ,[NAZIONE] ,[TEL_RECAPITO] ,[TEL_CELL] ,[E_MAIL] ,[COD_ABI] ,[COD_CAB] ,[COD_CIN] ,[COD_CC] ,[STATO] ,[ID_ELAB] ,[TIPO_ELAB]) SELECT DISTINCT ADS4WS_PROMOTORI.RETE AS RETE, ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, 'PB' AS LIVELLO, -- TODO: DA RIMUOVERE UNA VOLTA IMPORTATI I DATI DAL SIMPB NULL AS COD_FISCALE, NULL AS PARTITA_IVA, rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, NULL AS RAG_SOC, CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, NULL AS NAZIONE, rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, NULL AS TEL_CELL, rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, NULL AS COD_ABI, NULL AS COD_CAB, NULL AS COD_CIN, NULL AS COD_CC, -- CASE -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' -- ELSE CASE WHEN PF.RETE IS NULL THEN 'ATTIVO' ELSE 'FITTIZIO' END -- END AS STATO , @ID_ELAB AS ID_ELAB, @TIPO_ELAB AS TIPO_ELAB FROM C6STAGINGPERIODICO.ADS4WS_PROMOTORI ADS4WS_PROMOTORI LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) AND ADS4WS_PROMOTORI.RETE = PF.RETE WHERE ADS4WS_PROMOTORI.STATO = 'A' -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_ANAG_PROMOTORI' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_ANAG_PROMOTORI' ) END