-- Schema: C6Mart -- Stored Procedure: DM_PATRIMONIO_EMITTENTI -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6Mart].[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 = C6MART.GETIDELAB() SET @TIPO_ELAB = C6MART.GETTIPOELAB() -- Log esecuzione INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'DM_PATRIMONIO_EMITTENTI', GETDATE(), 'Elaborazione giornaliera' ) TRUNCATE TABLE C6MART.PATRIMONIO_EMITTENTI INSERT INTO [C6MART].[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 C6MART.PATRIMONIO_BF H LEFT OUTER join C6MART.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+ '|' when LEFT(h.ID_AREA,3)='Na' then 'RISFIN|NA|' ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' END + ltrim(rtrim(h.POSITION_ID)) left outer join -- --select * from c6mart.rischioEmittenti --select * from c6mart.rischio_aggregato C6Mart.RISCHIOEMITTENTI K on R.CREDITRISKEMIT=ORDINE ---- PATRIMONIO TERZI UNION all SELECT DISTINCT h.COD_FISCALE, h.RETE, '' AS POSITION_ID, H.COD_PRODOTTO AS CATALOGUENAME,