-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_vTuttiIPortafogli_Aladdin_tab]
AS
BEGIN
	SET NOCOUNT ON;
	--dichiaro variabile data di trimestrale
	DECLARE @dttrim int
	--valorizzo la data di trimestrale al giorno del congelamento
	set @dttrim  = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int)
	--Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo
	--a partire dalla vista RP_vTuttiIPortafogli_Aladdin
	Truncate table C6StampeCentralizzate.C6MartPeriodico.RP_vTuttiIPortafogli_Aladdin_tab
	--
	insert into C6StampeCentralizzate.C6MartPeriodico.RP_vTuttiIPortafogli_Aladdin_tab
		select 
		'6' as FLGCLI ,
		'M' as FLGBL ,
		'B' as TIPOELA,
		@dttrim  as DTTRIM,
		rete,
		codfis,
		piva,
		codman,
		'' as CODFID,
		'' as CODAGE,
		CASE  
			WHEN cod_interno <> 'SINT3MEUR' and famprodt = 'DT' THEN isnull(cod_interno,'')   
			ELSE '' 
		END  as CODABI, 
		ISNULL(termid,00000000), 
		cast(annos as int) as anno ,
		cast(progs as int) as prog ,
		0 as quote,
		cast(ctvreale as float) as CTV,
		codconf, --17
		rubr,
		custgar,
		ISNULL(cod_interno,''),
		'' as codana,
		'' as FLAGPCT,
		--CASE  
		--	WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'')
		--	ELSE ''   
		--END 
		'' as codprod,
		ISNULL(cod_sottoprodotto,''),
		ISNULL(cod_isin,''),
		'' as codlinea,
		tipoptf,
		area,
		progetto,
		codprj,
		ISNULL(chiave_prodotto_terzi,''),
		ISNULL(assetterzi,''),
		ISNULL(famprodt,''),
		ISNULL(intermediario,''),
		ISNULL(codiceadeguatezza,''),
		ISNULL(cod_maf,''),
		conto,
		numpolizza,
		position_id
		from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin]
	-- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria
	select b.cod_mandato,b.rete,b.piva_fiduciaria into 
		#tab
		FROM 
			[C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] a
			inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b
			on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'')
	UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab]
		set piva = piva_fiduciaria
		from #tab tab
		inner join [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] as a 
		on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'')
END