103 lines
2.5 KiB
Transact-SQL
103 lines
2.5 KiB
Transact-SQL
-- Schema: C6Mart
|
|
-- Stored Procedure: DM_PREVIDENZIALE
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <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
|
|
|
|
|
|
|