CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Posizioni_pre_selective] as
begin 
	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'RP_ST_Migraz_Posizioni_pre_selective',
		GETDATE(),
		'Elaborazione Trimestrale'
	)
	truncate table C6StagingPeriodico.RP_Migraz_Posizioni
	insert into C6StagingPeriodico.RP_Migraz_Posizioni
SELECT 
      ptf.[chiavePosizioneptf]
      ,[chiaveProgetto]
      ,[chiaveProdotto]
      ,ptf.[dtInizioValidita]
      ,'99991231' as dtFineValidita
      ,[conto]
      ,[rubricato]
      ,[codConf]
      ,[numPolizza]
      ,[custGar]
      ,[codAbi]
      ,[termId]
      ,[anno]
      ,[prog]
      ,null as Ctv
  FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio ptf
 select sum(ctv) as Ctv,chiaveprodotto,pospor.chiaveposizionePtf,pospor.chiaveprogetto,codconf
 into #appo
 from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio pospor
 inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.dettaglioPosizionePortafoglio dett
 on pospor.chiavePosizionePtf = dett.chiaveposizionePtf
 inner join  CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog
 on prog.chiaveprogetto = pospor.chiaveprogetto
 inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a
 on a.chiaveArea = prog.chiavearea
 inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian
 on a.chiaveconsulenza = pian.chiaveconsulenza
 group by pospor.chiavePosizionePtf,pospor.chiaveprogetto,pospor.chiaveprodotto,codconf
	UPDATE C6StagingPeriodico.RP_Migraz_Posizioni
	SET Ctv = a.Ctv
    from #APPO a
	inner join C6StagingPeriodico.RP_Migraz_Posizioni migraz
	on migraz.chiavePosizione = a.chiavePosizionePtf
	and migraz.chiaveprogetto = a.chiaveProgetto
	and migraz.chiaveprodotto = a.chiaveprodotto
	and migraz.codconf		  = a.codconf
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_ST_Migraz_Posizioni_pre_selective' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_ST_Migraz_Posizioni_pre_selective'
		)
end