CREATE procedure [C6MartPeriodico].[DM_SCADENZE] AS BEGIN SET NOCOUNT ON; DECLARE @ID_ELAB INT DECLARE @TIPO_ELAB VARCHAR(1) DECLARE @DTMAX INT SET @ID_ELAB = C6MartPeriodico.GETIDELAB() SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC -- Log esecuzione INSERT INTO LOG_ESECUZIONE_PERIODICO (Nome, Inizio, Nota) VALUES ( 'DM_SCADENZE', GETDATE(), 'Elaborazione trimestrale' ) TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] --select * from [C6MartPeriodico].[[SCADENZE]] INSERT INTO [C6MartPeriodico].[SCADENZE] ( WSEIPR.RETE, DTTRIM, COD_FISCALE, COD_INTERNO , COD_SOTTOPRODOTTO, DESPROD, DTSCAD, TIPMOV ) SELECT WSEISC.RETE, convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], WSEISC.CODFIS, COD_INTERNO = CASE -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD -- ELSE WSEISC.CODABI WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD ELSE LTRIM(RTRIM(WSEISC.CODABI)) END, COD_SOTTOPRODOTTO = CASE WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) END, -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , [C6MartPeriodico].[getDESPRODCAT] (CASE WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD ELSE LTRIM(RTRIM(WSEISC.CODABI)) END, CASE WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) END) as DESPROD , convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, WSEISC.TIPMOV FROM c6StagingPeriodico.WSEISC WSEISC -- modifica del 28/4/2017 per s&m selective inner join c6StagingPeriodico.appo_contratti_v appo on wseisc.rete = appo.rete and wseisc.codfis = appo.cod_fiscale --fine modifica del 28/4/2017 per s&m selective WHERE WSEISC.[DTTRIM] = @DTMAX -- Log esecuzione UPDATE LOG_ESECUZIONE_PERIODICO SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_SCADENZE' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE_PERIODICO WHERE Nome = 'DM_SCADENZE' ) -- FC 22/01/2014 -- Verifica e scarto prodotti INSERT INTO C6MARTPERIODICO.TEST_QUALITY SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' END