-- Schema: C6Mart -- Stored Procedure: RP_DM_W6CatESG CREATE procedure [C6Mart].[RP_DM_W6CatESG] as begin -- Log esecuzione INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'RP_DM_SPB_W6CatESG', GETDATE(), 'Elaborazione giornaliera' ) --drop table c6staging.RP_CatalogoProdotti truncate table [C6StampeCentralizzate].[C6Mart].[SPB_W6CatESG] truncate table [C6StampeCentralizzate].[C6Mart].[W6CatESG] INSERT INTO [C6Mart].[SPB_W6CatESG] ([Rete] ,[Codice_Agente] ,[Codice_Fiscale] ,[Piva_Fiduciaria] ,[CodiceContratto] ,[FamigliaProdotto] ,[CodiceProdotto] ,[DescrizioneProdotto] ,[CodiceTitolo] ,[Conto] ,[Custgar] ,[Asset] ,[Pct] ,[CodiceSottoprodotto] ,[DescrizioneSottoprodotto] ,[Isin] ,[IsinProxy] ,[TipoFondo] ,[Controvalore] ,[Importo] ,[QuantitaValoreNominale] ,[VarComparto] ,[CodiceLinea] ,[Sost_E] ,[Sost_S] ,[Sost_G] ,[ClasseComplessita] ,[DescrizioneClasseComplessita] ,[OrizzonteTemporale] ,[FlagRiserva]) SELECT [Rete] ,[Codice_Agente] ,[Codice_Fiscale] ,[Piva_Fiduciaria] ,[CodiceContratto] ,case when [FamigliaProdotto]='AS' then 'ASU1' when [FamigliaProdotto]='OF' then 'GE' else [FamigliaProdotto] end as [FamigliaProdotto] ,[CodiceProdotto] ,[DescrizioneProdotto] ,[CodiceTitolo] ,[Conto] ,[Custgar] ,[Asset] ,[Pct] ,case when [CodiceLinea]='FP' then 'FP' else [CodiceSottoprodotto] end as [CodiceSottoprodotto] ,[DescrizioneSottoprodotto] ,[Isin] ,[IsinProxy] ,[TipoFondo] ,[Controvalore] ,[Importo] ,[QuantitaValoreNominale] ,[VarComparto] ,[CodiceLinea] ,[Sost_E] ,[Sost_S] ,[Sost_G] ,[ClasseComplessita] ,[DescrizioneClasseComplessita] ,[OrizzonteTemporale] ,[FlagRiserva] FROM [C6StampeCentralizzate].[C6Staging].[SPB_W6CatESG] update b set b.positionID=a.POSITIONID --, b.catalogueID=a.catalogueID from [C6Mart].[SPB_W6CatESG] b left join C6Staging.SPB_CONTR_SINTESI a on a.RETE=b.rete and a.CODICEFISCALE=b.codice_fiscale and a.CODICECONTRATTO=b.codicecontratto and a.CTV = b.controvalore update b set b.positionID=a.POSITIONID --, b.catalogueID=a.catalogueID from [C6Mart].[SPB_W6CatESG] b left join C6Staging.SPB_CONTR_SINTESI a on a.RETE=b.rete and a.CODICEFISCALE=b.codice_fiscale and a.CODICECONTRATTO=b.codicecontratto and a.CODICEINTERNO = b.CodiceProdotto and a.CODICESOTTOPRODOTTO=b.CodiceSottoprodotto where b.PositionID is null insert into [C6Mart].[W6CATESG] select GETDATE() as dttrim, '03296' as Banca, Rete , Codice_Fiscale as codfis, '' as codman, case when Sost_E='Y' then 'Y' else 'N' end as esg_e_prod_cli, case when Sost_S='Y' then 'Y' else 'N' end as esg_s_prod_cli, case when Sost_G='Y' then 'Y' else 'N' end as esg_g_prod_cli, SUBSTRING(POSITIONID,1,57) as prodotto_id, PositionID as position_id from C6Mart.SPB_W6CatESG -- select * from C6Staging.SPB_CONTR_SINTESI --where CODICEFISCALE='BCCSHR68B66H433Z' -- select * from [C6Mart].[SPB_W6CatESG] --where Codice_Fiscale='BCCSHR68B66H433Z' --- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'RP_DM_SPB_W6CatESG' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_SPB_W6CatESG' ) end