Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpapp/script/dbUpDate/kitDicembre12/dbcgoDDL.sql
2024-05-13 12:54:14 +02:00

131 lines
4.1 KiB
SQL

create table DBCGO_RICARICHE_BMC
(
data_rif date not null,
msisdn varchar2(20) not null,
num_ricariche number not null,
imp_tot_ricariche number not null
)
tablespace DBCGO_DATA_MEDIUM;
comment on column DBCGO_RICARICHE_BMC.data_rif
is 'Data di riferimento del flusso';
comment on column DBCGO_RICARICHE_BMC.msisdn
is 'Msisdn uscito da TIM nella settimana dii riferimento del flusso';
comment on column DBCGO_RICARICHE_BMC.num_ricariche
is 'Numero delle ricariche effettuate dal msisdn nei 6 mesi precedenti l''uscita';
comment on column DBCGO_RICARICHE_BMC.imp_tot_ricariche
is 'Importo totale delle ricariche effettuate nei 6 mesi precedenti l''uscita';
-- creare indice su mese_comp
alter table DBCGO_RICARICHE_BMC
add constraint PK_DBCGO_RICARICHE_BMC primary key (data_rif,msisdn)
using index
tablespace DBCGO_IDX_MEDIUM;
create table DBCGO_FLUSSO_BMC
(
data_rif date not null,
msisdn varchar2(20) not null,
num_ricariche number not null,
imp_tot_ricariche number not null
)
tablespace DBCGO_DATA_MEDIUM;
comment on column DBCGO_FLUSSO_BMC.data_rif
is 'Data di riferimento del flusso';
comment on column DBCGO_FLUSSO_BMC.msisdn
is 'Msisdn uscito da TIM nella settimana dii riferimento del flusso';
comment on column DBCGO_FLUSSO_BMC.num_ricariche
is 'Numero delle ricariche effettuate dal msisdn nei 6 mesi precedenti l''uscita';
comment on column DBCGO_FLUSSO_BMC.imp_tot_ricariche
is 'Importo totale delle ricariche effettuate nei 6 mesi precedenti l''uscita';
-- creare indice su mese_comp
alter table DBCGO_FLUSSO_BMC
add constraint PK_DBCGO_FLUSSO_BMC primary key (data_rif,msisdn)
using index
tablespace DBCGO_IDX_MEDIUM;
CREATE OR REPLACE VIEW MNP_DW_REP_MON_RECIPIENT
(mese_comp, tipo_giorno_inserimento, fascia_oraria_richiesta, fascia_oraria_invio, tipo_cliente, numero_richieste) AS
SELECT * FROM MNP_DW_REPORT_MONITORAGGIO_REC@DWH;
CREATE OR REPLACE VIEW MNP_DW_REPORT_TCR
(id_richiesta, blocco, data_di_riferimento, data_dco_eff, tcr1, tcr2, msisdn, codice_pre_post_pagato, codice_operatore_don_eff, codice_operatore_rec_eff) AS
SELECT * FROM MNP_DW_REPORT_TCR@DWH;
CREATE OR REPLACE VIEW MNP_DW_REPORT_TCR_DONOR
(
ID_RICHIESTA,
BLOCCO,
DATA_DI_RIFERIMENTO,
DATA_DCO_EFF,
TCR1,
TCR2,
MSISDN,
CODICE_PRE_POST_PAGATO,
CODICE_OPERATORE_DON_EFF,
CODICE_OPERATORE_REC_EFF,
DATA_RIF_BMC,
NUM_RICARICHE,
IMP_TOT_RICARICHE
)
AS
SELECT ID_RICHIESTA,
BLOCCO,
DATA_DI_RIFERIMENTO,
DATA_DCO_EFF,
TCR1,
TCR2,
A.MSISDN AS MSISDN,
CODICE_PRE_POST_PAGATO,
CODICE_OPERATORE_DON_EFF,
CODICE_OPERATORE_REC_EFF,
B.DATA_RIF AS DATA_RIF_BMC,
nvl(b.num_ricariche,0) AS NUM_RICARICHE,
nvl(b.imp_tot_ricariche,0) AS IMP_TOT_RICARICHE
FROM MNP_DW_REPORT_TCR a, DBCGO_RICARICHE_BMC b
where a.MSISDN = b.MSISDN(+)
and A.CODICE_OPERATORE_DON_EFF = 'TIMG'
and b.DATA_RIF(+) between a.DATA_DCO_EFF and a.DATA_DCO_EFF+2;
-- TOLTO IL NUMERO_RIGA PER PROBLEMI DI PERFORMANCE IN ESERCIZIO.
CREATE OR REPLACE FORCE VIEW MNP_DW_XML_IN_OUT_VIEW
(
ID_RICHIESTA,
MSISDN,
TIPO_FILE,
TIPO_NOTIFICA,
NOME_FILE,
DIREZIONE,
DATA,
DATA_SHOW,
MITTENTE,
DESTINATARIO,
CANALE_ALTERNATIVO,
TIPO_PROCESSO,
NOME_FILE_XML,
NOME_FILE_ACK,
ORD2
)
AS
SELECT ID_RICHIESTA,
MSISDN,
TIPO_FILE,
TIPO_NOTIFICA,
NOME_FILE,
DIREZIONE,
DATA,
DATA_SHOW,
CASE TIPO_FILE WHEN 'ACK' THEN MITTENTE ELSE DESTINATARIO END
AS mittente,
CASE TIPO_FILE WHEN 'ACK' THEN DESTINATARIO ELSE MITTENTE END
AS destinatario,
DECODE (CANALE_ALTERNATIVO, 0, 'N', 1, 'Y', 'N')
AS CANALE_ALTERNATIVO,
TIPO_PROCESSO,
NOME_FILE_XML,
NOME_FILE_ACK,
ORD2
FROM dwh.mnp_dw_xml_in_out@mnp;