-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- =============================================  
CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI_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_PERIODICO_IMMOBILIARE  
  (Nome, Inizio, Nota)  
 VALUES (  
  'RP_DM_ANAG_PRODOTTI_TERZI',  
  GETDATE(),  
  'Elaborazione trimestrale Immobiliare'  
 )  
 TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_PRODOTTI_TERZI  
  INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_PRODOTTI_TERZI]  
       ([COD_PRODOTTO]  
           ,[COD_PRODOTTO_TERZI]  
           ,[NOME_PRODOTTO]  
           ,[ALBERO_PRODOTTI]  
           ,[COD_ISIN]  
           ,[DESCR_PRODOTTO]  
           ,[DIV_QUOTAZIONE]  
           ,[INTERMEDIARIO]  
           ,[DIV_REGOLAMENTO]  
           ,[ID_EMITTENTE]  
           ,[MERCATO_CONTRATT]  
           ,[PAESE]  
           ,[RATING]  
           ,[ID_ELAB]  
           ,[TIPO_ELAB])       
 SELECT   
  --C6MartPeriodicoImmobiliare.VCONTRATTI.chiaveClientePB AS chiaveClientePB,  
  C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO,  
  ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI,  
  C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO,  
  NULL AS ALBERO_PRODOTTI,   
  NULL AS COD_ISIN,  
  C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO,  
  NULL AS DIV_QUOTAZIONE,  
  C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO,  
  NULL AS DIV_REGOLAMENTO,  
  NULL AS ID_EMITTENTE,  
  NULL AS MERCATO_CONTRATT,  
  NULL AS PAESE,  
  NULL AS RATING,  
  @ID_ELAB AS ID_ELAB,  
     @TIPO_ELAB AS TIPO_ELAB  
 FROM C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi  
 INNER JOIN C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi  
 ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi  
 INNER JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI  
 ON C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB  
 LEFT JOIN C6StagingPeriodicoImmobiliare.RP_MappingTerzi Mapping  
 ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi  
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO_IMMOBILIARE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO_IMMOBILIARE  
   WHERE  
    Nome = 'RP_DM_ANAG_PRODOTTI_TERZI'  
  )  
END