-- Schema: C6Mart
-- Stored Procedure: RP_DM_ASSET_PERC



-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6Mart].[RP_DM_ASSET_PERC]
AS
BEGIN

	SET NOCOUNT ON;

	DECLARE @ID_ELAB INT
	DECLARE @TIPO_ELAB VARCHAR(1)

	SET @ID_ELAB = C6MART.GETIDELAB()
	SET @TIPO_ELAB = C6MART.GETTIPOELAB()

	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'RP_DM_ASSET_PERC',
		GETDATE(),
		'Elaborazione giornaliera'
	)

	TRUNCATE TABLE C6MART.ASSET_PERC

	INSERT INTO [C6Mart].[ASSET_PERC]
		   (
		    [COD_PRODOTTO]
		   ,[ID_ASSETCLASS]
		  ,[COD_ISIN]
		  ,[COD_MAF]
		   ,[COD_INTERNO]
		   ,[COD_SOTTOPRODOTTO]
		   ,[LIVELLO]
		   ,[PERC]
		  ,[ID_ELAB]
,[TIPO_ELAB]
)
		   
	SELECT DISTINCT
		--SUBSTRING(con.position_id,1,57) AS COD_PRODOTTO,
		--dbo.Crea_positionID(con.codConf, con.conto, con.rubricato, con.custGar, pospor.numPolizza, con.termId, con.anno, con.prog) AS COD_PRODOTTO
		cat.CatalogueID AS COD_PRODOTTO
		,LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS
	   ,cat.CodIsin AS COD_ISIN
		,cat.CodMaf AS COD_MAF
		,cat.CodInterno AS COD_INTERNO
		,cat.CodSottoprodotto AS COD_SOTTOPRODOTTO
		,ac.Livello AS LIVELLO
		,map.Percentuale AS PERC		
		,@ID_ELAB AS ID_ELAB
		,@TIPO_ELAB AS TIPO_ELAB

	--INTO C6MART.ASSET_PERC
	FROM
	/*
		C6Staging.RP_CONSULENZA AS con
	INNER JOIN
		C6Staging.RP_PosizioniPortafoglio AS pospor
	ON
		con.chiaveProgetto = pospor.chiaveProgetto
	INNER JOIN*/
		C6Staging.RP_Mappatura AS map
	/*ON
		pospor.chiaveProdotto = map.ChiaveProdotto*/
	INNER JOIN
		C6Staging.RP_AssetClass AS ac
	ON
		map.Asset = ac.Asset
	INNER JOIN
		C6Staging.RP_CatalogoProdotti cat
	ON
		map.ChiaveProdotto = cat.ChiaveProdotto

--WHERE SUBSTRING(con.position_id,1,57) IS NOT NULL --togliere



	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_DM_ASSET_PERC' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_DM_ASSET_PERC'
		)

END





