-- Schema: C6Mart
-- Stored Procedure: DM_PATRIMONIO_AGG

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6Mart].[DM_PATRIMONIO_AGG]
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 (
		'DM_PATRIMONIO_AGG',
		GETDATE(),
		'Elaborazione giornaliera'
	)

	TRUNCATE TABLE C6MART.PATRIMONIO_AGG

	INSERT INTO [C6Mart].[PATRIMONIO_AGG]
		   ([RETE]
		   ,[COD_FISCALE]
		   ,[COD_PRODOTTO]
		   ,[LIQUIDATO]
		   ,[INVESTITO]
		   ,[ID_AREA]
		   ,[ID_ELAB]
		   ,[TIPO_ELAB])
	SELECT 
		ALL_POS_CONS_CAT.RETE AS RETE,
		ALL_POS_CONS_CAT.CODICE_FISCALE AS COD_FISCALE,
		SUBSTRING(ALL_POS_CONS_CAT.STRINGONA_POS,1,57) AS COD_PRODOTTO,
		ALL_POS_CONS_CAT.C_OUTCTV_B4FB8 AS LIQUIDATO,
		ALL_POS_CONS_CAT.C_RISORSELIQ_DF807 AS INVESTITO,
		ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA AS ID_AREA,
		@ID_ELAB AS ID_ELAB,
		@TIPO_ELAB AS TIPO_ELAB
	FROM C6STAGING.ALL_POS_CONS_CAT
		
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_PATRIMONIO_AGG' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_PATRIMONIO_AGG'
		)

END



