-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6Mart].[DM_PREVIDENZIALE] AS BEGIN SET NOCOUNT ON; DECLARE @ID_ELAB INT DECLARE @TIPO_ELAB VARCHAR(1) SET @ID_ELAB = C6MART.GETIDELAB() SET @TIPO_ELAB = C6MART.GETTIPOELAB() -- Log esecuzione INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'DM_PREVIDENZIALE', GETDATE(), 'Elaborazione giornaliera' ) TRUNCATE TABLE C6MART.PREVIDENZIALE INSERT INTO [C6Mart].[PREVIDENZIALE] ([RETE] ,[COD_FISCALE] ,[ANNO_PENSIONE] ,[ETA_PENSIONE] ,[TOT_CONSUMI_ATTESI] ,[TOT_REDDITO_ANNUO] ,[REDDITO_CONSUMI_ESS] ,[PENSIONE_ATTESA_] ,[RENDITA_PREV_COMPL] ,[RENDITA_ASS] ,[REDDITO_CONSUMI_SEC] ,[RENDITA_ASS_TRAD] ,[RENDITA_ASS_UNIT] ,[RENDITA_IMMOB] ,[ALTRE_RENDITE] ,[DIV_RIFERIMENTO] ,[CAMBIO] ,[ID_ELAB] ,[TIPO_ELAB]) SELECT SUBSTRING(C6STAGING.ALL_CF_PB.RETE_PB,1,1) AS RETE, SUBSTRING(C6STAGING.ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, YEAR(DATEADD(YY, QUANTIF.RETIREMENTYEARS, ALL_CF_PB.DATA_NASCITA)) AS ANNO_PENSIONE, QUANTIF.RETIREMENTYEARS AS ETA_PENSIONE, QUANTIF.EXPNEEDSAMT AS TOT_CONSUMI_ATTESI, QUANTIF.GROSSINPRIMAMT + QUANTIF.GROSSINSECAMT AS TOT_REDDITO_ANNUO, QUANTIF.GROSSINPRIMAMT AS REDDITO_CONSUMI_ESS, QUANTIF.STATEPENSIONAMT AS PENSIONE_ATTESA_, QUANTIF.PRIVATEPENSIONAMT AS RENDITA_PREV_COMPL, QUANTIF.LIFEINTERESTAMT AS RENDITA_ASS, QUANTIF.GROSSINSECAMT AS REDDITO_CONSUMI_SEC, QUANTIF.INSINTERESTAMT AS RENDITA_ASS_TRAD, QUANTIF.INVINTERESTAMT AS RENDITA_ASS_UNIT, QUANTIF.REINTERESTAMT AS RENDITA_IMMOB, ESTRAZIONE_OTHINTRST.ALTRE_RENDITE AS ALTRE_RENDITE, QUANTIF.EXPNEEDSCUR AS DIV_RIFERIMENTO, NULL AS CAMBIO, @ID_ELAB AS ID_ELAB, @TIPO_ELAB AS TIPO_ELAB FROM C6STAGING.ALL_CF_PB INNER JOIN C6STAGING.QUANTIF ON ALL_CF_PB.ID_CLI = QUANTIF.F_OID__ADDRE_81D21 LEFT JOIN ( SELECT F_PQUANTIFIC_76FF6, SUM(INTERESTAMT) AS ALTRE_RENDITE FROM C6STAGING.OTHINTRST GROUP BY F_PQUANTIFIC_76FF6 ) ESTRAZIONE_OTHINTRST ON ESTRAZIONE_OTHINTRST.F_PQUANTIFIC_76FF6 = QUANTIF.OID_ -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_PREVIDENZIALE' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PREVIDENZIALE' ) END