-- Schema: C6MartPeriodico -- Stored Procedure: DM_PATRIMONIO_EMITTENTI -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SET NOCOUNT ON; DECLARE @ID_ELAB INT DECLARE @TIPO_ELAB VARCHAR(1) SET @ID_ELAB = C6MartPeriodico.GETIDELAB() SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() -- Log esecuzione INSERT INTO LOG_ESECUZIONE_PERIODICO (Nome, Inizio, Nota) VALUES ( 'DM_PATRIMONIO_EMITTENTI', GETDATE(), 'Elaborazione trimestrale' ) TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_EMITTENTI INSERT INTO [C6MARTPERIODICO].[PATRIMONIO_EMITTENTI] ( COD_FISCALE, RETE, POSITION_ID, COD_PRODOTTO, COD_ADEGUATEZZA, INTERMEDIARIO, CTV_INTERMEDIARIO, CTV_INTER_NOCC_NEG, EMITTENTE, COMPLESSITA, CTV_EMITTENTE, CTV_PRODOTTO, FLG_AZ_OB, CREDITRISKCLASS, CTV_AZIONARIO, CTV_OBBLIGAZIONARIO, CTV_AZ_OB_EMIT, CTV_AZ_OB_EMIT_INTER, CTV_COMPLESSIVO, CTV_COMPL_NOCC_NEG, CONC_EMITTENTE, CONC_EMIT_INTERM, COPERTURA ) SELECT H.COD_FISCALE, H.RETE, H.POSITION_ID, H.COD_PRODOTTO AS CATALOGUENAME, '' AS COD_ADEGUATEZZA, 'BF' AS INTERMEDIARIO, sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, H.EMITTENTE, H.COMPLEX AS COMPLESSITA, sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, h.ctv as CONTROVALORE_PRODOTTO, CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, K.classe AS CREDITRISKCLASS, SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, 0 as concentrazione_emittente, 0 AS concentraz_emit_interm, r.copertura FROM C6MARTPERIODICO.PATRIMONIO_BF H LEFT OUTER join C6MARTPERIODICO.RISCHIO_AGGREGATO R on H.COD_FISCALE=R.COD_FISCALE AND H.RETE=R.RETE AND r.COD_AGGREG = ((CASE WHEN (h.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|'+ isnull(cast(H.ordinamento_progetto as varchar),'')+'|' ELSE CASE WHEN (h.ID_AREA = 'NA') THEN 'RISFIN|' + LEFT(h.ID_AREA,3) + '|' ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' END END) + h.POSITION_ID) left outer join