--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, NULL AS recipient_effettivo, NULL 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 c, mnp.mnp_stato_rec 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(+) 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, NULL AS recipient_effettivo, NULL 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 c, mnp.mnp_stato 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.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, 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; ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- DROP MATERIALIZED VIEW dwh.MNP_DWH_POR / CREATE MATERIALIZED VIEW dwh.MNP_DWH_POR 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, COUNT (*) AS richieste, a.codice_operatore_donating AS donating, a.codice_operatore_recipient AS recipient, 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 stato_evento, s.descr_stato AS stato_attuale, a.codice_operatore_don_eff AS donor_effettivo, a.codice_operatore_rec_eff AS recipient_effettivo FROM mnp.mnp_gestione_richiesta_porting a, mnp.mnp_storico_porting b, mnp.mnp_stato_porting c, mnp.mnp_stato_porting s WHERE b.data_i_o BETWEEN TO_DATE (SYSDATE - 397) AND TRUNC (SYSDATE) AND a.id_richiesta = b.id_richiesta AND b.stato_a = c.id_stato AND a.stato = s.id_stato GROUP BY 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'), c.descr_stato, s.descr_stato, a.codice_operatore_rec_eff, a.codice_operatore_don_eff) r; --CREA INDICE SU dwh.mnp_dwh_por CREATE INDEX IDX_MNP_DWH_POR_1 ON dwh.MNP_DWH_POR (DATA_EVENTO) TABLESPACE TAB_IDX_BIG; ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- DROP MATERIALIZED VIEW DWH.MNP_DWH_CESS_IN; CREATE MATERIALIZED VIEW DWH.MNP_DWH_CESS_IN 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, COUNT(*) AS richieste, codice_operatore_recipient AS operatore_donating, 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, s.descr_stato AS descr_stato_attuale, b.stato_a AS stato_evento, a.stato AS stato_attuale FROM mnp.mnp_gestione_richiesta_cess a, mnp.mnp_storico_cess b, mnp.mnp_stato_cess c, mnp.mnp_stato_cess s 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 = c.id_stato AND a.stato = s.id_stato AND a.tim_donor = 1 GROUP BY codice_operatore_recipient, TRUNC(b.data_i_o), TO_CHAR(b.data_i_o,'yy-iw'), TO_CHAR(b.data_i_o,'mm'), c.descr_stato, s.descr_stato, b.stato_a, a.stato) r; ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- DROP MATERIALIZED VIEW DWH.MNP_DWH_CESS_OUT; CREATE MATERIALIZED VIEW DWH.MNP_DWH_CESS_OUT 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, COUNT(*) AS richieste, DECODE(SUBSTR(msisdn,1,4),'3932','WIND','3934','OPIV','3933','TIMG','3936','TIMG','3938','WIND','3939','H3GI',SUBSTR(msisdn,1,4)) AS operatore_recipient, 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, s.descr_stato AS descr_stato_attuale, b.stato_a AS stato_evento, a.stato AS stato_attuale FROM mnp.mnp_gestione_rich_cess_port a, mnp.mnp_storico_cess_porting b, mnp.mnp_stato_cess_porting c, mnp.mnp_stato_cess_porting s 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 = c.id_stato AND a.stato = s.id_stato AND SUBSTR(msisdn,1,4) <> '3933' AND SUBSTR(msisdn,1,4) <> '3936' GROUP BY DECODE(SUBSTR(msisdn,1,4),'3932','WIND','3934','OPIV','3933','TIMG','3936','TIMG','3938','WIND','3939','H3GI', SUBSTR(msisdn,1,4)), TRUNC(b.data_i_o), TO_CHAR(b.data_i_o,'yy-iw'), TO_CHAR(b.data_i_o,'mm'), c.descr_stato, s.descr_stato, b.stato_a, a.stato) r; ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- -- 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, NULL AS recipient_effettivo, NULL 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 c, mnp.mnp_stato_rec 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(+) 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, NULL AS recipient_effettivo, NULL 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 c, mnp.mnp_stato 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.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, 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); ------------------ per recuperare credito anomalo e nome file ------------------------ DROP MATERIALIZED VIEW MNP_DWH_TC_ANOMALO; CREATE MATERIALIZED VIEW MNP_DWH_TC_ANOMALO AS SELECT r.id_richiesta, r.FLAG_VERIFICA_CREDITO_ANOMALO FROM mnp.MNP_GEST_RICH_DON_TC r UNION SELECT r.id_richiesta, r.FLAG_VERIFICA_CREDITO_ANOMALO FROM mnp.MNP_GEST_RICH_REC_VIRT_TC r UNION SELECT r.id_richiesta, r.FLAG_VERIFICA_CREDITO_ANOMALO FROM mnp.MNP_GEST_RICH_REC_TC r UNION SELECT r.id_richiesta, 0 AS FLAG_VERIFICA_CREDITO_ANOMALO FROM mnp.MNP_GEST_RICH_DON_VIRT_TC r ; DROP MATERIALIZED VIEW MNP_DWH_XML_IN; CREATE MATERIALIZED VIEW MNP_DWH_XML_IN AS SELECT xr.id_richiesta, x.nome_file, tipo_file FROM mnp.MNP_XML_IN x, mnp.MNP_XML_RICHIESTA_IN xr WHERE xr.nome_file=x.nome_file AND tipo_file IN (6,11,12); ------------------ per recuperare data cessazione ricevuto da MSS CREATE OR REPLACE VIEW MNP_DWH_MSS_CESS_IN_VIEW AS SELECT id_richiesta, data_ora_cessazione FROM mnp.MNP_MSS_CESS_IN; CREATE OR REPLACE VIEW MNP_DWH_MSS_ATT_IN_VIEW AS SELECT id_richiesta, data_ora_cessazione FROM mnp.MNP_MSS_ATTIVAZIONE_IN_REC; ---------------------------------------------------------------------- -------------- nuova consegna kit di luglio ---------------------------- DROP MATERIALIZED VIEW DWH.MNP_DWH_RICH_REC_VIRT_EXT; CREATE MATERIALIZED VIEW DWH.MNP_DWH_RICH_REC_VIRT_EXT TABLESPACE tab_dwh NOCACHE NOLOGGING NOPARALLEL BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND WITH PRIMARY KEY AS SELECT ROWNUM AS id_prog, r.* FROM (SELECT g.id_richiesta, g.RICHIESTAADHOC, s.DATA_I_O AS DATA_PRESA_IN_CARICO, g.ABBONATO_PREPAGATO, g.FLAG_ESP, g.MARCAGGIO, g.SOTTOMARCAGGIO, g.NOME_OT FROM mnp.MNP_GEST_RICH_REC_VIRT g, MNP.MNP_STORICO_RICH_REC_VIRT s WHERE g.id_richiesta=s.id_richiesta(+) AND s.stato_da=2 AND s.stato_a=4 ) r; ---------------------------------------------------------------------- DROP MATERIALIZED VIEW DWH.MNP_DWH_RICH_DON_VIRT_EXT; CREATE MATERIALIZED VIEW DWH.MNP_DWH_RICH_DON_VIRT_EXT TABLESPACE tab_dwh NOCACHE NOLOGGING NOPARALLEL BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND WITH PRIMARY KEY AS SELECT ROWNUM AS id_prog, r.* FROM (SELECT g.id_richiesta, g.RICHIESTAADHOC FROM mnp.MNP_GEST_RICH_DONOR_VIRT g ) r; ---------------------------------------------------------------------- DROP MATERIALIZED VIEW dwh.MNP_DWH_gest_rich_rec_ext; CREATE MATERIALIZED VIEW dwh.MNP_DWH_gest_rich_rec_ext TABLESPACE tab_dwh NOCACHE NOLOGGING NOPARALLEL BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND WITH PRIMARY KEY AS SELECT id_richiesta, DATA_VALIDAZIONE_EFF, BUSINESS_ID, FLAG_ESP FROM mnp.mnp_gestione_richiesta_rec; ---------------------------------------------------------------------- DROP MATERIALIZED VIEW dwh.MNP_DWH_gest_rich_don_ext; CREATE MATERIALIZED VIEW dwh.MNP_DWH_gest_rich_don_ext TABLESPACE tab_dwh NOCACHE NOLOGGING NOPARALLEL BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND WITH PRIMARY KEY AS SELECT id_richiesta, codice_rifiuto_validazione, DATA_VALIDAZIONE_EFF, BUSINESS_ID, FLAG_ESP FROM mnp.mnp_gestione_richiesta;