-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- =============================================  
CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_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_ASSETCLASS_TERZI',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
 TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS_TERZI  
 INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI]  
           ([ID_ASSETCLASS]  
           ,[COD_ISIN]  
           ,[COD_MAF]  
           ,[COD_ADEGUATEZZA]  
           ,[ID_ELAB]  
           ,[TIPO_ELAB])  
 SELECT   
  LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS,  
  LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN,  
  LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF,  
  LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA,  
  @ID_ELAB AS ID_ELAB,  
  @TIPO_ELAB AS TIPO_ELAB  
 FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET  
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'DM_ASSETCLASS_TERZI' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE  
   WHERE  
    Nome = 'DM_ASSETCLASS_TERZI'  
  )  
END