-- ============================================= -- 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_S83DatiRendimento] 'F','DNERNZ56P01A757W' CREATE procedure [C6MartPeriodico].[PL_S83DatiRendimento] -- 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 @RendimNonRappr BIT -- IF EXISTS ( -- SELECT -- PATR_BF.ID_AREA AS Need_Area, -- PATR_BF.ID_CONTRATTO AS Contratto, -- CASE -- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA -- ELSE PATR_BF.NOME_PROGETTO -- END AS Area_O_Nome_Progetto, -- PRODOTTI.DESCR_PRODOTTO AS Descrizione, -- PATR_BF.PARTVIA_INV AS PartitaViaggiante, -- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.COD_PRODOTTO) AS Controvalore, -- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione -- FROM -- C6MartPeriodico.PATRIMONIO_BF AS PATR_BF -- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON -- PATR_BF.ID_AREA = AREA.ID_AREA -- INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON -- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO -- WHERE -- PATR_BF.RETE = @Rete -- AND PATR_BF.COD_FISCALE = @CodiceFiscale -- AND PATR_BF.REND_NON_RAPPR = 1 -- ) -- SET @RendimNonRappr = 1 -- -- ELSE -- SET @RendimNonRappr = 0 -- -- SELECT -- @RendimNonRappr AS cf_rendim_non_rappr, -- ID_AREA AS Need_Area, -- CASE -- WHEN NOME_PROGETTO = 'XXX' THEN '' -- ELSE NOME_PROGETTO -- END AS Nome_Progetto, -- dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, -- CTV_MONITORATO AS ControvaloreMonitorato, -- APPORTO_INIZIALE AS ApportoIniziale, -- APPORTO_SUCCESSIVO AS ApportoSuccessivo, -- LIQUIDAZIONI, -- CEDOLE_DIVIDENDI AS CedoleEDividendi, -- MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, -- RENDIMENTO_CUMULATO AS Rendimento_Attuale, -- RISORSE_ASSOCIATE AS RisorseApportate, -- dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, -- RENDIMENTO_ANNUALIZZATO -- FROM -- C6MartPeriodico.MONITORAGGIO_ATTUALE -- WHERE -- RETE = @Rete AND -- COD_FISCALE = @CodiceFiscale -- --AND RISORSE_ASSOCIATE > 0 SELECT case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, MONIT.id_Area AS Need_Area, CASE WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) END AS Nome_Progetto, monit.ordinamento_progetto, dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, CTV_MONITORATO AS ControvaloreMonitorato, APPORTO_INIZIALE AS ApportoIniziale, APPORTO_SUCCESSIVO AS ApportoSuccessivo, LIQUIDAZIONI, CEDOLE_DIVIDENDI AS CedoleEDividendi, MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, RENDIMENTO_CUMULATO AS Rendimento_Attuale, RISORSE_ASSOCIATE AS RisorseApportate, dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, RENDIMENTO_ANNUALIZZATO FROM C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT LEFT OUTER JOIN ( SELECT PATR_BF.ID_AREA, PATR_BF.COD_FISCALE, PATR_BF.RETE, CASE WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' ELSE NOME_PROGETTO end as NOME_PROGETTO, patr_bf.ordinamento_progetto, 1 as RENDIMNONRAPPR FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON PATR_BF.ID_AREA = AREA.ID_AREA WHERE PATR_BF.RETE = @Rete AND PATR_BF.COD_FISCALE = @CodiceFiscale AND PATR_BF.REND_NON_RAPPR = 1 group by PATR_BF.ID_AREA, PATR_BF.COD_FISCALE, PATR_BF.RETE, CASE WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' ELSE NOME_PROGETTO end, patr_bf.ordinamento_progetto ) PATR_BF ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE AND PATR_BF.RETE= MONIT.RETE AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') And monit.ordinamento_progetto=patr_bf.ordinamento_progetto WHERE MONIT.RETE = @Rete AND MONIT.COD_FISCALE = @CodiceFiscale END