-- Schema: C6MartPeriodico -- Stored Procedure: DM_ALL_PATRIMONIO -- ============================================= -- AUTHOR: ALESSANDRO TRINGALI -- CREATE DATE: 18 SETTEMBRE 2009 -- DESCRIPTION: -- ============================================= CREATE procedure [C6MartPeriodico].[DM_ALL_PATRIMONIO] AS BEGIN SET NOCOUNT ON; DECLARE @ID_ELAB INT SET @ID_ELAB = [C6MARTPERIODICO].GETIDELAB() -- LOG ESECUZIONE INSERT INTO LOG_ESECUZIONE (NOME, INIZIO, NOTA) VALUES ( 'DM_ALL_PATRIMONIO', GETDATE(), 'ELABORAZIONE TRIMESTRALE' ) TRUNCATE TABLE [C6MartPeriodico].[ALL_PATRIMONIO] INSERT INTO [C6MARTPERIODICO].[ALL_PATRIMONIO] ( [CODICE_FISCALE] ,[RETE] ,[POSITIONID] ,[CATALOGUENAME] ,[CATALOGUEID] ,[COD_ADEGUATEZZA] ,[INTERMEDIARIO] ,[PATRIMONIO_INTERMEDIARIO] ,[EMITTENTE] ,[PATRIMONIO_EMITTENTE] ,[COMPLESSITA] ,[TIPO_PRODOTTO] ,[CONTROVALORE_PRODOTTO] ,[AZ_OB] ,[PATRIMONIO_AZ_OB_EMIT] ,[PATRIM_AZ_OB_EMIT_INTER] ,[PATRIMONIO_COMPLESSIVO] ,[CHIAVE_THR] ) SELECT CODICE_FISCALE, RETE, POSITIONID, DATI.CATALOGUENAME, CAT.CATALOGUEID, CASE WHEN ADEGUATEZZA IS NULL THEN CAT.COD_ADEGUATEZZA ELSE ADEGUATEZZA END AS COD_ADEGUATEZZA, INTERMEDIARIO, SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO) AS PATRIMONIO_INTERMEDIARIO, EMIT.DESCR AS EMITTENTE, CASE WHEN EMIT.DESCR IS NULL THEN NULL ELSE SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,EMIT.DESCR) END AS PATRIMONIO_EMITTENTE, CAT.COMPLEX AS COMPLESSITA, CAT.TIPOPRODOTTO, CONTROVALORE AS CONTROVALORE_PRODOTTO, CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END AS AZ_OB, SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR) AS PATRIMONIO_AZ_OB_EMIT, SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR, POSITIONID) AS PATRIM_AZ_OB_EMIT_INTER, SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE) AS PATRIMONIO_COMPLESSIVO, CHIAVE_THR FROM ( SELECT NULL AS AGENTE, C.RETE, C.CODICE_FISCALE, C.CATALOGUENAME, C.CONTROVALORE, 'BF' AS INTERMEDIARIO, SUBSTRING(C.STRINGONA_POS, 1, 57) AS CATALOGUEID, C.STRINGONA_POS AS POSITIONID, NULL AS ADEGUATEZZA, 'BF' AS PROVENIENZA, NULL AZ_OB, '' AS CHIAVE_THR FROM C6STAGINGPERIODICO.ALL_CONSUL_ASUL C union all SELECT agente, substring(agente,1,1) as rete, codicefiscale as codice_FISCALE, nome_prodotto as cataloguename, SUM(controvalore) AS controvalore, intermediario, case when codiceisin = '' then '############' else codiceisin + replicate(' ', 12-len(codiceisin)) end + case when codicemaf = '' then '###############' else codicemaf + replicate(' ', 15-len(codicemaf)) end + case when codiceinterno = '' then '###############' else codiceinterno + replicate(' ', 15-len(codiceinterno)) end + case when codicesottoprodotto = '' then '###############' else codicesottoprodotto + replicate(' ', 15-len(codicesottoprodotto)) end as catalogueid, null as positionid, codiceadeguatezza as ADEGUATEZZA , 'PPT' as provenienza,