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

481 lines
14 KiB
SQL

-- GENERA TABELLE PER GESTIONE RECIPIENT VIRTUALE--
CREATE TABLE MNP_GEST_RICH_REC_VIRT
(
id_richiesta VARCHAR2(23) NOT NULL,
stato NUMBER(2,0) NOT NULL,
tipo_cliente VARCHAR2(2),
data_cut_over_calc DATE NOT NULL,
data_validazione_max DATE NOT NULL,
dataricezionerichiesta DATE NOT NULL,
codicerifiutovalidazione NUMBER(2,0),
data_cut_over DATE,
ora_cut_over VARCHAR2(8) DEFAULT '14:00:00' NOT NULL,
codice_operatore_recipient VARCHAR2(4) NOT NULL,
codice_operatore_donating VARCHAR2(4) NOT NULL,
msisdn VARCHAR2(15) NOT NULL,
codice_fiscale_partita_iva VARCHAR2(16),
codice_pre_post_pagato VARCHAR2(3) NOT NULL,
nome_cliente VARCHAR2(30),
cognome_cliente VARCHAR2(50),
ragione_sociale VARCHAR2(80),
tipo_documento VARCHAR2(3) NOT NULL,
numero_documento VARCHAR2(30) NOT NULL,
imsi VARCHAR2(15),
iccid_serial_number VARCHAR2(30),
nome_ot VARCHAR2(5) DEFAULT NULL,
data_validazione_eff DATE,
abbonato_prepagato VARCHAR2(50),
sist_comp VARCHAR2(5),
iccid_serial_number_ccrm VARCHAR2(30),
tipo_porting_out NUMBER(1,0),
utenza_dual VARCHAR2(15),
business_consumer NUMBER(1,0) DEFAULT 0,
marcaggio VARCHAR2(2),
ipotesi_rifiuto NUMBER(2,0) DEFAULT 0,
sottomarcaggio VARCHAR2(1),
operatore_interno_donating VARCHAR2(10) DEFAULT 'TIM' NOT NULL,
business_id VARCHAR2(36),
profilo_rete VARCHAR2(4) NOT NULL,
codice_analogico_digitale VARCHAR2(1) NOT NULL,
version NUMBER
)
PARTITION BY RANGE (DATARICEZIONERICHIESTA)
(
PARTITION MNP_GEST_RICH_REC_VIRT1 VALUES LESS THAN (TO_DATE('20080401','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE,
PARTITION MNP_GEST_RICH_REC_VIRT2 VALUES LESS THAN (TO_DATE('20081001','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE,
PARTITION MNP_GEST_RICH_REC_VIRT3 VALUES LESS THAN (TO_DATE('20090401','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE,
PARTITION MNP_GEST_RICH_REC_VIRT4 VALUES LESS THAN (TO_DATE('20091001','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE,
PARTITION MNP_GEST_RICH_REC_VIRT5_MAX VALUES LESS THAN (MAXVALUE)
NOLOGGING
TABLESPACE TAB_HUGE
)
/
CREATE UNIQUE INDEX PK_MNP_GEST_RICH_REC_VIRT ON MNP_GEST_RICH_REC_VIRT
(id_richiesta)
TABLESPACE TAB_IDX_BIG
/
ALTER TABLE MNP_GEST_RICH_REC_VIRT ADD
CONSTRAINT PK_MNP_GEST_RICH_REC_VIRT
PRIMARY KEY
(id_richiesta)
USING INDEX
TABLESPACE TAB_IDX_BIG
/
CREATE INDEX IDX_MNP_GEST_RICH_REC_VIRT1 ON MNP_GEST_RICH_REC_VIRT
(STATO ASC)
LOGGING
TABLESPACE TAB_IDX_BIG
/
CREATE SEQUENCE SEQ_RICH_REC_VIRT
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 99999999999
NOCYCLE
NOORDER
CACHE 20
/
CREATE TABLE MNP_STATO_REC_VIRT
(
ID_STATO NUMBER(5) NOT NULL ,
DESCR_STATO VARCHAR2(20) NOT NULL ,
FINALE NUMBER(1) NOT NULL
)TABLESPACE TAB_DESC;
CREATE UNIQUE INDEX PKMNP_STATO_REC_VIRT ON MNP_STATO_REC_VIRT
(ID_STATO ASC)
TABLESPACE TAB_DESC;
ALTER TABLE MNP_STATO_REC_VIRT
ADD CONSTRAINT PKMNP_STATO_REC_VIRT PRIMARY KEY (ID_STATO)
/
-- FINE TABELLE PER GESTIONE RECIPIENT VIRTUALE--
-- GENERA TABELLE PER RECIPIENT DONOR VIRTUALE--
CREATE TABLE MNP_STORICO_RICH_REC_VIRT
(
id_prog NUMBER(18,0) NOT NULL,
id_richiesta VARCHAR2(23) NOT NULL,
NOTE VARCHAR2(100),
stato_da NUMBER(2,0) DEFAULT -1,
stato_a NUMBER(2,0) NOT NULL,
data_i_o DATE DEFAULT SYSDATE NOT NULL,
data_lavorazione DATE DEFAULT TRUNC(SYSDATE),
dataricezionerichiesta DATE NOT NULL
)
PARTITION BY RANGE (DATARICEZIONERICHIESTA)
(
PARTITION MNP_STORICO_RICH_REC_VIRT1 VALUES LESS THAN (TO_DATE('20080401','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE_2,
PARTITION MNP_STORICO_RICH_REC_VIRT2 VALUES LESS THAN (TO_DATE('20081001','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE_2,
PARTITION MNP_STORICO_RICH_REC_VIRT3 VALUES LESS THAN (TO_DATE('20090401','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE_2,
PARTITION MNP_STORICO_RICH_REC_VIRT4 VALUES LESS THAN (TO_DATE('20091001','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE_2,
PARTITION MNP_STORICO_RICH_REC_VIRT5_MAX VALUES LESS THAN (MAXVALUE)
NOLOGGING
TABLESPACE TAB_HUGE_2
)
/
CREATE UNIQUE INDEX PK_MNP_STORICO_RICH_REC_VIRT ON MNP_STORICO_RICH_REC_VIRT
(id_prog)
TABLESPACE TAB_IDX_HUGE_2_1
/
ALTER TABLE MNP_STORICO_RICH_REC_VIRT ADD
CONSTRAINT PK_MNP_STORICO_RICH_REC_VIRT
PRIMARY KEY
(id_prog)
USING INDEX
TABLESPACE TAB_IDX_HUGE_2_1
/
CREATE INDEX IDX_MNP_STORICO_RICH_REC_VIRT1 ON MNP_STORICO_RICH_REC_VIRT
(id_richiesta ASC)
LOGGING
TABLESPACE TAB_IDX_HUGE_2_1
/
CREATE INDEX IDX_MNP_STORICO_RICH_REC_VIRT2 ON MNP_STORICO_RICH_REC_VIRT
(data_lavorazione ASC)
LOGGING
TABLESPACE TAB_IDX_HUGE_2_1
/
CREATE OR REPLACE TRIGGER PRE_INS_STORICO_RICH_REC_VIRT
before insert on MNP_STORICO_RICH_REC_VIRT
for each row
begin
select dataricezionerichiesta
into :new.dataricezionerichiesta
from MNP_GEST_RICH_REC_VIRT
where id_richiesta=:new.id_richiesta;
exception when no_data_found
then :new.dataricezionerichiesta:= sysdate;
end;
/
ALTER TABLE MNP_STORICO_RICH_REC_VIRT
ADD CONSTRAINT FK_MNP_STORICO_RICH_REC_VIRT_1 FOREIGN KEY (id_richiesta)
REFERENCES MNP_GEST_RICH_REC_VIRT (id_richiesta)
/
CREATE SEQUENCE SEQ_RICH_REC_VIRT_STORICO
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 1000000000000000000000000000
NOCYCLE
NOORDER
CACHE 200
/
-- FINE TABELLE PER STORICO RECIPIENT VIRTUALE--
-- GENERA TABELLE PER GESTIONE DONOR VIRTUALE--
CREATE TABLE MNP_GEST_RICH_DONOR_VIRT
(
id_richiesta VARCHAR2(18) NOT NULL,
stato NUMBER(2,0) NOT NULL,
tipo_cliente VARCHAR2(2) NOT NULL,
data_cut_over_calc DATE NOT NULL,
data_validazione_max DATE,
dataricezionerichiesta DATE NOT NULL,
codice_operatore_recipient VARCHAR2(4) NOT NULL,
codice_operatore_donating VARCHAR2(4) NOT NULL,
codice_gruppo VARCHAR2(12),
msisdn VARCHAR2(15) NOT NULL,
codice_fiscale_partita_iva VARCHAR2(16),
codice_pre_post_pagato VARCHAR2(3) NOT NULL,
codice_analogico_digitale VARCHAR2(1) NOT NULL,
data_cut_over DATE,
ora_cut_over VARCHAR2(8) DEFAULT '14:00:00' NOT NULL,
nome_cliente VARCHAR2(30),
cognome_cliente VARCHAR2(50),
ragione_sociale VARCHAR2(80),
tipo_documento VARCHAR2(3) NOT NULL,
numero_documento VARCHAR2(30) NOT NULL,
imsi VARCHAR2(15) NOT NULL,
iccid_serial_number VARCHAR2(30),
nome_ot VARCHAR2(2),
codice_richiesta_bit VARCHAR2(18),
codicerifiutovalidazione NUMBER(2,0),
data_validazione_eff DATE,
msisdn_tim VARCHAR2(16),
causale_accodamento VARCHAR2(100),
operatore_interno_recipient VARCHAR2(10) NOT NULL,
sistema_mittente VARCHAR2(10),
tipo_servizio_sistema_mitt VARCHAR2(10),
business_id VARCHAR2(36),
ipotesi_rifiuto NUMBER(2,0) DEFAULT 0,
codice_dealer VARCHAR2(10),
cod_profilo_tariffario VARCHAR2(10),
desc_profilo_tariffario VARCHAR2(50),
cod_offerta VARCHAR2(5),
desc_offerta VARCHAR2(50),
cod_accordo VARCHAR2(10),
desc_accordo VARCHAR2(150),
descanale_vendita VARCHAR2(50),
codice_ordine VARCHAR2(15),
tipo_operazione VARCHAR2(3),
idreq_infobus VARCHAR2(24),
version NUMBER
)
PARTITION BY RANGE (DATARICEZIONERICHIESTA)
(
PARTITION MNP_GEST_RICH_DONOR_VIRT1 VALUES LESS THAN (TO_DATE('20080401','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE,
PARTITION MNP_GEST_RICH_DONOR_VIRT2 VALUES LESS THAN (TO_DATE('20081001','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE,
PARTITION MNP_GEST_RICH_DONOR_VIRT3 VALUES LESS THAN (TO_DATE('20090401','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE,
PARTITION MNP_GEST_RICH_DONOR_VIRT4 VALUES LESS THAN (TO_DATE('20091001','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE,
PARTITION MNP_GEST_RICH_DONOR_VIRT5_MAX VALUES LESS THAN (MAXVALUE)
NOLOGGING
TABLESPACE TAB_HUGE
)
/
CREATE UNIQUE INDEX PK_MNP_GEST_RICH_DONOR_VIRT ON MNP_GEST_RICH_DONOR_VIRT
(id_richiesta)
TABLESPACE TAB_IDX_BIG
/
ALTER TABLE MNP_GEST_RICH_DONOR_VIRT ADD
CONSTRAINT PK_MNP_GEST_RICH_DONOR_VIRT
PRIMARY KEY
(id_richiesta)
USING INDEX
TABLESPACE TAB_IDX_BIG
/
CREATE INDEX IDX_MNP_GEST_RICH_DONOR_VIRT1 ON MNP_GEST_RICH_DONOR_VIRT
(STATO ASC)
LOGGING
TABLESPACE TAB_IDX_BIG
/
CREATE SEQUENCE SEQ_RICH_DONOR_VIRT
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 99999999999
NOCYCLE
NOORDER
CACHE 20
/
CREATE TABLE MNP_STATO_DON_VIRT
(
ID_STATO NUMBER(5) NOT NULL ,
DESCR_STATO VARCHAR2(20) NOT NULL ,
FINALE NUMBER(1) NOT NULL
)TABLESPACE TAB_DESC;
CREATE UNIQUE INDEX PKMNP_STATO_DON_VIRT ON MNP_STATO_DON_VIRT
(ID_STATO ASC)
TABLESPACE TAB_DESC;
ALTER TABLE MNP_STATO_DON_VIRT
ADD CONSTRAINT PKMNP_STATO_DON_VIRT PRIMARY KEY (ID_STATO)
/
-- FINE TABELLE PER GESTIONE DONOR VIRTUALE--
-- GENERA TABELLE PER STORICO DONOR VIRTUALE--
CREATE TABLE MNP_STORICO_RICH_DON_VIRT
(
id_prog NUMBER(18,0) NOT NULL,
id_richiesta VARCHAR2(18) NOT NULL,
NOTE VARCHAR2(100),
stato_da NUMBER(2,0) DEFAULT -1,
stato_a NUMBER(2,0) NOT NULL,
data_i_o DATE DEFAULT SYSDATE NOT NULL,
data_lavorazione DATE DEFAULT TRUNC(SYSDATE),
dataricezionerichiesta DATE NOT NULL)
PARTITION BY RANGE (DATARICEZIONERICHIESTA)
(
PARTITION MNP_STORICO_RICH_DON_VIRT1 VALUES LESS THAN (TO_DATE('20080401','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE_2,
PARTITION MNP_STORICO_RICH_DON_VIRT2 VALUES LESS THAN (TO_DATE('20081001','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE_2,
PARTITION MNP_STORICO_RICH_DON_VIRT3 VALUES LESS THAN (TO_DATE('20090401','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE_2,
PARTITION MNP_STORICO_RICH_DON_VIRT4 VALUES LESS THAN (TO_DATE('20091001','YYYYMMDD'))
NOLOGGING
TABLESPACE TAB_HUGE_2,
PARTITION MNP_STORICO_RICH_DON_VIRT5_MAX VALUES LESS THAN (MAXVALUE)
NOLOGGING
TABLESPACE TAB_HUGE_2
)
/
CREATE UNIQUE INDEX PK_MNP_STORICO_RICH_DON_VIRT ON MNP_STORICO_RICH_DON_VIRT
(id_prog)
TABLESPACE TAB_IDX_HUGE_2_1
/
ALTER TABLE MNP_STORICO_RICH_DON_VIRT ADD
CONSTRAINT PK_MNP_STORICO_RICH_DON_VIRT
PRIMARY KEY
(id_prog)
USING INDEX
TABLESPACE TAB_IDX_HUGE_2_1
/
CREATE INDEX IDX_MNP_STORICO_RICH_DON_VIRT1 ON MNP_STORICO_RICH_DON_VIRT
(id_richiesta ASC)
LOGGING
TABLESPACE TAB_IDX_HUGE_2_1
/
CREATE INDEX IDX_MNP_STORICO_RICH_DON_VIRT2 ON MNP_STORICO_RICH_DON_VIRT
(data_lavorazione ASC)
LOGGING
TABLESPACE TAB_IDX_HUGE_2_1
/
CREATE OR REPLACE TRIGGER PRE_INS_STORICO_RICH_DON_VIRT
before insert on MNP_STORICO_RICH_DON_VIRT
for each row
begin
select dataricezionerichiesta
into :new.dataricezionerichiesta
from MNP_GEST_RICH_DONOR_VIRT
where id_richiesta=:new.id_richiesta;
exception when no_data_found
then :new.dataricezionerichiesta:= sysdate;
end;
/
ALTER TABLE MNP_STORICO_RICH_DON_VIRT
ADD CONSTRAINT FK_MNP_STORICO_RICH_DON_VIRT_1 FOREIGN KEY (id_richiesta)
REFERENCES MNP_GEST_RICH_DONOR_VIRT (id_richiesta)
/
CREATE SEQUENCE SEQ_RICH_DON_VIRT_STORICO
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 1000000000000000000000000000
NOCYCLE
NOORDER
CACHE 200
/
-- FINE TABELLE PER STORICO DONOR VIRTUALE--
-- INIZIO TABELLE PER NOTIFICHE DA GISP
CREATE TABLE MNP_GISP_NOTIFICA_IN
(
UNIQUE_ID NUMBER NOT NULL,
ID_RICHIESTA VARCHAR2(23) NOT NULL,
DATA_RICEZIONE DATE DEFAULT SYSDATE NOT NULL,
DA_SCODARE NUMBER(1) NOT NULL,
DATA_INVIO_NOTIFICA DATE NOT NULL,
MSISDN VARCHAR2(13) NOT NULL,
TIPO_EVENTO VARCHAR2(3) NOT NULL
)
TABLESPACE TAB_HUGE_2
/
CREATE UNIQUE INDEX PK_MNP_GISP_NOTIFICA_IN ON MNP_GISP_NOTIFICA_IN
(UNIQUE_ID)
TABLESPACE TAB_IDX_HUGE_2_2
/
ALTER TABLE MNP_GISP_NOTIFICA_IN ADD
CONSTRAINT PK_MNP_GISP_NOTIFICA_IN
PRIMARY KEY
(UNIQUE_ID)
USING INDEX
TABLESPACE TAB_IDX_HUGE_2_2
/
CREATE TABLE MNP_GISP_SCARTO_NOTIFICA_IN
(
UNIQUE_ID NUMBER NOT NULL,
TRACCIATO VARCHAR2(4000) NULL,
DATA_RICEZIONE DATE DEFAULT SYSDATE,
CAUSALE_SCARTO VARCHAR2(255) NULL
)
TABLESPACE TAB_HUGE_2
/
CREATE UNIQUE INDEX PK_MNP_GISP_SCARTO_NOTIFICA_IN ON MNP_GISP_SCARTO_NOTIFICA_IN
(UNIQUE_ID)
TABLESPACE TAB_IDX_HUGE_2_2
/
ALTER TABLE MNP_GISP_SCARTO_NOTIFICA_IN ADD
CONSTRAINT PK_MNP_GISP_SCARTO_NOTIFICA_IN
PRIMARY KEY
(UNIQUE_ID)
USING INDEX
TABLESPACE TAB_IDX_HUGE_2_2
/
-- FINE TABELLE PER NOTIFICHE DA GISP
-- GENERA TABELLA OPERATORE GISP --
CREATE TABLE MNP_OPERATORE_GISP
(
ID_OPERATORE_GISP NUMBER NOT NULL ,
ID_OPERATORE_INTERNO NUMBER NOT NULL ,
NOME_OPERATORE VARCHAR2(20) NOT NULL
)
TABLESPACE TAB_DESC
/
CREATE UNIQUE INDEX IDX_MNP_OPERATORE_GISP_1 ON MNP_OPERATORE_GISP
(ID_OPERATORE_INTERNO ASC)
TABLESPACE TAB_IDX_HUGE_2_2
/
CREATE UNIQUE INDEX PK_MNP_OPERATORE_GISP ON MNP_OPERATORE_GISP
(ID_OPERATORE_GISP ASC)
TABLESPACE TAB_IDX_HUGE_2_2
/
ALTER TABLE MNP_OPERATORE_GISP
ADD CONSTRAINT PK_MNP_OPERATORE_GISP PRIMARY KEY (ID_OPERATORE_GISP)
/
ALTER TABLE MNP_OPERATORE_GISP ADD CONSTRAINT FK_MNP_OPERATORE_GISP FOREIGN KEY (ID_OPERATORE_INTERNO)
REFERENCES MNP_OPERATORE_INTERNO (ID_OPERATORE_INTERNO)
/
-- FINE GENERAZIONE TABELLA OPERATORE GISP --