-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_TERZI] 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_PATRIMONIO_TERZI', GETDATE(), 'Elaborazione trimestrale' ) TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI INSERT INTO C6MartPeriodico.[PATRIMONIO_TERZI] ([RETE] ,[COD_FISCALE] ,[NUM_POLIZZA] ,[TIPO_POLIZZA] ,[TIPO_PRODOTTO] ,[TIPO_PRODOTTO2] ,[COD_PRODOTTO] ,[COD_PRODOTTO_TERZI] ,[INTERMEDIARIO] ,[DATA_SOTTOSCRIZIONE] ,[DATA_SCADENZA] ,[FREQ_RATA] ,[DURATA_POLIZZA] ,[PREMIO] ,[ALIQUOTA] ,[DATA_SOTT_FP] ,[DATA_REGOLAMENTO] ,[QUANTITA] ,[PREZZO] ,[CTV] ,[VERSATO_NETTO] ,[DIV_REGOLAMENTO] ,[CAMBIO] ,[DESCR_GRUPPO_PRODOTTO] ,[STRTYPE] ,[COMPLEX] ,[EMITTENTE] ,[CHIAVE_THR] ,[ID_ELAB] ,[TIPO_ELAB] ) SELECT ALL_PATR_TERZI.RETE_PB AS RETE, ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, NULL AS NUM_POLIZZA, ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, CASE WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' THEN 'Altro' ELSE COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) END AS TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, CASE WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 THEN ALL_PATR_TERZI.BALANCEDATE_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ ELSE -- PRODOTTI S48 ALL_PATR_TERZI.DATA_INIZIO_INV END AS DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA_SCADENZA AS DATA_SCADENZA, ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A AS FREQ_RATA, NULL AS DURATA_POLIZZA, ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, NULL AS ALIQUOTA, ALL_PATR_TERZI.BALANCEDATE_DI_THR AS DATA_SOTT_FP, NULL AS DATA_REGOLAMENTO, NULL AS QUANTITA, NULL AS PREZZO, ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, NULL AS DIV_REGOLAMENTO, NULL AS CAMBIO, CASE WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) THEN 'Prodotti di Tipo amministrato (escluso C/C)' WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) THEN 'Assicurativi Unit/Index Linked' WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' THEN 'Portafoglio Generico' WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') THEN NULL ELSE NULL END AS DESCR_GRUPPO_PRODOTTO, STRTYPE, COMPLEX, EMITTENTE, ALL_PATR_TERZI.CHIAVE_THR, @ID_ELAB AS ID_ELAB, @TIPO_ELAB AS TIPO_ELAB FROM c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI--C6STAGINGPERIODICO.ALL_PATR_TERZI C6STAGINGPERIODICO.ALL_PATR_TERZI INNER JOIN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA LEFT JOIN ( SELECT DISTINCT ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 FROM c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI --C6STAGINGPERIODICO.ALL_PATR_TERZI INNER JOIN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA ) PRODOTTI_NON_A_CATALOGO ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR LEFT JOIN ( SELECT CATITEMREF.CATALOGUEID AS CATALOGUEID, CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, CATITEMREF.STRTYPE, CATITEMREF.COMPLEX, MIT.DESCR AS EMITTENTE FROM C6STAGINGPERIODICO.CATITEMREF LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT ON MIT.CODEMI=CATITEMREF.CODEMI ) PRODOTTI_A_CATALOGO ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_PATRIMONIO_TERZI' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PATRIMONIO_TERZI' ) END