CREATE procedure [C6Mart].[PL_S186DettaglioPortafoglioSei] --'F','RMNFNC55T03A783I'
 -- Add the parameters for the stored procedure here
 @Rete char(1), 
 @CodiceFiscale varchar(16)
AS
BEGIN
declare @appo table
(
  	[BFCTV] [decimal](15, 2) NULL,
	[PatrimonioTerziCTV] [decimal](15, 2) NULL,
	[FinanziarioCTV] [decimal](16, 2) NULL,
	[FinanziarioPerc] [decimal](6, 2) NULL,
	[ImmobiliareCTV] [decimal](15, 2) NULL,
	[ImmobiliarePerc] [decimal](6, 2) NULL,
	[AltroCTV] [decimal](15, 2) NULL,
	[AltroPerc] [decimal](6, 2) NULL,
	[TotaleCTV] [decimal](15, 2) NULL,
	[ImmobiliarePQCTV] [decimal](15, 2) NULL
)
--creo le tabelle di appoggio
insert into @appo exec [C6Mart].[PL_D2_S152Patrimonio]  @Rete,@CodiceFiscale
declare @TotCTV [decimal](15, 2) =(select [BFCTV] from @appo)
SELECT
	dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, 
	PATRBF.ID_CONTRATTO AS ContrattoDossier, 
	--ANAGPROD.DESCR_PRODOTTO AS Descrizione,
	--V
	CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO
		 ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC))
	END AS Descrizione,
	PATRBF.CTV AS Controvalore,
	SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi,
	--@TotCTV as PatrimonioFideuram,
	SUM(CASE 
        WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 
        ELSE PATRBF.CTV 
    END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo
@TotCTV as PatrimonioFideuram,
@TotCTV-SUM(CASE 
        WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 
        ELSE PATRBF.CTV 
    END) OVER() AS PortafoglioSei
	--@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei
FROM C6MART.PATRIMONIO_BF PATRBF
INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD 
	ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO
INNER JOIN C6MART.AREA_BISOGNO AREA 
	ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA 
LEFT OUTER JOIN C6Mart.ANAG_CC
ON 
	ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE
	AND ANAG_CC.RETE = PATRBF.RETE
	AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9)
WHERE 1 = 1
	AND PATRBF.RETE = @Rete
	AND PATRBF.COD_FISCALE = @CodiceFiscale
	--V  
	  --AND (
   --     (PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV > 0) OR --per eliminare i CC a saldo Negativo
   --     (PATRBF.TIPO_PRODOTTO <> 'CC' AND PATRBF.CTV <> 0)
   -- )
	and PATRBF.Nob_Prez='S'
	order by PATRBF.CTV desc
END