CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_PROGETTICLIENTE]  
AS  
BEGIN  
 -- riportare le logiche nelle rispettive sp di PL  
 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_ST_PROGETTICLIENTE',  
  GETDATE(),  
  'Staging Immobiliare'  
 )  
TRUNCATE TABLE C6StagingPeriodicoImmobiliare.[RP_PROGETTICLIENTE]  
SELECT   
  contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza  
 ,contr.rete  
 ,contr.cod_fiscale  
 ,pro.chiaveProgetto  
 ,pro.area  
 ,pro.tipoProgetto  
INTO #ProgettiPianificazione  
FROM  
  C6StagingPeriodicoImmobiliare.RP_Pianificazione AS pian  
 INNER JOIN C6StagingPeriodicoImmobiliare.RP_Progetto AS pro  
 ON pian.chiaveconsulenza = pro.chiaveconsulenza  
    INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr  
 ON pian.chiaveClientePB = contr.chiaveClientePB  
 WHERE     
  (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null)  
--ricerco dati da Migrazione  
SELECT  
  contr.chiaveClientePB   
 ,contr.rete  
 ,contr.cod_fiscale  
 ,promig.chiaveProgetto  
 ,promig.area  
 ,promig.tipoProgetto  
INTO #ProgettiMigrazione  
FROM  
 C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione AS mig  
 INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto AS promig  
  ON mig.chiaveconsulenza = promig.chiaveconsulenza  
 LEFT JOIN #ProgettiPianificazione tc  
  ON mig.chiaveClientePB = tc.chiaveClientePB  
   INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr  
  ON mig.chiaveClientePB = contr.chiaveClientePB  
 WHERE  
  tc.chiaveClientePB IS NULL   
INSERT INTO C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE   
 SELECT * FROM #ProgettiPianificazione  
 UNION   
 SELECT * FROM #ProgettiMigrazione  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO_IMMOBILIARE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'RP_ST_PROGETTICLIENTE' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO_IMMOBILIARE  
   WHERE  
    Nome = 'RP_ST_PROGETTICLIENTE'  
  )  
END