-- Schema: C6MartPeriodico -- Stored Procedure: PL_S82DatiSintetici -- Stored procedure -- ============================================= -- Author: Paolo Giovanetti -- Create date: 15 gennaio 2009 -- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area -- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) -- ============================================= -- [C6MartPeriodico].[PL_S82DatiSintetici] 'S','MRCGST50D02H223T' CREATE procedure [C6MartPeriodico].[PL_S82DatiSintetici] -- Add the parameters for the stored procedure here @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; /*DECLARE @TOTRischio DECIMAL(20,2) SELECT @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON PATRAREA.RETE = RISCHIOAREA.RETE AND PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE WHERE PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND PATRAREA.RETE = @Rete AND PATRAREA.COD_FISCALE = @CodiceFiscale*/ SELECT PATRAREA.ID_AREA AS need_area, ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, CASE WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' ELSE NULL END AS var_needareaString, ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, CASE WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' ELSE NULL END AS copertura_needareaString, PATRAREA.ORDINAMENTO_PROGETTO, /*V Calcolato a livello di codice CASE WHEN PATRAGGR.CTV = 0 THEN 0 ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 END AS pesoPerc,*/ PATRAREA.CTV AS ControvaloreAttuale /* Calcolato a livello di codice CASE WHEN @TOTRischio = 0 THEN 0 ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 END AS rischioRelativo*/ FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR ON PATRAGGR.RETE = PATRAREA.Rete AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) AND RISCHIOAREA.RETE = PATRAREA.Rete AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE WHERE 1=1 AND PATRAREA.RETE = @Rete AND PATRAREA.COD_FISCALE = @CodiceFiscale AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') END