-- ============================================= -- Author: Paolo Giovanetti --modificata per i cc in liq Marianna / Valerio -- Create date: 10 marzo 2009 -- Description: -- ============================================= CREATE procedure [C6Mart].[DM_PATRIMONIO_BF] 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_BF', GETDATE(), 'Elaborazione giornaliera' ) TRUNCATE TABLE C6MART.PATRIMONIO_BF SELECT SPB_CONTR_SINTESI.RETE AS RETE, SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, CASE WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE END AS DATA_SOTTOSCRIZIONE, SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, SPB_CONTR_SINTESI.TIPOPRODOTTO 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, --POSITION.C_NEEDAREASE_3D485 AS ID_AREA, CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY NULL AS DATA_REGOLAMENTO, SPB_CONTR_SINTESI.QUOTE AS QUANTITA, SPB_CONTR_SINTESI.PREZZO AS PREZZO, SPB_CONTR_SINTESI.CTV AS CTV, SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, CASE WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) THEN NULL WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') THEN NULL --Modifica Luca WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') THEN NULL -- ELSE SPB_CONTR_SINTESI.CVN END AS VERSATO_NETTO, SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, NULL AS PARTVIA_INV, CASE WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) THEN NULL WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') THEN NULL --Modifica Luca WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') THEN NULL -- ELSE SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE END AS REND_SOTTOSCRIZIONE, -- SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, CASE WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) THEN NULL WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') THEN NULL --Modifica Luca WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') THEN NULL -- ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE END AS REND_TRIMESTRE, -- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, CASE WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) THEN NULL WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') THEN NULL --Modifica Luca WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') THEN NULL -- ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO END AS REND_ANNO, -- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, KAT.STRTYPE, KAT.COMPLEX, MIT.DESCR AS EMITTENTE, SPB_CONTR_SINTESI.ISIN, @ID_ELAB AS ID_ELAB, @TIPO_ELAB AS TIPO_ELAB INTO #PATRIMONIO FROM C6STAGING.SPB_CONTR_SINTESI INNER JOIN C6STAGING.ALL_CF_STATO ON ALL_CF_STATO.RETE = SPB_CONTR_SINTESI.RETE AND ALL_CF_STATO.CF_CLIENTE = SPB_CONTR_SINTESI.CODICEFISCALE AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale INNER JOIN C6STAGING.POSITION ON POSITION.POSITIONID = SPB_CONTR_SINTESI.POSITIONID INNER JOIN C6STAGING.CONSUL -- join consarea ON CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'Attuale' INNER JOIN C6STAGING.PRCONSUL ON PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 INNER JOIN C6STAGING.CONSAREA ON CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 INNER JOIN C6STAGING.CATITEMREF KAT ON KAT.oid$ = POSITION.f_oid__posit_00526 left outer join C6STAGING.EMIT MIT ON KAT.CODEMI = MIT.CODEMI /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG ON SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL and CONSAREA.C_NEEDAREA_V_46360 <> 'CC' and C6STAGING.SPB_CONTR_SINTESI.TIPOPRODOTTO <> 'CC' UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) SELECT SPB_CONTR_SINTESI.RETE AS RETE, SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, CASE WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'DT' /* OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'FI' */ THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE END AS DATA_SOTTOSCRIZIONE, SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, NULL AS NOME_PROGETTO, CASE WHEN SPB_CONTR_SINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY NULL AS DATA_REGOLAMENTO, SPB_CONTR_SINTESI.QUOTE AS QUANTITA, SPB_CONTR_SINTESI.PREZZO AS PREZZO, SPB_CONTR_SINTESI.CTV AS CTV, SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, SPB_CONTR_SINTESI.CVN AS VERSATO_NETTO, SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, NULL AS PARTVIA_INV, --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, STRTYPE, COMPLEX , mit.descr as EMITTENTE, SPB_CONTR_SINTESI.ISIN, @ID_ELAB AS ID_ELAB, @TIPO_ELAB AS TIPO_ELAB FROM C6STAGING.SPB_CONTR_SINTESI INNER JOIN C6STAGING.CATITEMREF KAT ON SUBSTRING(C6STAGING.SPB_CONTR_SINTESI .POSITIONID,1,57)=KAT.CATALOGUEID LEFT OUTER JOIN C6STAGING.EMIT MIT ON MIT.CODEMI=KAT.CODEMI WHERE C6STAGING.SPB_CONTR_SINTESI.TIPOPRODOTTO = 'CC' -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_PATRIMONIO_BF' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PATRIMONIO_BF' ) INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'DM_PATRIMONIO_BF', GETDATE(), 'Elaborazione giornaliera' ) INSERT INTO [C6Mart].[PATRIMONIO_BF] ([RETE] ,[COD_FISCALE] ,[POSITION_ID] ,[COD_PRODOTTO] ,[ID_CONTRATTO] ,[DATA_SOTTOSCRIZIONE] ,[COD_STATO] ,[NUM_POLIZZA] ,[COD_MAF] ,[COD_INTERNO] ,[COD_SOTTOPRODOTTO] ,[TIPO_PRODOTTO] ,[NOME_PROGETTO] ,[ID_AREA] ,[DATA_OPERAZIONE] ,[DATA_VALUTA] ,[DATA_REGOLAMENTO] ,[QUANTITA] ,[PREZZO] ,[CTV] ,[CTV_NOMINALE] ,[VERSATO_NETTO] ,[PARTVIA_DISINV] ,[DATA_PARTVIA_DISINV] ,[PARTVIA_INV] ,[REND_SOTTOSCRIZIONE] ,[REND_TRIMESTRE] ,[REND_ANNO] ,STRTYPE ,COMPLEX ,EMITTENTE ,SPB_CONTR_SINTESI.ISIN ,[ID_ELAB] ,[TIPO_ELAB]) SELECT RETE, COD_FISCALE, POSITIONID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, STRTYPE, COMPLEX, EMITTENTE, ISIN, ID_ELAB, TIPO_ELAB FROM #PATRIMONIO UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI SELECT SPB_CONTR_SINTESI.RETE AS RETE, SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, CASE WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE END AS DATA_SOTTOSCRIZIONE, SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, ISNULL(NEWPOSITION.NEED_BREVE,'Na') AS ID_AREA, SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY NULL AS DATA_REGOLAMENTO, convert(decimal(15,3),SPB_CONTR_SINTESI.QUOTE) AS QUANTITA, SPB_CONTR_SINTESI.PREZZO AS PREZZO, convert(decimal(15,3),SPB_CONTR_SINTESI.CTV) AS CTV, convert(decimal(15,3),SPB_CONTR_SINTESI.VALORE) AS CTV_NOMINALE, CASE WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) THEN NULL ELSE convert(decimal(15,3),SPB_CONTR_SINTESI.CVN) END AS VERSATO_NETTO, convert(decimal(15,3),SPB_CONTR_SINTESI.PARTVIA) AS PARTVIA_DISINV, SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, NULL AS PARTVIA_INV, convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO) AS REND_ANNO, STRTYPE, COMPLEX, EMITTENTE, SPB_CONTR_SINTESI.ISIN, @ID_ELAB AS ID_ELAB, @TIPO_ELAB AS TIPO_ELAB FROM C6STAGING.SPB_CONTR_SINTESI LEFT JOIN #PATRIMONIO PATR ON SPB_CONTR_SINTESI.RETE = PATR.RETE AND SPB_CONTR_SINTESI.CODICEFISCALE = PATR.COD_FISCALE AND SPB_CONTR_SINTESI.POSITIONID = PATR.POSITIONID /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG ON SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ LEFT JOIN C6STAGING.vNewPositionProposta NEWPOSITION ON SPB_CONTR_SINTESI.RETE = NEWPOSITION.RETE AND SPB_CONTR_SINTESI.CODICEFISCALE = NEWPOSITION.CODICEFISCALE AND SPB_CONTR_SINTESI.POSITIONID = NEWPOSITION.positionIDProposta WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL AND PATR.POSITIONID IS NULL DROP TABLE #PATRIMONIO -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_PATRIMONIO_BF' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PATRIMONIO_BF' ) END