﻿-- Stored procedure  
-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014)  
-- =============================================  
CREATE procedure [C6MartPeriodicoImmobiliare].[DM_ANAG_SELF]  
AS  
BEGIN  
 -- SET NOCOUNT ON added to prevent extra result sets from  
 -- interfering with SELECT statements.  
 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 (  
  'DM_ANAG_SELF',  
  GETDATE(),  
  'Elaborazione trimestrale Immobiliare'  
 )  
 TRUNCATE TABLE [C6MartPeriodicoImmobiliare].[ANAG_SELF]  
 INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_SELF]  
  (RETE  
  ,CODFIS  
  ,CODCONF  
  ,NOMEPRODOTTO  
  ,CTV  
  ,DATASOTT  
  ,[ID_ELAB]  
  ,[TIPO_ELAB]
  -- mio foglio
  ,CodInterno
  ,CodSottoprodotto)  
 SELECT  
   SPB.RETE  
  ,SPB.CODFIS  
  ,SPB.CODCONF  
  ,CAT.NomeProdotto  
  ,SPB.CTV  
  ,SPB.DTSOTTOS  
  ,@ID_ELAB AS ID_ELAB  
  ,@TIPO_ELAB AS TIPO_ELAB  
   ,CodInterno
  ,CodSottoprodotto 
 FROM   
  C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB  
 inner join C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CAT  
 on SPB.isin = CAT.codisin and CAT.visibilita = 1  
  -- aggiunto il 17/12/2018 per gestire l'ambiguità tra GP e FO a parità di Isin
 and SPB.CodInt = CAT.CodInterno
 -- fine modifica
 WHERE SPB.isin in ('EURO00000009', 'EURO10000007')  
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO_IMMOBILIARE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'DM_ANAG_SELF' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO_IMMOBILIARE  
   WHERE  
    Nome = 'DM_ANAG_SELF'  
  )  
END