CREATE procedure [C6StagingPeriodico].[RP_ST_Pianificazione]  
as  
begin   
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE_PERIODICO  
  (Nome, Inizio, Nota)  
 VALUES (  
  'RP_ST_Pianificazione',  
  GETDATE(),  
  'Elaborazione Trimestrale'  
 )  
 truncate table C6StagingPeriodico.RP_Pianificazione
	insert into C6StagingPeriodico.RP_Pianificazione (
	chiaveConsulenza
		,chiaveClientePB
		,dtUltimoAggiornamento
		,risorseFinanziarieBF
		,risorseFinanziarieTerzi
		,contoCorrente
		,rischioCredito
		,rischioMercato
		,diversificazione
		,copertura
		,isAttivoRC
		,partiteViaggianti
		,dtPrimaMigrazione
		,dtPianificazioneOrizzontale
		,dtPianificazioneVerticale
		,token
		,varRisorseAllocate
		,coperturaRisorseAllocate
		,lineaself
		)
	SELECT
		chiaveConsulenza
		,pian.chiaveClientePB
		,pian.dtAggiornamento as dtUltimoAggiornamento
		,Null as risorseFinanziarieBF
		,Null as risorseFinanziarieTerzi
		,Null as contoCorrente
		,null as rischioCredito
		,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%')
			or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato
				 --rischioCreditoDecodificatoRFA as rischioCredito
		,coperturaRFA as diversificazione
		,coperturaRisAll as copertura
		,null as isAttivoRC
		,partiteViaggianti
		,dtPrimaMigrazione
		,dtPianificazioneOrizzontale
		,dtPianificazioneVerticale
		,tok.value as Token
		,null as varRisorseAllocate
		,coperturaRisorseAllocate
		,null AS lineaself
FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian
--------------------- modifica del 13/1/2017 (inner join cambiata con left)
left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok
--------------------- fine modifica del 13/1/2017 (inner join cambiata con left)
on pian.chiaveToken = tok.chiavetoken
inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev
on ev.chiaveclientePb = pian.chiaveclientepb
--------------------- modifica del 13/1/2017 (flag pianificazione non più gestito; tutti pianificati)
--where ev.flagPianificazione = 1
--------------------- fine modifica del 13/1/2017
/*  POPOLO RISORSE FINANZIARIE BF   */
SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB
into #APPO
    from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian
	inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a
	on a.chiaveconsulenza = pian.chiaveconsulenza
	inner join  CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog
	on a.chiaveArea = prog.chiavearea
	inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod
	on propirMod.chiaveprogettomod = prog.chiaveprogettomod
	inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor
	on pospor.chiaveprogetto = prog.chiaveprogetto
	inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett
	on dett.chiaveposizioneptf = pospor.chiaveposizioneptf
	group by pian.chiaveclientePB
	UPDATE  C6StagingPeriodico.RP_Pianificazione
	SET risorseFinanziarieBF = a.RisorseFinanziareBF
    from #APPO a
	inner join C6StagingPeriodico.RP_Pianificazione rpPian
	on rpPian.chiaveclientePB = a.chiaveClientePB
 -- Log esecuzione  
 UPDATE  
  LOG_ESECUZIONE_PERIODICO  
 SET  
  Fine = GETDATE(),  
  Tipo = 'INSERT',  
  Righe = @@ROWCOUNT  
 WHERE  
  Nome = 'RP_ST_Pianificazione' AND  
  Inizio = (  
   SELECT  
    MAX(Inizio)  
   FROM  
    LOG_ESECUZIONE_PERIODICO  
   WHERE  
    Nome = 'RP_ST_Pianificazione'  
  )  
end