-- Schema: C6MartPeriodico
-- Stored Procedure: DM_PATRIMONIO_BF_pre_selective



CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF_pre_selective]
AS
BEGIN
	-- riportare le logiche nelle rispettive sp di PL
	SET NOCOUNT ON;

	DECLARE @ID_ELAB INT
	DECLARE @TIPO_ELAB VARCHAR(1)

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

	-- Log esecuzione
	INSERT INTO LOG_ESECUZIONE
		(Nome, Inizio, Nota)
	VALUES (
		'DM_PATRIMONIO_BF_pre_selective',
		GETDATE(),
		'Elaborazione trimestrale'
	)
	
	TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF
    
	SELECT 
		CONTRATTOSINTESI.RETE AS RETE,
		CONTRATTOSINTESI.CODFIS AS COD_FISCALE,
		CONTRATTOSINTESI.POSITIONID AS POSITIONID,
		SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, 
		CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO,
		CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL
				ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME)
		END AS DATA_SOTTOSCRIZIONE,
		NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO,
		CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA,
		CONTRATTOSINTESI.MAF AS COD_MAF,
		CONTRATTOSINTESI.CODINT AS COD_INTERNO,
		CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO,
		CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO,
		CASE
			WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti'
			ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A))
		END AS NOME_PROGETTO,
        PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO,
		CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA,
		CASE
			WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL
			ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME)
		END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE,
		NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY
		NULL AS DATA_REGOLAMENTO,
		CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA,
		NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO,
		CONTRATTOSINTESI.CTV AS CTV,
		CONTRATTOSINTESI.VALORE AS CTV_NOMINALE,
		NULL AS VERSATO_NETTO,
		CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV,
		CASE
			WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL
			ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME)
		END AS DATA_PARTVIA_DISINV,
		--PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV,
		NULL AS PARTVIA_INV,
		--CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE,
		CASE 
			WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' 
				OR CONTRATTOSINTESI.TIPPROD = 'GES')
				AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) 
				THEN NULL 
			WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1')
				THEN NULL
			--Modifica Luca
			WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX')
				THEN NULL
			--
			ELSE CONTRATTOSINTESI.RENDINIZ
		END AS REND_SOTTOSCRIZIONE,	
		NULL  AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE,
		CASE 
			WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' 
				OR CONTRATTOSINTESI.TIPPROD = 'GES')
				AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) 
				THEN NULL 
			WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1')
				THEN NULL
			--Modifica Luca
			WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX')
				THEN NULL
			--
			ELSE CONTRATTOSINTESI.RENDANNO
		END AS REND_ANNO,	
		0 AS REND_NON_RAPPR,
		PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO,
        C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM,
		C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP,
        CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA,
        ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO
		CONSUL.C_DATAMIGRAZ_BF705  AS DATA_MIGR_CONS,
		PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF,
		0 AS EXTRANAC,
        KAT.STRTYPE,
