Files
2024-05-13 12:54:14 +02:00

1008 lines
46 KiB
SQL

--Eseguire come utente DWH
-- GESTIONE DEI REPORT
-- CREA dwh.MNP_DWH_DON
DROP MATERIALIZED VIEW dwh.MNP_DWH_DON;
CREATE MATERIALIZED VIEW dwh.MNP_DWH_DON
TABLESPACE tab_dwh
NOCACHE
NOLOGGING
NOPARALLEL
BUILD IMMEDIATE
REFRESH COMPLETE ON DEMAND
WITH PRIMARY KEY
AS
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 (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(+)
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,
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,
10, a.codicerifiutovalidazione,
NULL
) AS cod_rifiuto,
DECODE (a.stato, 10, 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(+)
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, 10, a.codicerifiutovalidazione, NULL),
DECODE (a.stato, 10, r.causale, NULL)) r;
--CREA INDICE SU dwh.MNP_DWH_DON
CREATE INDEX IDX_MNP_DWH_DON_1 ON dwh.MNP_DWH_DON
(DATA_EVENTO)
TABLESPACE TAB_IDX_BIG;
CREATE INDEX IDX_MNP_DWH_DON_2 ON dwh.MNP_DWH_DON
(STATO_ATTUALE)
TABLESPACE TAB_IDX_BIG;
--------------------------------------------------------------------------------
----------------------------------------------------------------
--CREA dwh.mnp_dwh_rec_push
DROP MATERIALIZED VIEW dwh.MNP_DWH_REC_PUSH
/
CREATE MATERIALIZED VIEW dwh.MNP_DWH_REC_PUSH
TABLESPACE tab_dwh
NOCACHE
NOLOGGING
NOPARALLEL
BUILD IMMEDIATE
REFRESH COMPLETE ON DEMAND
WITH PRIMARY KEY
AS
SELECT ROWNUM AS id_prog, r.*
FROM (SELECT SYSDATE AS data_aggiornamento,
DECODE (a.richiestaadhocaom || a.richiestaadhoc,
'00', 'Standard',
'PHoc'
) AS tipo_richiesta,
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
t.codice_dealer,
a.tipo_servizio_sistema_mitt AS tipo_servizio,
a.codice_operatore_donating AS 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,
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
) AS descr_stato_evento,
s.descr_stato AS descr_stato_attuale,
b.stato_a AS stato_evento, a.stato AS stato_attuale,
DECODE (a.stato, 5, 'Scartata', 'Pic') AS pic_scarto,
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
) AS cod_rifiuto,
DECODE (a.stato,
7, r.causale,
9, r.causale,
NULL
) AS causale_rifiuto,
COUNT (*) AS richieste,
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione
FROM mnp.mnp_gestione_richiesta_rec a,
mnp.mnp_storico_richiesta_rec b,
mnp.mnp_stato_rec c,
mnp.mnp_stato_rec s,
mnp.mnp_causale_rifiuto r,
mnp.mnp_gestione_richiesta_rec_ext t,
dbcgo_sap_anag_fv
WHERE TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
AND TRUNC (SYSDATE)
AND a.id_richiesta = b.id_richiesta
AND a.id_richiesta = t.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 = s.id_stato
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
AND t.codice_dealer = dbcgo_sap_anag_fv.cod_id(+)
GROUP BY DECODE (a.richiestaadhocaom || a.richiestaadhoc,
'00', 'Standard',
'PHoc'
),
a.tipo_cliente,
a.nome_ot,
a.codice_pre_post_pagato,
t.codice_dealer,
a.tipo_servizio_sistema_mitt,
a.codice_operatore_donating,
TRUNC (b.data_i_o),
TO_CHAR (b.data_i_o, 'yy-iw'),
TO_CHAR (b.data_i_o, 'mm'),
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
),
s.descr_stato,
b.stato_a,
a.stato,
DECODE (a.stato, 5, 'Scartata', 'Pic'),
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
),
DECODE (a.stato, 7, r.causale, 9, r.causale, NULL),
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione,
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 ( a.richiestaadhoc,
'0', 'Standard',
'PHoc'
) AS tipo_richiesta,
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
a.codice_dealer,
a.tipo_servizio_sistema_mitt AS tipo_servizio,
a.codice_operatore_donating AS 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,
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
) AS descr_stato_evento,
s.descr_stato AS descr_stato_attuale,
b.stato_a AS stato_evento, a.stato AS stato_attuale,
DECODE (a.stato, 5, 'Scartata', 'Pic') AS pic_scarto,
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
) AS cod_rifiuto,
DECODE (a.stato,
7, r.causale,
9, r.causale,
NULL
) AS causale_rifiuto,
COUNT (*) AS richieste,
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione
FROM mnp.mnp_gest_rich_donor_virt a,
mnp.mnp_storico_rich_don_virt b,
mnp.mnp_stato_don_virt c,
mnp.mnp_stato_don_virt s,
mnp.mnp_causale_rifiuto r,
dbcgo_sap_anag_fv
WHERE TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
AND TRUNC (SYSDATE)
AND (a.codice_operatore_recipient = 'TIMG' or a.codice_operatore_recipient = 'TIMT')
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 = s.id_stato
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
AND a.codice_dealer = dbcgo_sap_anag_fv.cod_id(+)
GROUP BY DECODE (a.richiestaadhoc,
'0', 'Standard',
'PHoc'
),
a.tipo_cliente,
a.nome_ot,
a.codice_pre_post_pagato,
a.codice_dealer,
a.tipo_servizio_sistema_mitt,
a.codice_operatore_donating,
a.codice_operatore_recipient,
TRUNC (b.data_i_o),
TO_CHAR (b.data_i_o, 'yy-iw'),
TO_CHAR (b.data_i_o, 'mm'),
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
),
s.descr_stato,
b.stato_a,
a.stato,
DECODE (a.stato, 5, 'Scartata', 'Pic'),
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
),
DECODE (a.stato, 7, r.causale, 9, r.causale, NULL),
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione) r;
--CREA INDICE SU dwh.mnp_dwh_rec_push
CREATE INDEX IDX_MNP_DWH_REC_1 ON dwh.MNP_DWH_REC_PUSH
(DATA_EVENTO)
TABLESPACE TAB_IDX_BIG;
CREATE INDEX IDX_MNP_DWH_REC_2 ON dwh.MNP_DWH_REC_PUSH
(STATO_ATTUALE)
TABLESPACE TAB_IDX_BIG;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- CREA dwh.MNP_DWH_DON_VIRT
DROP MATERIALIZED VIEW dwh.MNP_DWH_DON_VIRT;
CREATE MATERIALIZED VIEW dwh.MNP_DWH_DON_VIRT
TABLESPACE tab_dwh
NOCACHE
NOLOGGING
NOPARALLEL
BUILD IMMEDIATE
REFRESH COMPLETE ON DEMAND
WITH PRIMARY KEY
AS 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 (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(+)
AND (a.codice_operatore_don_eff <>'TIMG' AND a.codice_operatore_don_eff <>'TIMT')
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,
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,
10, a.codicerifiutovalidazione,
NULL
) AS cod_rifiuto,
DECODE (a.stato, 10, 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.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(+)
AND (a.codice_operatore_donating <>'TIMG' AND a.codice_operatore_donating <>'TIMT')
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, 10, a.codicerifiutovalidazione, NULL),
DECODE (a.stato, 10, r.causale, NULL)) r;
--CREA INDICE SU dwh.MNP_DWH_DON_VIRT
CREATE INDEX IDX_MNP_DWH_DON_VIRT_1 ON dwh.MNP_DWH_DON_VIRT
(DATA_EVENTO)
TABLESPACE TAB_IDX_BIG;
CREATE INDEX IDX_MNP_DWH_DON_VIRT_2 ON dwh.MNP_DWH_DON_VIRT
(STATO_ATTUALE)
TABLESPACE TAB_IDX_BIG;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- CREA dwh.mnp_dwh_rec_push_VIRT
DROP MATERIALIZED VIEW dwh.MNP_DWH_REC_PUSH_VIRT;
CREATE MATERIALIZED VIEW dwh.MNP_DWH_REC_PUSH_VIRT
TABLESPACE tab_dwh
NOCACHE
NOLOGGING
NOPARALLEL
BUILD IMMEDIATE
REFRESH COMPLETE ON DEMAND
WITH PRIMARY KEY
AS
SELECT ROWNUM AS id_prog, r.*
FROM (SELECT SYSDATE AS data_aggiornamento,
DECODE (a.richiestaadhocaom || a.richiestaadhoc,
'00', 'Standard',
'PHoc'
) AS tipo_richiesta,
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
t.codice_dealer,
a.tipo_servizio_sistema_mitt AS tipo_servizio,
a.codice_operatore_donating AS 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,
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
) AS descr_stato_evento,
s.descr_stato AS descr_stato_attuale,
b.stato_a AS stato_evento, a.stato AS stato_attuale,
DECODE (a.stato, 5, 'Scartata', 'Pic') AS pic_scarto,
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
) AS cod_rifiuto,
DECODE (a.stato,
7, r.causale,
9, r.causale,
NULL
) AS causale_rifiuto,
COUNT (*) AS richieste,
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione
FROM mnp.mnp_gestione_richiesta_rec a,
mnp.mnp_storico_richiesta_rec b,
mnp.mnp_stato_rec c,
mnp.mnp_stato_rec s,
mnp.mnp_causale_rifiuto r,
mnp.mnp_gestione_richiesta_rec_ext t,
dbcgo_sap_anag_fv
WHERE TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
AND TRUNC (SYSDATE)
AND a.id_richiesta = b.id_richiesta
AND a.id_richiesta = t.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 = s.id_stato
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
AND t.codice_dealer = dbcgo_sap_anag_fv.cod_id(+)
AND (a.codice_operatore_rec_eff <>'TIMG' AND a.codice_operatore_rec_eff <>'TIMT')
GROUP BY DECODE (a.richiestaadhocaom || a.richiestaadhoc,
'00', 'Standard',
'PHoc'
),
a.tipo_cliente,
a.nome_ot,
a.codice_pre_post_pagato,
t.codice_dealer,
a.tipo_servizio_sistema_mitt,
a.codice_operatore_donating,
TRUNC (b.data_i_o),
TO_CHAR (b.data_i_o, 'yy-iw'),
TO_CHAR (b.data_i_o, 'mm'),
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
),
s.descr_stato,
b.stato_a,
a.stato,
DECODE (a.stato, 5, 'Scartata', 'Pic'),
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
),
DECODE (a.stato, 7, r.causale, 9, r.causale, NULL),
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione,
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 ( a.richiestaadhoc,
'0', 'Standard',
'PHoc'
) AS tipo_richiesta,
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
a.codice_dealer,
a.tipo_servizio_sistema_mitt AS tipo_servizio,
a.codice_operatore_donating AS 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,
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
) AS descr_stato_evento,
s.descr_stato AS descr_stato_attuale,
b.stato_a AS stato_evento, a.stato AS stato_attuale,
DECODE (a.stato, 5, 'Scartata', 'Pic') AS pic_scarto,
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
) AS cod_rifiuto,
DECODE (a.stato,
7, r.causale,
9, r.causale,
NULL
) AS causale_rifiuto,
COUNT (*) AS richieste,
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione
FROM mnp.mnp_gest_rich_donor_virt a,
mnp.mnp_storico_rich_don_virt b,
mnp.mnp_stato_don_virt c,
mnp.mnp_stato_don_virt s,
mnp.mnp_causale_rifiuto r,
dbcgo_sap_anag_fv
WHERE TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
AND TRUNC (SYSDATE)
AND (a.codice_operatore_recipient <>'TIMG' AND a.codice_operatore_recipient <>'TIMT')
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 = s.id_stato
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
AND a.codice_dealer = dbcgo_sap_anag_fv.cod_id(+)
GROUP BY DECODE (a.richiestaadhoc,
'0', 'Standard',
'PHoc'
),
a.tipo_cliente,
a.nome_ot,
a.codice_pre_post_pagato,
a.codice_dealer,
a.tipo_servizio_sistema_mitt,
a.codice_operatore_donating,
a.codice_operatore_recipient,
TRUNC (b.data_i_o),
TO_CHAR (b.data_i_o, 'yy-iw'),
TO_CHAR (b.data_i_o, 'mm'),
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
),
s.descr_stato,
b.stato_a,
a.stato,
DECODE (a.stato, 5, 'Scartata', 'Pic'),
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
),
DECODE (a.stato, 7, r.causale, 9, r.causale, NULL),
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione) r;
--CREA INDICE SU dwh.mnp_dwh_rec_push_VIRT
CREATE INDEX IDX_mnp_dwh_rec_push_VIRT_1 ON dwh.MNP_DWH_REC_PUSH_VIRT
(DATA_EVENTO)
TABLESPACE TAB_IDX_BIG;
CREATE INDEX IDX_mnp_dwh_rec_push_VIRT_2 ON dwh.MNP_DWH_REC_PUSH_VIRT
(STATO_ATTUALE)
TABLESPACE TAB_IDX_BIG;
--------------------------------------------
--------------------------------------------
CREATE OR REPLACE FORCE VIEW MNP_DELIBERA_DON_VIRT_VIEW
(ID_PROG, OLO, RIC_RICEVUTE, RIC_PIC, DATA_EVENTO,
RECIPIENT_EFFETTIVO)
AS
((SELECT ROWNUM, r.aa, r.bb, r.cc, r.dd, r.ee
FROM (SELECT desc_olo aa, NVL (rric, 0) bb, NVL (rpic, 0) cc,
NVL (data_evento, fun_giorni_meno (TRUNC (SYSDATE), 1)) dd,
recipient_effettivo ee
FROM (SELECT data_evento, codice_operatore_recipient,
SUM (richieste) AS rric
FROM MNP_DWH_DON_VIRT
WHERE data_evento = fun_giorni_meno (TRUNC (SYSDATE), 1)
AND stato_evento = 1
AND tipo_richiesta = 'Standard'
GROUP BY data_evento, codice_operatore_recipient) riric,
(SELECT codice_operatore_recipient, SUM (richieste)
AS rpic,
recipient_effettivo
FROM MNP_DWH_DON_VIRT
WHERE data_evento = fun_giorni_meno (TRUNC (SYSDATE), 1)
AND stato_evento = 1
AND stato_attuale <> 4
AND tipo_richiesta = 'Standard'
GROUP BY codice_operatore_recipient, recipient_effettivo) ripic,
(SELECT desc_olo
FROM mnp.mnp_olo
WHERE flag_terze_parti = 1) olo
WHERE desc_olo = ripic.codice_operatore_recipient(+)
AND desc_olo = riric.codice_operatore_recipient(+)) r));
CREATE OR REPLACE FORCE VIEW MNP_DWH_DON_DATI_RIF_VIRT_VIEW
(ID_PROG, COUNT, CLIENTE, OT, "STANDARD/HOC",
MARCAGGIO, RECIPIENT, DATA_EVENTO, SETTIMANA_EVENTO, MESE_EVENTO,
STATO_EVENTO, COD_RIFIUTO, CAUSALE, CAUSALE_AGGREGATA, SOTTOMARCAGGIO,
"CODICE_POP-PRP", DONOR_EFFETTIVO, RECIPIENT_EFFETTIVO)
AS
(SELECT ROWNUM, r.aa, r.bb, r.cc, r.dd, r.ee, r.ff, r.gg, r.hh, r.ii, r.ll,
r.mm, r.nn, r.oo, r.pp, r.qq, r.ss, r.tt
FROM (SELECT SUM (MNP_DWH_DON_VIRT.richieste) aa, MNP_DWH_DON_VIRT.tipo_cliente bb,
MNP_DWH_DON_VIRT.nome_ot cc, MNP_DWH_DON_VIRT.tipo_richiesta dd,
MNP_DWH_DON_VIRT.marcaggio ee,
MNP_DWH_DON_VIRT.codice_operatore_recipient ff,
MNP_DWH_DON_VIRT.data_evento gg, MNP_DWH_DON_VIRT.settimana_evento hh,
TO_CHAR (MNP_DWH_DON_VIRT.data_evento, 'YY-MM') ii,
MNP_DWH_DON_VIRT.descr_stato_evento ll,
MNP_DWH_DON_VIRT.cod_rifiuto mm, MNP_DWH_DON_VIRT.causale_rifiuto nn,
DECODE (cod_rifiuto,
12, 'ANNULLAMENTO PER RICHIESTE DA ALTRO RECIPIENT',
'ALTRO'
) oo,
MNP_DWH_DON_VIRT.sottomarcaggio pp,
MNP_DWH_DON_VIRT.codice_pre_post_pagato qq,
MNP_DWH_DON_VIRT.donor_effettivo ss,
MNP_DWH_DON_VIRT.recipient_effettivo tt
FROM MNP_DWH_DON_VIRT
WHERE MNP_DWH_DON_VIRT.stato_attuale = 10
GROUP BY MNP_DWH_DON_VIRT.tipo_cliente,
MNP_DWH_DON_VIRT.nome_ot,
MNP_DWH_DON_VIRT.tipo_richiesta,
MNP_DWH_DON_VIRT.marcaggio,
MNP_DWH_DON_VIRT.codice_operatore_recipient,
MNP_DWH_DON_VIRT.data_evento,
MNP_DWH_DON_VIRT.settimana_evento,
TO_CHAR (MNP_DWH_DON_VIRT.data_evento, 'YY-MM'),
MNP_DWH_DON_VIRT.descr_stato_evento,
MNP_DWH_DON_VIRT.cod_rifiuto,
MNP_DWH_DON_VIRT.causale_rifiuto,
DECODE (cod_rifiuto,
12, 'ANNULLAMENTO PER RICHIESTE DA ALTRO RECIPIENT',
'ALTRO'
),
MNP_DWH_DON_VIRT.sottomarcaggio,
MNP_DWH_DON_VIRT.codice_pre_post_pagato,
MNP_DWH_DON_VIRT.donor_effettivo,
MNP_DWH_DON_VIRT.recipient_effettivo) r);
CREATE OR REPLACE FORCE VIEW MNP_DWH_DON_DATI_VIRT_VIEW
(ID_PROG, COUNT, CLIENTE, OT, "STANDARD/HOC",
MARCAGGIO, RECIPIENT, DATA_EVENTO, SETTIMANA_EVENTO, MESE_EVENTO,
STATO_EVENTO, STATO_ATTUALE, SOTTOMARCAGGIO, "CODICE_POP-PRP", DONOR_EFFETTIVO,
RECIPIENT_EFFETTIVO)
AS
(
(SELECT ROWNUM, r.aa, r.bb, r.cc, r.dd, r.ee, r.ff, r.gg, r.hh, r.ii, r.ll,
r.mm, r.nn, r.oo, r.pp, r.ss
FROM (SELECT SUM (MNP_DWH_DON_VIRT.richieste) aa, MNP_DWH_DON_VIRT.tipo_cliente bb,
MNP_DWH_DON_VIRT.nome_ot cc, MNP_DWH_DON_VIRT.tipo_richiesta dd,
MNP_DWH_DON_VIRT.marcaggio ee,
MNP_DWH_DON_VIRT.codice_operatore_recipient ff,
MNP_DWH_DON_VIRT.data_evento gg, MNP_DWH_DON_VIRT.settimana_evento hh,
TO_CHAR (MNP_DWH_DON_VIRT.data_evento, 'YY-MM') ii,
MNP_DWH_DON_VIRT.descr_stato_evento ll,
MNP_DWH_DON_VIRT.descr_stato_attuale mm,
MNP_DWH_DON_VIRT.sottomarcaggio nn,
MNP_DWH_DON_VIRT.codice_pre_post_pagato oo,
MNP_DWH_DON_VIRT.donor_effettivo pp,
MNP_DWH_DON_VIRT.recipient_effettivo ss
FROM MNP_DWH_DON_VIRT
GROUP BY MNP_DWH_DON_VIRT.tipo_cliente,
MNP_DWH_DON_VIRT.nome_ot,
MNP_DWH_DON_VIRT.tipo_richiesta,
MNP_DWH_DON_VIRT.marcaggio,
MNP_DWH_DON_VIRT.codice_operatore_recipient,
MNP_DWH_DON_VIRT.data_evento,
MNP_DWH_DON_VIRT.settimana_evento,
TO_CHAR (MNP_DWH_DON_VIRT.data_evento, 'YY-MM'),
MNP_DWH_DON_VIRT.descr_stato_evento,
MNP_DWH_DON_VIRT.descr_stato_attuale,
MNP_DWH_DON_VIRT.sottomarcaggio,
MNP_DWH_DON_VIRT.codice_pre_post_pagato,
MNP_DWH_DON_VIRT.donor_effettivo,
MNP_DWH_DON_VIRT.recipient_effettivo) r));
CREATE OR REPLACE FORCE VIEW MNP_DWH_REC_DATI_RIF_VIRT_VIEW
(ID_PROG, COUNT, CLIENTE, OT, "STANDARD/HOC",
DONATING, DATA_EVENTO, SETTIMANA_EVENTO, STATO_EVENTO, CAUSALE,
COD_RIFIUTO, "CODICE_POP-PRP", STATO_ATTUALE, CAUSALE_AGGREGATA, MESE_EVENTO,
DONOR_EFFETTIVO, RECIPIENT_EFFETTIVO)
AS
(SELECT ROWNUM, r.aa, r.bb, r.cc, r.dd, r.ee, r.ff, r.gg, r.hh, r.ii, r.ll,
r.mm, r.nn, r.pp, r.ss, donor_effettivo, recipient_effettivo
FROM (SELECT SUM (MNP_DWH_REC_PUSH_VIRT.richieste) aa,
MNP_DWH_REC_PUSH_VIRT.tipo_cliente bb,
MNP_DWH_REC_PUSH_VIRT.nome_ot cc,
MNP_DWH_REC_PUSH_VIRT.tipo_richiesta dd,
MNP_DWH_REC_PUSH_VIRT.donating ee,
MNP_DWH_REC_PUSH_VIRT.data_evento ff,
MNP_DWH_REC_PUSH_VIRT.settimana_evento gg,
MNP_DWH_REC_PUSH_VIRT.descr_stato_evento hh,
MNP_DWH_REC_PUSH_VIRT.causale_rifiuto ii,
MNP_DWH_REC_PUSH_VIRT.cod_rifiuto ll,
MNP_DWH_REC_PUSH_VIRT.codice_pre_post_pagato mm,
MNP_DWH_REC_PUSH_VIRT.descr_stato_attuale nn,
DECODE
(cod_rifiuto,
12, ' ANNULLAMENTO PER RICHIESTE DA ALTRO RECIPIENT',
'ALTRO'
) pp,
TO_CHAR (MNP_DWH_REC_PUSH_VIRT.data_evento, 'YY-MM') ss,
MNP_DWH_REC_PUSH_VIRT.donor_effettivo,
MNP_DWH_REC_PUSH_VIRT.recipient_effettivo
FROM MNP_DWH_REC_PUSH_VIRT
WHERE (MNP_DWH_REC_PUSH_VIRT.stato_attuale IN (7, 9))
GROUP BY MNP_DWH_REC_PUSH_VIRT.tipo_cliente,
MNP_DWH_REC_PUSH_VIRT.nome_ot,
MNP_DWH_REC_PUSH_VIRT.tipo_richiesta,
MNP_DWH_REC_PUSH_VIRT.donating,
MNP_DWH_REC_PUSH_VIRT.data_evento,
MNP_DWH_REC_PUSH_VIRT.settimana_evento,
MNP_DWH_REC_PUSH_VIRT.descr_stato_evento,
MNP_DWH_REC_PUSH_VIRT.causale_rifiuto,
MNP_DWH_REC_PUSH_VIRT.cod_rifiuto,
MNP_DWH_REC_PUSH_VIRT.codice_pre_post_pagato,
MNP_DWH_REC_PUSH_VIRT.descr_stato_attuale,
DECODE (cod_rifiuto,
12, ' ANNULLAMENTO PER RICHIESTE DA ALTRO RECIPIENT',
'ALTRO'
),
TO_CHAR (MNP_DWH_REC_PUSH_VIRT.data_evento, 'YY-MM'),
MNP_DWH_REC_PUSH_VIRT.donor_effettivo,
MNP_DWH_REC_PUSH_VIRT.recipient_effettivo
) r);
CREATE OR REPLACE FORCE VIEW MNP_DWH_REC_DATI_VIRT_VIEW
(ID_PROG, COUNT, CLIENTE, OT, DONATING,
"STANDARD/HOC", DATA_EVENTO, SETTIMANA_EVENTO, STATO_EVENTO, STATO_ATTUALE,
SCARTATA_PIC, "CODICE_POP-PRP", MESE_EVENTO, DONOR_EFFETTIVO, RECIPIENT_EFFETTIVO)
AS
(SELECT ROWNUM, r.aa, r.bb, r.cc, r.dd, r.ee, r.ff, r.gg, r.hh, r.ii, r.ll,
r.mm, r.oo,r.donor_effettivo, r.recipient_effettivo
FROM (SELECT SUM (MNP_DWH_REC_PUSH_VIRT.richieste) aa,
MNP_DWH_REC_PUSH_VIRT.tipo_cliente bb,
MNP_DWH_REC_PUSH_VIRT.nome_ot cc, MNP_DWH_REC_PUSH_VIRT.donating dd,
MNP_DWH_REC_PUSH_VIRT.tipo_richiesta ee,
MNP_DWH_REC_PUSH_VIRT.data_evento ff,
MNP_DWH_REC_PUSH_VIRT.settimana_evento gg,
MNP_DWH_REC_PUSH_VIRT.descr_stato_evento hh,
MNP_DWH_REC_PUSH_VIRT.descr_stato_attuale ii,
MNP_DWH_REC_PUSH_VIRT.pic_scarto ll,
MNP_DWH_REC_PUSH_VIRT.codice_pre_post_pagato mm,
MNP_DWH_REC_PUSH_VIRT.donor_effettivo ,
MNP_DWH_REC_PUSH_VIRT.recipient_effettivo ,
TO_CHAR (MNP_DWH_REC_PUSH_VIRT.data_evento, 'YY-MM') oo
FROM MNP_DWH_REC_PUSH_VIRT
WHERE (MNP_DWH_REC_PUSH_VIRT.donating <> 'TIMT')
GROUP BY MNP_DWH_REC_PUSH_VIRT.tipo_cliente,
MNP_DWH_REC_PUSH_VIRT.nome_ot,
MNP_DWH_REC_PUSH_VIRT.tipo_richiesta,
MNP_DWH_REC_PUSH_VIRT.donating,
MNP_DWH_REC_PUSH_VIRT.data_evento,
MNP_DWH_REC_PUSH_VIRT.settimana_evento,
MNP_DWH_REC_PUSH_VIRT.descr_stato_evento,
MNP_DWH_REC_PUSH_VIRT.descr_stato_attuale,
MNP_DWH_REC_PUSH_VIRT.pic_scarto,
MNP_DWH_REC_PUSH_VIRT.codice_pre_post_pagato,
MNP_DWH_REC_PUSH_VIRT.recipient_effettivo,
MNP_DWH_REC_PUSH_VIRT.donor_effettivo,
TO_CHAR (MNP_DWH_REC_PUSH_VIRT.data_evento, 'YY-MM')) r);
CREATE OR REPLACE FORCE VIEW MNP_RECIPIENT_CANALE_VIRT_VIEW
(ID_PROG, DATA_AGGIORNAMENTO, TIPO_RICHIESTA, TIPO_CLIENTE, NOME_OT,
CODICE_DEALER, TIPO_SERVIZIO, DONATING, DATA_EVENTO, SETTIMANA_EVENTO,
MESE_EVENTO, DESCR_STATO_EVENTO, DESC_STATO_ATTUALE, STATO_EVENTO, STATO_ATTUALE,
COD_RIFIUTO, CAUSALE_RIFIUTO, CANALE_ACQUISIZIONE, SOTTOCANALE_ACQUISIZIONE, RIGA,
DONOR_EFFETTIVO, RECIPIENT_EFFETTIVO)
AS
(
(SELECT ROWNUM, r.aa, r.bb, r.cc, r.dd, r.ee, r.ff, r.gg, r.hh, r.ii, r.ll,
r.mm, r.nn, r.oo, r.pp, r.qq, r.rr, r.ss, r.tt, r.uu, donor_effettivo, recipient_effettivo
FROM (SELECT MNP_DWH_REC_PUSH_VIRT.data_aggiornamento aa,
MNP_DWH_REC_PUSH_VIRT.tipo_richiesta bb,
MNP_DWH_REC_PUSH_VIRT.tipo_cliente cc,
MNP_DWH_REC_PUSH_VIRT.nome_ot dd,
MNP_DWH_REC_PUSH_VIRT.codice_dealer ee,
MNP_DWH_REC_PUSH_VIRT.tipo_servizio ff,
MNP_DWH_REC_PUSH_VIRT.donating gg,
MNP_DWH_REC_PUSH_VIRT.data_evento hh,
MNP_DWH_REC_PUSH_VIRT.settimana_evento ii,
MNP_DWH_REC_PUSH_VIRT.mese_evento ll,
MNP_DWH_REC_PUSH_VIRT.descr_stato_evento mm,
MNP_DWH_REC_PUSH_VIRT.descr_stato_attuale nn,
MNP_DWH_REC_PUSH_VIRT.stato_evento oo,
MNP_DWH_REC_PUSH_VIRT.stato_attuale pp,
MNP_DWH_REC_PUSH_VIRT.cod_rifiuto qq,
MNP_DWH_REC_PUSH_VIRT.causale_rifiuto rr,
MNP_DWH_REC_PUSH_VIRT.canale_acquisizione ss,
MNP_DWH_REC_PUSH_VIRT.sottocanale_acquisizione tt,
SUM (MNP_DWH_REC_PUSH_VIRT.richieste) uu,
MNP_DWH_REC_PUSH_VIRT.donor_effettivo,
MNP_DWH_REC_PUSH_VIRT.recipient_effettivo
FROM MNP_DWH_REC_PUSH_VIRT
GROUP BY MNP_DWH_REC_PUSH_VIRT.data_aggiornamento,
MNP_DWH_REC_PUSH_VIRT.tipo_richiesta,
MNP_DWH_REC_PUSH_VIRT.tipo_cliente,
MNP_DWH_REC_PUSH_VIRT.nome_ot,
MNP_DWH_REC_PUSH_VIRT.codice_dealer,
MNP_DWH_REC_PUSH_VIRT.tipo_servizio,
MNP_DWH_REC_PUSH_VIRT.donating,
MNP_DWH_REC_PUSH_VIRT.data_evento,
MNP_DWH_REC_PUSH_VIRT.settimana_evento,
MNP_DWH_REC_PUSH_VIRT.mese_evento,
MNP_DWH_REC_PUSH_VIRT.descr_stato_evento,
MNP_DWH_REC_PUSH_VIRT.descr_stato_attuale,
MNP_DWH_REC_PUSH_VIRT.stato_evento,
MNP_DWH_REC_PUSH_VIRT.stato_attuale,
MNP_DWH_REC_PUSH_VIRT.cod_rifiuto,
MNP_DWH_REC_PUSH_VIRT.causale_rifiuto,
MNP_DWH_REC_PUSH_VIRT.canale_acquisizione,
MNP_DWH_REC_PUSH_VIRT.donor_effettivo,
MNP_DWH_REC_PUSH_VIRT.recipient_effettivo,
MNP_DWH_REC_PUSH_VIRT.sottocanale_acquisizione) r));
CREATE OR REPLACE FORCE VIEW MNP_MOB_INT_VIRT_VIEW
(ID_PROG, DATA_AGGIORNAMENTO, TIPO_RICHIESTA, TIPO_CLIENTE, CODICE_OPERATORE_DONATING,
CODICE_OPERATORE_RECIPIENT, DATA_EVENTO, SETTIMANA_EVENTO, ANNO_MESE_EVENTO, CODICE_PRE_POST_PAGATO,
RICHIESTE, DONOR_EFFETTIVO, RECIPIENT_EFFETTIVO)
AS
(SELECT ROWNUM, r."DATA_AGGIORNAMENTO",r."TIPO_RICHIESTA",r."TIPO_CLIENTE",r."CODICE_OPERATORE_DONATING",r."CODICE_OPERATORE_RECIPIENT",r."DATA_EVENTO",r."SETTIMANA_EVENTO",r."TO_CHAR(A.DATA_EVENTO,'YY-MM')",r."CODICE_PRE_POST_PAGATO",r."SUM(A.RICHIESTE)",r."DONOR_EFFETTIVO",r."RECIPIENT_EFFETTIVO"
FROM (SELECT a.data_aggiornamento, a.tipo_richiesta, a.tipo_cliente,
a.codice_operatore_donating, a.codice_operatore_recipient,
a.data_evento, a.settimana_evento,
TO_CHAR (a.data_evento, 'YY-MM'), a.codice_pre_post_pagato,
SUM (a.richieste),a.donor_effettivo,a.recipient_effettivo
FROM MNP_DWH_DON_VIRT a
WHERE a.descr_stato_evento = 'ESPLETATA'
AND a.data_evento >= (SYSDATE - 397)
GROUP BY a.data_aggiornamento,
a.tipo_richiesta,
a.tipo_cliente,
a.codice_operatore_donating,
a.codice_operatore_recipient,
a.data_evento,
a.settimana_evento,
TO_CHAR (a.data_evento, 'YY-MM'),
a.codice_pre_post_pagato,
a.donor_effettivo,a.recipient_effettivo
UNION
SELECT b.data_aggiornamento, b.tipo_richiesta, b.tipo_cliente,
b.donating, 'TIMG', b.data_evento, b.settimana_evento,
TO_CHAR (b.data_evento, 'YY-MM'), b.codice_pre_post_pagato,
SUM (b.richieste), b.donor_effettivo,b.recipient_effettivo
FROM MNP_DWH_REC_PUSH_VIRT b
WHERE b.descr_stato_evento = 'EVASA'
AND b.data_evento >= (SYSDATE - 397)
GROUP BY b.data_aggiornamento,
b.tipo_richiesta,
b.tipo_cliente,
b.donating,
'TIMG',
b.data_evento,
b.settimana_evento,
TO_CHAR (b.data_evento, 'YY-MM'),
b.codice_pre_post_pagato,
b.donor_effettivo,b.recipient_effettivo) r);