CREATE procedure [level2martperiodico].[DM_PatrimonioNonRappresentabileAsset]  
AS  
truncate table [level2martperiodico].[PatrimonioNonRappresentabileAsset]  
insert into [level2martperiodico].[PatrimonioNonRappresentabileAsset]  
SELECT    
   RETE,  
   COD_FISCALE,  
   --SUM(Controvalore) as Controvalore  
   SUM( cast(Controvalore as decimal(15,3))) as Controvalore  
 FROM (  
   SELECT    
     PATRBF.RETE,  
     PATRBF.COD_FISCALE,  
     PATRBF.CTV as Controvalore  
   FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF  
   INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP  
    ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO  
   LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC   
    ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO  
    AND ASSETPERC.LIVELLO = 1  
   WHERE  
    PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC')  
    AND ASSETPERC.COD_PRODOTTO IS NULL  
   UNION ALL  
--   SELECT    
--     PATRBF.RETE,  
--     PATRBF.COD_FISCALE,  
--     ASUL.CTV as Controvalore  
--   FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF  
--   INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP  
--    ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO  
--   INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL  
--    ON PATRBF.RETE = ASUL.RETE  
--     AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE  
--     AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO  
--   LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC  
--    ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO  
--    AND ASSETPERC.LIVELLO = 1  
--   WHERE   
--    PATRBF.TIPO_PRODOTTO = 'ASUL'  
--    AND ASSETPERC.COD_PRODOTTO IS NULL  
--  
SELECT  ASUL.RETE,  
            ASUL.COD_FISCALe,  
   ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore  
  FROM   
   C6MartPeriodico.DETTAGLIO_ASUL ASUL  
  left JOIN   
   C6MartPeriodico.ASSET_PERC ASSETPERC  
   ON   
             (  
    ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO  
    ---no SKANDIA  
    AND ASUL.COD_ISIN_SOTT = ''  
    AND ASSETPERC.LIVELLO = 1  
              )  
           or  
    (  --SKANDIA  
   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  
  ASSETPERC.COD_PRODOTTO IS NULL  
 ) PATR_NO_RAPPR  
 GROUP BY   
   RETE,  
   COD_FISCALE