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

391 lines
12 KiB
SQL

--da eseguire come utente DBCGO
-------------------------------------------------------------------------
--TABLES
CREATE TABLE DBCGO_PROFILO_TARIFFARIO (
SISTEMA_MITTENTE VARCHAR2(4),
COD_PROFILO_TARIFFARIO VARCHAR2(10),
DESC_PROFILO_TARIFFARIO VARCHAR2(50) NOT NULL
)
TABLESPACE DBCGO_DATA_SMALL;
ALTER TABLE DBCGO_PROFILO_TARIFFARIO ADD
CONSTRAINT DBCGO_PROFILO_TARIFFARIO_PK
PRIMARY KEY(SISTEMA_MITTENTE, COD_PROFILO_TARIFFARIO)
USING INDEX
TABLESPACE DBCGO_IDX_SMALL
ENABLE
VALIDATE;
------------------------------------------------------------
CREATE TABLE DBCGO_OFFERTA (
SISTEMA_MITTENTE VARCHAR2(4),
COD_OFFERTA VARCHAR2(5),
DESC_OFFERTA VARCHAR2(50) NOT NULL
)
TABLESPACE DBCGO_DATA_SMALL;
ALTER TABLE DBCGO_OFFERTA ADD
CONSTRAINT DBCGO_OFFERTA_PK
PRIMARY KEY(SISTEMA_MITTENTE, COD_OFFERTA)
USING INDEX
TABLESPACE DBCGO_IDX_SMALL
ENABLE
VALIDATE;
------------------------------------------------------------
CREATE TABLE DBCGO_ACCORDO (
SISTEMA_MITTENTE VARCHAR2(4),
COD_ACCORDO VARCHAR2(10),
DESC_ACCORDO VARCHAR2(150) NOT NULL
)
TABLESPACE DBCGO_DATA_SMALL;
ALTER TABLE DBCGO_ACCORDO ADD
CONSTRAINT DBCGO_ACCORDO_PK
PRIMARY KEY(SISTEMA_MITTENTE, COD_ACCORDO)
USING INDEX
TABLESPACE DBCGO_IDX_SMALL
ENABLE
VALIDATE;
-------------------------------------------------------------
ALTER TABLE DBCGO_GESTIONE_RICHIESTA_REC add(
SISTEMA_MITTENTE VARCHAR2(4),
COD_PROFILO_TARIFFARIO VARCHAR2(10),
COD_OFFERTA VARCHAR2(5),
COD_ACCORDO VARCHAR2(10)
);
-------------------------------------------------------------------------
-- RU_191_192
ALTER TABLE DBCGO_GESTIONE_RICHIESTA_REC RENAME COLUMN VALORE_CLIENTE TO CAR1;
ALTER TABLE DBCGO_GESTIONE_RICHIESTA_REC RENAME COLUMN VALORE_SPESA TO CAR2;
-------------------------------------------------------------------------
--MVIEW
CREATE MATERIALIZED VIEW LOG ON DBCGO_PP TABLESPACE DBCGO_DATA_BIG WITH SEQUENCE, ROWID,(msisdn,terminato) INCLUDING NEW VALUES;
CREATE MATERIALIZED VIEW DBCGO_PP_MV00
TABLESPACE DBCGO_DATA_BIG
NOLOGGING
REFRESH FAST ON COMMIT WITH ROWID
AS
SELECT msisdn,count(*) pp_num
FROM dbcgo_pp pp
WHERE terminato = 1
group by msisdn;
CREATE UNIQUE INDEX DBCGO_PP_MV00_PK ON DBCGO_PP_MV00
(MSISDN)
TABLESPACE DBCGO_IDX_BIG
NOLOGGING;
CREATE INDEX DBCGO_PP_MV00_IDX01 ON DBCGO_PP_MV00
(pp_num)
TABLESPACE DBCGO_IDX_BIG
NOLOGGING;
-------------------------------------------------------------------------
--VIEW
CREATE OR REPLACE VIEW DBCGO_GESTIONE_RIC_REC_V00
(ID_RICHIESTA, STATO, TIPO_CLIENTE, DATA_CUT_OVER_CALC, DATA_VALIDAZIONE_MAX,
DATARICEZIONERICHIESTA, DATA_CUT_OVER, CODICE_OPERATORE_DONATING, MSISDN, CODICE_FISCALE_PARTITA_IVA,
CODICE_PRE_POST_PAGATO, NOME_CLIENTE, COGNOME_CLIENTE, RAGIONE_SOCIALE, CAUSALE_ACCODAMENTO,
RICHIESTAADHOC, RICHIESTAADHOCAOM, ID_PRIORITA, INSERT_DATE, UPDATE_DATE,
ICCD_SERIAL_NUMBER, IMSI, NOME_OT, NUMERO_DOCUMENTO, TIPO_DOCUMENTO,
NUMERO_INVII, TIMESTAMP, DATA_TRANSIZIONE_STATO, ID_PRIORITA_MNP, DATA_TRANSIZIONE_STATO_GRP,
CODICE_DEALER, CAR1, CAR2, CODICE_OPERATORE_RECIPIENT, CODICE_GRUPPO,
SISTEMA_MITTENTE, COD_PROFILO_TARIFFARIO, COD_OFFERTA, COD_ACCORDO, DESCR_STATO,
VIS_DAY_NUM, ID_STATO_GRP, PRIORITY_TYPE, PRIORITA, PRIORITA_MNP,
NOME_OT_DESC, NOME_OT_ORDER_BY, TIPO_CLIENTE_DESC, CODICE_PRE_POST_PAGATO_DESC, CAR1_DESC,
CAR2_DESC, SISTEMA_MITTENTE_DESC, DESC_PROFILO_TARIFFARIO, DESC_OFFERTA, DESC_ACCORDO,
PP_NUM)
AS
(SELECT
a.ID_RICHIESTA,
a.STATO,
a.TIPO_CLIENTE,
a.DATA_CUT_OVER_CALC,
a.DATA_VALIDAZIONE_MAX,
a.DATARICEZIONERICHIESTA,
a.DATA_CUT_OVER,
a.CODICE_OPERATORE_DONATING,
a.MSISDN,
a.CODICE_FISCALE_PARTITA_IVA,
a.CODICE_PRE_POST_PAGATO,
a.NOME_CLIENTE,
a.COGNOME_CLIENTE,
a.RAGIONE_SOCIALE,
a.CAUSALE_ACCODAMENTO,
a.RICHIESTAADHOC,
a.RICHIESTAADHOCAOM,
a.ID_PRIORITA,
a.INSERT_DATE,
a.UPDATE_DATE,
a.ICCD_SERIAL_NUMBER,
a.IMSI,
a.NOME_OT,
a.NUMERO_DOCUMENTO,
a.TIPO_DOCUMENTO,
a.NUMERO_INVII,
a.TIMESTAMP,
a.DATA_TRANSIZIONE_STATO,
a.ID_PRIORITA_MNP,
a.DATA_TRANSIZIONE_STATO_GRP,
a.CODICE_DEALER,
a.CAR1,
a.CAR2,
a.CODICE_OPERATORE_RECIPIENT,
a.CODICE_GRUPPO,
a.SISTEMA_MITTENTE,
a.COD_PROFILO_TARIFFARIO,
a.COD_OFFERTA,
a.COD_ACCORDO,
d.descr AS descr_stato,
d.vis_day_num AS vis_day_num,
d.id_stato_grp AS id_stato_grp,
b.priority_type AS priority_type,
c.descr AS priorita,
e.descr AS priorita_mnp,
f.descr AS nome_ot_desc,
f.order_by AS nome_ot_order_by,
g.descr AS tipo_cliente_desc,
h.descr AS codice_pre_post_pagato_desc,
i.descr AS car1_desc,
l.descr AS car2_desc,
n.descr AS sistema_mittente_desc,
PTP.DESC_PROFILO_TARIFFARIO,
PTO.DESC_OFFERTA,
PTA.DESC_ACCORDO,
pp.pp_num AS pp_num
FROM
dbcgo_gestione_richiesta_rec a,
dbcgo_pp_mv00 pp,
dbcgo_stato_rec b,
dbcgo_stato_rec_grp d,
dbcgo_priorita_rec c,
dbcgo_priorita_rec e,
dbcgo_lov f,
dbcgo_lov g,
dbcgo_lov h,
dbcgo_lov i,
dbcgo_lov l,
dbcgo_lov n,
dbcgo_profilo_tariffario PTP,
dbcgo_offerta PTO,
dbcgo_accordo PTA
WHERE a.msisdn=pp.msisdn(+)
AND a.stato = b.id_stato
AND b.id_stato_grp = d.id_stato
AND a.id_priorita = c.id_priorita
AND a.id_priorita_mnp = e.id_priorita
AND a.nome_ot = f.NAME(+)
AND f.lov_name(+) = 'OT_REC'
AND a.tipo_cliente = g.NAME
AND g.lov_name = 'CUST_TYPE'
AND a.codice_pre_post_pagato = h.NAME
AND h.lov_name = 'TIPO_CONTRATTO'
AND a.car1 = i.NAME
AND i.lov_name = 'VALORE_CLIENTE'
AND a.car2 = l.NAME
AND l.lov_name = 'VALORE_SPESA'
AND a.sistema_mittente = n.NAME(+)
AND n.lov_name(+) = 'SIST_MITTENTE'
AND a.SISTEMA_MITTENTE = PTP.SISTEMA_MITTENTE(+)
AND a.COD_PROFILO_TARIFFARIO = PTP.COD_PROFILO_TARIFFARIO(+)
AND a.SISTEMA_MITTENTE = PTO.SISTEMA_MITTENTE(+)
AND a.COD_OFFERTA = PTO.COD_OFFERTA(+)
AND a.SISTEMA_MITTENTE = PTA.SISTEMA_MITTENTE(+)
AND a.COD_ACCORDO = PTA.COD_ACCORDO(+)
);
comment on table dbcgo_gestione_ric_rec_v00 is 'Vista con decodifica dei campi id e con numero Ping Pong per la pagina di ricerca';
-------------------------------------------------------------------------
CREATE OR REPLACE VIEW dbcgo_gestione_ric_v00(
ID_RICHIESTA, STATO, TIPO_CLIENTE, DATA_CUT_OVER_CALC, DATA_VALIDAZIONE_MAX, DATARICEZIONERICHIESTA,
DATA_CUT_OVER, CODICERIFIUTOVALIDAZIONE, CODICE_OPERATORE_RECIPIENT, MSISDN, CODICE_FISCALE_PARTITA_IVA,
CODICE_PRE_POST_PAGATO, NOME_CLIENTE, COGNOME_CLIENTE, RAGIONE_SOCIALE, RICHIESTAADHOCAOM, RICHIESTAADHOC,
MARCAGGIO, SOTTOMARCAGGIO, ID_PRIORITA, INSERT_DATE, UPDATE_DATE, CODICE_GRUPPO, ICCD_SERIAL_NUMBER, IMSI,
IPOTESI_RIFIUTO, NUMERO_DOCUMENTO, TIPO_DOCUMENTO, TIMESTAMP, DATA_TRANSIZIONE_STATO, NOME_OT_GEO, NOME_OT_LEG,
ID_PRIORITA_MNP, DATA_TRANSIZIONE_STATO_GRP, CODICE_OPERATORE_DONATING,
descr_stato,
vis_day_num,
id_stato_grp,
priority_type,
priorita,
priorita_mnp,
marcaggio_desc,
sottomarcaggio_desc,
nome_ot_geo_desc,
nome_ot_leg_desc,
nome_ot_leg_order_by,
tipo_cliente_desc,
codice_pre_post_pagato_desc,
pp_num
) AS
(SELECT
a.ID_RICHIESTA, a.STATO, a.TIPO_CLIENTE, a.DATA_CUT_OVER_CALC, a.DATA_VALIDAZIONE_MAX, a.DATARICEZIONERICHIESTA,
a.DATA_CUT_OVER, a.CODICERIFIUTOVALIDAZIONE, a.CODICE_OPERATORE_RECIPIENT, a.MSISDN, a.CODICE_FISCALE_PARTITA_IVA,
a.CODICE_PRE_POST_PAGATO, a.NOME_CLIENTE, a.COGNOME_CLIENTE, a.RAGIONE_SOCIALE, a.RICHIESTAADHOCAOM, a.RICHIESTAADHOC,
a.MARCAGGIO, a.SOTTOMARCAGGIO, a.ID_PRIORITA, a.INSERT_DATE, a.UPDATE_DATE, a.CODICE_GRUPPO, a.ICCD_SERIAL_NUMBER, a.IMSI,
a.IPOTESI_RIFIUTO, a.NUMERO_DOCUMENTO, a.TIPO_DOCUMENTO, a.TIMESTAMP, a.DATA_TRANSIZIONE_STATO, a.NOME_OT_GEO, a.NOME_OT_LEG,
a.ID_PRIORITA_MNP, a.DATA_TRANSIZIONE_STATO_GRP, a.CODICE_OPERATORE_DONATING,
d.descr AS descr_stato,
d.vis_day_num AS vis_day_num,
d.id_stato_grp AS id_stato_grp,
b.priority_type AS priority_type,
c.descr AS priorita,
e.descr AS priorita_mnp,
f.desc_mar AS marcaggio_desc,
g.desc_clu AS sottomarcaggio_desc,
h.descr AS nome_ot_geo_desc,
i.descr AS nome_ot_leg_desc,
i.order_by AS nome_ot_leg_order_by,
j.descr AS tipo_cliente_desc,
k.descr AS codice_pre_post_pagato_desc,
l.pp_num AS pp_num
FROM dbcgo_gestione_richiesta a,
dbcgo_pp_mv00 l,
dbcgo_stato b,
dbcgo_stato_grp d,
dbcgo_priorita c,
dbcgo_priorita e,
dbm_anag_mar f,
dbm_anag_clu g,
dbcgo_lov h,
dbcgo_lov i,
dbcgo_lov j,
dbcgo_lov k
WHERE a.msisdn = l.msisdn(+)
AND a.stato = b.id_stato
AND b.id_stato_grp = d.id_stato
AND a.id_priorita = c.id_priorita
AND a.id_priorita_mnp = e.id_priorita
AND a.marcaggio = f.cod_mar(+)
AND a.sottomarcaggio = g.cod_clu(+)
AND a.nome_ot_geo = h.NAME(+)
AND h.lov_name(+) = 'OT'
AND a.nome_ot_leg = i.NAME(+)
AND i.lov_name(+) = 'OT'
AND a.tipo_cliente = j.NAME
AND j.lov_name = 'CUST_TYPE'
AND a.codice_pre_post_pagato = k.NAME
AND k.lov_name = 'TIPO_CONTRATTO'
);
comment on table dbcgo_gestione_ric_v00 is 'Vista con decodifica dei campi id e con numero Ping Pong per la pagina di ricerca';
------------------------------------------------------------
CREATE OR REPLACE VIEW DBCGO_PROFILO_TARIFFARIO_V AS
SELECT
LOV.NAME AS TIPO_CLIENTE,
PROF_TAR.*
FROM
DBCGO_LOV LOV,
DBCGO_PROFILO_TARIFFARIO PROF_TAR
WHERE
LOV.LOV_ID IN (
SELECT
LOV_ID_REF
FROM
DBCGO_LOV_REF lRef,
DBCGO_LOV l
WHERE
l.LOV_NAME = 'SIST_MITTENTE'
AND PROF_TAR.SISTEMA_MITTENTE = l.NAME
AND lRef.LOV_ID = l.LOV_ID
)
ORDER BY NAME, SISTEMA_MITTENTE;
------------------------------------------------------------
CREATE OR REPLACE VIEW DBCGO_OFFERTA_V AS
SELECT
LOV.NAME AS TIPO_CLIENTE,
offerta.*
FROM
DBCGO_LOV LOV,
DBCGO_OFFERTA offerta
WHERE
LOV.LOV_ID IN (
SELECT
LOV_ID_REF
FROM
DBCGO_LOV_REF lRef,
DBCGO_LOV l
WHERE
l.LOV_NAME = 'SIST_MITTENTE'
AND offerta.SISTEMA_MITTENTE = l.NAME
AND lRef.LOV_ID = l.LOV_ID
)
ORDER BY NAME, SISTEMA_MITTENTE;
----------------------------------------------------------------
CREATE OR REPLACE VIEW DBCGO_ACCORDO_V AS
SELECT
LOV.NAME AS TIPO_CLIENTE,
accordo.*
FROM
DBCGO_LOV LOV,
DBCGO_ACCORDO accordo
WHERE
LOV.LOV_ID IN (
SELECT
LOV_ID_REF
FROM
DBCGO_LOV_REF lRef,
DBCGO_LOV l
WHERE
l.LOV_NAME = 'SIST_MITTENTE'
AND accordo.SISTEMA_MITTENTE = l.NAME
AND lRef.LOV_ID = l.LOV_ID
)
ORDER BY NAME, SISTEMA_MITTENTE;
------------------------------------------------------------
-- INDEX
CREATE INDEX IDX17_DBCGO_GESTIONE_RIC_REC
ON DBCGO_GESTIONE_RICHIESTA_REC (SISTEMA_MITTENTE)
TABLESPACE DBCGO_IDX_BIG;
CREATE INDEX IDX18_DBCGO_GESTIONE_RIC_REC
ON DBCGO_GESTIONE_RICHIESTA_REC (COD_PROFILO_TARIFFARIO)
TABLESPACE DBCGO_IDX_BIG;
CREATE INDEX IDX19_DBCGO_GESTIONE_RIC_REC
ON DBCGO_GESTIONE_RICHIESTA_REC (COD_ACCORDO)
TABLESPACE DBCGO_IDX_BIG;
CREATE INDEX IDX20_DBCGO_GESTIONE_RIC_REC
ON DBCGO_GESTIONE_RICHIESTA_REC (COD_OFFERTA)
TABLESPACE DBCGO_IDX_BIG;
---------------------------------------------------------------------------
ALTER TABLE DBM_LT_INF0 DROP (
COD_MAR_OLD,
DT_LAST_AGG_MAR,
COD_CLU_OLD,
DT_LAST_AGG_CLU,
FAM_LINEA,
FAM_LINEA_OLD,
DT_LAST_AGG_FAM,
COD_FISCALE,
COD_AGENT_TEAM
);
ALTER TABLE DBM_LT_INF1 DROP (
COD_MAR_OLD,
DT_LAST_AGG_MAR,
COD_CLU_OLD,
DT_LAST_AGG_CLU,
FAM_LINEA,
FAM_LINEA_OLD,
DT_LAST_AGG_FAM,
COD_FISCALE,
COD_AGENT_TEAM
);