-- Schema: C6MartPeriodico -- Stored Procedure: DM_BONUS CREATE procedure [C6MartPeriodico].[DM_BONUS] 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.WSEIBO -- Log esecuzione INSERT INTO LOG_ESECUZIONE_PERIODICO (Nome, Inizio, Nota) VALUES ( 'DM_BONUS', GETDATE(), 'Elaborazione trimestrale' ) TRUNCATE TABLE [C6MartPeriodico].[BONUS] INSERT INTO [C6MartPeriodico].[BONUS] ( [RETE], [COD_FISCALE], [CTV], [DT_TRIM], [BONUS_M], [DTDEC_M], [BONUS_5], [DTDEC_5], [BONUS_10], [DTDEC_10], [COD_CONF], [COD_PROD] ) SELECT WSEIBO.[RETE] as [RETE], WSEIBO.[CODFIS] as [COD_FISCALE], WSEIBO.[CTV] as [CTV], convert(datetime,convert(varchar,WSEIBO.[DTTRIM]),100) as [DT_TRIM], WSEIBO.[BONUSM] as [BONUS_M], convert(datetime,convert(varchar,WSEIBO.[DTDECM]),100) as [DTDEC_M], WSEIBO.[BONUS5] as [BONUS_5], convert(datetime,convert(varchar,WSEIBO.[DTDEC5]),100) as [DTDEC_5], WSEIBO.[BONUS10] as [BONUS_10], convert(datetime,convert(varchar,WSEIBO.[DTDEC10]),100) as [DTDEC_10], WSEIBO.[CODCONF] as [COD_CONF], WSEIBO.[CODPROD] as [COD_PROD] FROM c6StagingPeriodico.WSEIBO WHERE WSEIBO.[DTTRIM] = @DTMAX -- Log esecuzione UPDATE LOG_ESECUZIONE_PERIODICO SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_BONUS' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE_PERIODICO WHERE Nome = 'DM_BONUS' ) END