-- Schema: C6MartPeriodico
-- Stored Procedure: DM_PATRIMONIO_ALTRO

-- Stored procedure  
  
-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- =============================================  
CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_ALTRO]  
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_PATRIMONIO_ALTRO',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
  
 TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO  
  
 INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO]  
           ([RETE]  
           ,[COD_FISCALE]  
           ,[QUANTITA]  
           ,[DESCRIZIONE]  
           ,[CTV]  
           ,[ID_ELAB]  
           ,[TIPO_ELAB])  
  
 SELECT   
  ALL_PATR_TERZI.RETE_PB AS RETE,  
  ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE,  
  ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA,  
  right(ALL_PATR_TERZI.DENOMINAZIONE,50) AS DESCRIZIONE,  
  ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV,  
  @ID_ELAB AS ID_ELAB,  
  @TIPO_ELAB AS TIPO_ELAB  
 FROM   
  C6StagingPeriodico.ALL_PATR_TERZI  
 WHERE   
  ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18  
  
 UNION  
  
 SELECT   
  ALL_PATR_TERZI.RETE_PB AS RETE,  
  ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE,  
  NULL AS QUANTITA,  
  right(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,50) AS DESCRIZIONE,  
  ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV,  
  @ID_ELAB AS ID_ELAB,  
  @TIPO_ELAB AS TIPO_ELAB  
 FROM   
  C6StagingPeriodico.ALL_PATR_TERZI  
 WHERE   
  ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4  
  
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'DM_PATRIMONIO_ALTRO' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE  
   WHERE  
    Nome = 'DM_PATRIMONIO_ALTRO'  
  )  
  
END