﻿-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- =============================================  
--select * from C6MartPeriodicoImmobiliare.assetclass  
CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS]  
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 (  
  'RP_DM_ASSETCLASS',  
  GETDATE(),  
  'Mart Immobiliare'  
 )  
 TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSETCLASS  
 SELECT
  A.ASSET AS ID_ASSETCLASS,  
  A.DESCRIZIONE AS DESCRIZIONE,  
  A.LIVELLO AS LIVELLO,  
  B.ORDINAMENTO_ASSET AS ORDINAMENTO,  
  @ID_ELAB AS ID_ELAB 
  into #temp_asset
 FROM C6StagingPeriodicoImmobiliare.RP_ASSETCLASS A  
 JOIN   
 C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE B  
  ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO  
   INSERT INTO [C6MartPeriodicoImmobiliare].[ASSETCLASS]  
     ([ID_ASSETCLASS]  
     ,[DESCRIZIONE]  
     ,[LIVELLO]  
     ,[ORDINAMENTO]  
     ,[ID_ELAB])   
     select ID_ASSETCLASS,  
     DESCRIZIONE,  
     LIVELLO,  
    ORDINAMENTO,  
   ID_ELAB 
  from #temp_asset
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO_IMMOBILIARE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'RP_DM_ASSETCLASS' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO_IMMOBILIARE  
   WHERE  
    Nome = 'RP_DM_ASSETCLASS'  
  )  
END