First Commit - Source Code from Reply
This commit is contained in:
169
dbcmnpsrc/FE/mnpapp/script/sql/dwh/mview/MNP_DWH_DON.sql
Normal file
169
dbcmnpsrc/FE/mnpapp/script/sql/dwh/mview/MNP_DWH_DON.sql
Normal file
@@ -0,0 +1,169 @@
|
||||
DROP MATERIALIZED VIEW DWH.MNP_DWH_DON;
|
||||
|
||||
CREATE MATERIALIZED VIEW DWH.MNP_DWH_DON
|
||||
TABLESPACE TAB_DWH
|
||||
PCTUSED 0
|
||||
PCTFREE 10
|
||||
INITRANS 2
|
||||
MAXTRANS 255
|
||||
STORAGE (
|
||||
INITIAL 64K
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS UNLIMITED
|
||||
PCTINCREASE 0
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
NOCACHE
|
||||
NOLOGGING
|
||||
NOPARALLEL
|
||||
BUILD IMMEDIATE
|
||||
REFRESH COMPLETE ON DEMAND
|
||||
WITH PRIMARY KEY
|
||||
AS
|
||||
/* Formatted on 2015/02/19 16:35 (Formatter Plus v4.8.8) */
|
||||
SELECT ROWNUM AS id_prog, r.*
|
||||
FROM (SELECT SYSDATE AS data_aggiornamento,
|
||||
DECODE (SUBSTR (codice_gruppo, 1, 3),
|
||||
'BKL', 'BKL',
|
||||
DECODE (a.richiestaadhocaom || a.richiestaadhoc,
|
||||
'00', 'Standard',
|
||||
'PHoc'
|
||||
)
|
||||
) AS tipo_richiesta,
|
||||
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
|
||||
a.marcaggio, a.sottomarcaggio, a.codice_operatore_recipient,
|
||||
a.codice_operatore_donating,
|
||||
a.codice_operatore_rec_eff AS recipient_effettivo,
|
||||
a.codice_operatore_don_eff AS donor_effettivo,
|
||||
TRUNC (b.data_i_o) AS data_evento,
|
||||
TO_CHAR (b.data_i_o, 'yy-iw') AS settimana_evento,
|
||||
TO_CHAR (b.data_i_o, 'mm') AS mese_evento,
|
||||
c.descr_stato AS descr_stato_evento,
|
||||
ca.descr_stato AS descr_stato_attuale,
|
||||
b.stato_a AS stato_evento, a.stato AS stato_attuale,
|
||||
DECODE (a.stato,
|
||||
10, a.codicerifiutovalidazione,
|
||||
NULL
|
||||
) AS cod_rifiuto,
|
||||
DECODE (a.stato, 10, r.causale, NULL) AS causale_rifiuto,
|
||||
COUNT (*) AS richieste
|
||||
FROM mnp.mnp_gestione_richiesta a,
|
||||
mnp.mnp_storico_richiesta b,
|
||||
mnp.mnp_stato c,
|
||||
mnp.mnp_stato ca,
|
||||
mnp.mnp_causale_rifiuto r
|
||||
WHERE ( a.codice_operatore_don_eff = 'TIMG'
|
||||
OR a.codice_operatore_don_eff = 'TIMT'
|
||||
)
|
||||
AND (TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
|
||||
AND TRUNC (SYSDATE)
|
||||
)
|
||||
AND (a.id_richiesta = b.id_richiesta)
|
||||
AND (b.stato_a IN (1, 3, 4, 9, 10, 12, 16))
|
||||
AND (b.stato_a = c.id_stato)
|
||||
AND (a.stato = ca.id_stato)
|
||||
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
|
||||
-- prendere ultime tre partizioni che sono su base semestrale
|
||||
--AND trunc(a.dataricezionerichiesta) BETWEEN TO_DATE (SYSDATE - 730) AND TRUNC (SYSDATE)
|
||||
AND TRUNC (b.dataricezionerichiesta) BETWEEN TO_DATE ( SYSDATE
|
||||
- 730
|
||||
)
|
||||
AND TRUNC (SYSDATE)
|
||||
GROUP BY DECODE (SUBSTR (codice_gruppo, 1, 3),
|
||||
'BKL', 'BKL',
|
||||
DECODE (a.richiestaadhocaom || a.richiestaadhoc,
|
||||
'00', 'Standard',
|
||||
'PHoc'
|
||||
)
|
||||
),
|
||||
a.tipo_cliente,
|
||||
a.nome_ot,
|
||||
a.codice_pre_post_pagato,
|
||||
a.marcaggio,
|
||||
a.sottomarcaggio,
|
||||
a.codice_operatore_recipient,
|
||||
a.codice_operatore_donating,
|
||||
TRUNC (b.data_i_o),
|
||||
TO_CHAR (b.data_i_o, 'yy-iw'),
|
||||
TO_CHAR (b.data_i_o, 'mm'),
|
||||
c.descr_stato,
|
||||
ca.descr_stato,
|
||||
b.stato_a,
|
||||
a.stato,
|
||||
DECODE (a.stato, 10, a.codicerifiutovalidazione, NULL),
|
||||
DECODE (a.stato, 10, r.causale, NULL),
|
||||
a.codice_operatore_rec_eff,
|
||||
a.codice_operatore_don_eff) r
|
||||
UNION
|
||||
SELECT ROWNUM AS id_prog, r.*
|
||||
FROM (SELECT SYSDATE AS data_aggiornamento,
|
||||
DECODE (SUBSTR (codice_gruppo, 1, 3),
|
||||
'BKL', 'BKL',
|
||||
DECODE (a.richiestaadhoc, '0', 'Standard', 'PHoc')
|
||||
) AS tipo_richiesta,
|
||||
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
|
||||
a.marcaggio, a.sottomarcaggio,
|
||||
'TIMG' AS codice_operatore_recipient,
|
||||
--a.codice_operatore_recipient,
|
||||
a.codice_operatore_donating,
|
||||
a.codice_operatore_recipient AS recipient_effettivo,
|
||||
a.codice_operatore_donating AS donor_effettivo,
|
||||
TRUNC (b.data_i_o) AS data_evento,
|
||||
TO_CHAR (b.data_i_o, 'yy-iw') AS settimana_evento,
|
||||
TO_CHAR (b.data_i_o, 'mm') AS mese_evento,
|
||||
c.descr_stato AS descr_stato_evento,
|
||||
ca.descr_stato AS descr_stato_attuale,
|
||||
b.stato_a AS stato_evento, a.stato AS stato_attuale,
|
||||
DECODE (a.stato,
|
||||
7, a.codicerifiutovalidazione,
|
||||
NULL
|
||||
) AS cod_rifiuto,
|
||||
DECODE (a.stato, 7, r.causale, NULL) AS causale_rifiuto,
|
||||
COUNT (*) AS richieste
|
||||
FROM mnp.mnp_gest_rich_rec_virt a,
|
||||
mnp.mnp_storico_rich_rec_virt b,
|
||||
mnp.mnp_stato_rec_virt c,
|
||||
mnp.mnp_stato_rec_virt ca,
|
||||
mnp.mnp_causale_rifiuto r
|
||||
WHERE (TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
|
||||
AND TRUNC (SYSDATE)
|
||||
)
|
||||
AND ( a.codice_operatore_donating = 'TIMG'
|
||||
OR a.codice_operatore_donating = 'TIMT'
|
||||
)
|
||||
AND (a.id_richiesta = b.id_richiesta)
|
||||
AND ( b.stato_a IN (2, 4, 6, 7, 8, 9, 12)
|
||||
OR (b.stato_da = -1 AND b.stato_a = 3 AND a.stato <> 5)
|
||||
)
|
||||
AND (b.stato_a = c.id_stato)
|
||||
AND (a.stato = ca.id_stato)
|
||||
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
|
||||
-- prendere ultime tre partizioni che sono su base semestrale
|
||||
AND TRUNC (b.dataricezionerichiesta) BETWEEN TO_DATE ( SYSDATE
|
||||
- 730
|
||||
)
|
||||
AND TRUNC (SYSDATE)
|
||||
AND TRUNC (a.dataricezionerichiesta) BETWEEN TO_DATE ( SYSDATE
|
||||
- 730
|
||||
)
|
||||
AND TRUNC (SYSDATE)
|
||||
GROUP BY DECODE (SUBSTR (codice_gruppo, 1, 3),
|
||||
'BKL', 'BKL',
|
||||
DECODE (a.richiestaadhoc, '0', 'Standard', 'PHoc')
|
||||
),
|
||||
a.tipo_cliente,
|
||||
a.nome_ot,
|
||||
a.codice_pre_post_pagato,
|
||||
a.marcaggio,
|
||||
a.sottomarcaggio,
|
||||
a.codice_operatore_recipient,
|
||||
a.codice_operatore_donating,
|
||||
TRUNC (b.data_i_o),
|
||||
TO_CHAR (b.data_i_o, 'yy-iw'),
|
||||
TO_CHAR (b.data_i_o, 'mm'),
|
||||
c.descr_stato,
|
||||
ca.descr_stato,
|
||||
b.stato_a,
|
||||
a.stato,
|
||||
DECODE (a.stato, 7, a.codicerifiutovalidazione, NULL),
|
||||
DECODE (a.stato, 7, r.causale, NULL)) r;
|
||||
Reference in New Issue
Block a user