-- Schema: C6MartPeriodico
-- Stored Procedure: DM_AREA_BISOGNO

CREATE procedure [C6MartPeriodico].[DM_AREA_BISOGNO]  
AS  
BEGIN  
 -- SET NOCOUNT ON added to prevent extra result sets from  
 -- interfering with SELECT statements.  
 SET NOCOUNT ON;  
  
    -- Insert statements for procedure here  
  
 TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO  
   
 DECLARE @ID_ELAB INT  
 SET @ID_ELAB = C6MartPeriodico.GETIDELAB()  
  
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE  
  (Nome, Inizio, Nota)  
 VALUES (  
  'DM_AREA_BISOGNO',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
  
 INSERT INTO C6MartPeriodico.[AREA_BISOGNO]  
           ([ID_AREA]  
           ,[NOME_AREA]  
           ,[ORDINAMENTO]  
           ,[ID_ELAB])  
 SELECT   
  LTRIM(RTRIM(NEEDAREA.OID$)) AS ID_AREA,  
  LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA,  
  NEEDAREA.AREASORTORDER AS ORDINAMENTO,  
  @ID_ELAB AS ID_ELAB  
 FROM C6STAGINGPERIODICO.NEEDAREA  
  
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'DM_AREA_BISOGNO' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE  
   WHERE  
    Nome = 'DM_AREA_BISOGNO'  
  )  
  
END