-- ============================================= -- Author: <> -- Create date: <> -- Description: -- ============================================= -- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' CREATE procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] -- Add the parameters for the stored procedure here --@Rete char(1), --@CodiceFiscale varchar(16) AS BEGIN truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario SELECT --top 1 Rete, cod_fiscale as CodiceFiscale, A.BANCA AS Banca, A.ORDINAMENTO AS Ordinamento, A.AssetClassId AS AssetClassId, A.AssetClassName AS AssetClassName, A.Controvalore, A.percentuale, ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) --cast(A.Controvalore as decimal(19,5)) AS Controvalore, --cast(A.Percentuale as decimal(19,5)) AS Percentuale, --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale FROM ( SELECT DISTINCT CASE Rete WHEN 'S' THEN 'Sanpaolo Invest' WHEN 'F' THEN 'Fideuram' ELSE 'IW Private Investments' END AS Banca, rete, cod_fiscale, ASSETCLASS.ORDINAMENTO, VALORIASSET.ID_ASSETCLASS AS AssetClassId, ASSETCLASS.DESCRIZIONE AS AssetClassName, ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 THEN 1 ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) END ) * 100 AS Percentuale FROM ( SELECT PATRBF.rete, PATRBF.COD_FISCALE, ASSETPERC.ID_ASSETCLASS, PATRBF.CTV*ASSETPERC.PERC as Controvalore FROM C6MartPeriodico.PATRIMONIO_BF PATRBF INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO AND ASSETPERC.LIVELLO = 1 WHERE --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) and patrbf.id_area not in ('CC', 'SELF') -- AND PATRBF.RETE = @Rete -- AND PATRBF.COD_FISCALE = @CodiceFiscale UNION ALL SELECT Asul.rete, asul.cod_fiscale, ASSETPERC.ID_ASSETCLASS, ASUL.CTV*ASSETPERC.PERC as Controvalore FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO ---ELIMINO GLI SKANDIA AND ASUL.COD_ISIN_SOTT = '' AND ASSETPERC.LIVELLO = 1 -- WHERE -- ASUL.RETE = @Rete -- AND ASUL.COD_FISCALE = @CodiceFiscale UNION ALL SELECT Asul.rete, asul.cod_fiscale, ASSETPERC.ID_ASSETCLASS, ASUL.CTV*ASSETPERC.PERC as Controvalore FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC --PRENDO SOLO GLI SKANDIA ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO AND ASSETPERC.LIVELLO = 1 -- WHERE -- ASUL.RETE = @Rete -- AND ASUL.COD_FISCALE = @CodiceFiscale ) VALORIASSET INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS ) A END --USE [C6StampeCentralizzate] --GO --/****** Object: StoredProcedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] Script Date: 10/02/2022 16:40:28 ******/ --SET ANSI_NULLS ON --GO --SET QUOTED_IDENTIFIER ON --GO ---- ============================================= ---- Author: <> ---- Create date: <> ---- Description: ---- ============================================= ---- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' --ALTER procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] -- -- Add the parameters for the stored procedure here -- --@Rete char(1), -- --@CodiceFiscale varchar(16) --AS --BEGIN --truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario --INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario --SELECT --top 1 -- Rete, -- cod_fiscale as CodiceFiscale, -- A.BANCA AS Banca, -- A.ORDINAMENTO AS Ordinamento, -- A.AssetClassId AS AssetClassId, -- A.AssetClassName AS AssetClassName, -- A.Controvalore, -- A.percentuale, -- ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) -- --cast(A.Controvalore as decimal(19,5)) AS Controvalore, -- --cast(A.Percentuale as decimal(19,5)) AS Percentuale, -- --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale --FROM --( -- SELECT DISTINCT -- CASE Rete -- WHEN 'S' THEN 'Sanpaolo Invest' -- ELSE 'Fideuram' -- END AS Banca, -- rete, -- cod_fiscale, -- ASSETCLASS.ORDINAMENTO, -- VALORIASSET.ID_ASSETCLASS AS AssetClassId, -- ASSETCLASS.DESCRIZIONE AS AssetClassName, -- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, -- ( -- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / -- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO -- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 -- THEN 1 -- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) -- END -- ) * 100 AS Percentuale -- FROM ( -- SELECT -- PATRBF.rete, -- PATRBF.COD_FISCALE, -- ASSETPERC.ID_ASSETCLASS, -- PATRBF.CTV*ASSETPERC.PERC as Controvalore -- FROM -- C6MartPeriodico.PATRIMONIO_BF PATRBF -- INNER JOIN -- C6MartPeriodico.ASSET_PERC ASSETPERC -- ON -- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO -- AND ASSETPERC.LIVELLO = 1 -- WHERE -- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY -- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) -- and patrbf.id_area not in ('CC', 'SELF') -- -- AND PATRBF.RETE = @Rete -- -- AND PATRBF.COD_FISCALE = @CodiceFiscale -- UNION ALL -- SELECT -- Asul.rete, -- asul.cod_fiscale, -- ASSETPERC.ID_ASSETCLASS, -- ASUL.CTV*ASSETPERC.PERC as Controvalore -- FROM -- C6MartPeriodico.DETTAGLIO_ASUL ASUL -- INNER JOIN -- C6MartPeriodico.ASSET_PERC ASSETPERC -- ON -- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO -- ---ELIMINO GLI SKANDIA -- AND ASUL.COD_ISIN_SOTT = '' -- AND ASSETPERC.LIVELLO = 1 -- -- WHERE -- -- ASUL.RETE = @Rete -- -- AND ASUL.COD_FISCALE = @CodiceFiscale -- UNION ALL -- SELECT Asul.rete, -- asul.cod_fiscale, -- ASSETPERC.ID_ASSETCLASS, -- ASUL.CTV*ASSETPERC.PERC as Controvalore -- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL -- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC -- --PRENDO SOLO GLI SKANDIA -- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT -- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT -- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO -- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO -- AND ASSETPERC.LIVELLO = 1 -- -- WHERE -- -- ASUL.RETE = @Rete -- -- AND ASUL.COD_FISCALE = @CodiceFiscale -- ) VALORIASSET -- INNER JOIN -- C6MartPeriodico.ASSETCLASS ASSETCLASS -- ON -- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS --) A --END