124 lines
3.8 KiB
Transact-SQL
124 lines
3.8 KiB
Transact-SQL
-- Schema: C6Mart
|
|
-- Stored Procedure: DM_ALL_PATRIMONIO
|
|
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- AUTHOR: ALESSANDRO TRINGALI
|
|
-- CREATE DATE: 18 SETTEMBRE 2009
|
|
-- DESCRIPTION:
|
|
-- =============================================
|
|
CREATE procedure [C6Mart].[DM_ALL_PATRIMONIO]
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @ID_ELAB INT
|
|
|
|
SET @ID_ELAB = [C6Mart].GETIDELAB()
|
|
|
|
-- LOG ESECUZIONE
|
|
INSERT INTO LOG_ESECUZIONE
|
|
(NOME, INIZIO, NOTA)
|
|
VALUES (
|
|
'DM_ALL_PATRIMONIO',
|
|
GETDATE(),
|
|
'ELABORAZIONE TRIMESTRALE'
|
|
)
|
|
|
|
|
|
TRUNCATE TABLE [C6Mart].[ALL_PATRIMONIO]
|
|
|
|
INSERT INTO [C6Mart].[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 C6STAGING.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,
|
|
--alberatura,
|
|
|