-- Schema: C6MartPeriodico
-- Stored Procedure: DM_PATRIMONIO_TERZI

  
-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <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  
