
-- eseguire come utente MNP 
-------------------------------------------------------------------------

--SEQUENCE
CREATE SEQUENCE seq_gisp_retrieve_out;
CREATE SEQUENCE seq_gisp_retrieve_recupero_out;
CREATE SEQUENCE SEQ_CCRMW_COOP_RECUPERO;
CREATE SEQUENCE SEQ_CCRMW_COOP_NOTIFICA_OUT;
CREATE SEQUENCE SEQ_CCRMW_COOP_SCARTI_DONOR;

-------------------------------------------------------------------------
--TABELLE
---- inizio GISP
ALTER TABLE MNP_GESTIONE_RICHIESTA add(
    OPERATORE_INTERNO VARCHAR2(10) DEFAULT 'TIM' NOT NULL
);

CREATE TABLE MNP_GISP_RETRIEVE_OUT (
	ID_PROG			NUMBER(18,0) NOT NULL,
	UNIQUE_ID		VARCHAR2(50),
	DA_SCODARE		NUMBER(1,0) DEFAULT 0 NOT NULL,
	DATA_INVIO		DATE DEFAULT sysdate,
	ID_RICHIESTA            VARCHAR2(23) NOT NULL,
	MSISDN			VARCHAR2(13) NOT NULL,
	RESP_TIMEOUT		NUMBER(1,0) DEFAULT 0 NOT NULL,
	RESP_CODE		VARCHAR2(2),
	RESP_MSG		VARCHAR2(50),
	RESP_STATO		VARCHAR2(25),
	RESP_CESSAZIONE_MNP	VARCHAR2(1),
	RESP_OPERATORE_INTERNO	VARCHAR2(10)
)
TABLESPACE TAB_HUGE_2;

ALTER TABLE MNP_GISP_RETRIEVE_OUT ADD
CONSTRAINT PK_MNP_GISP_RETRIEVE_OUT
PRIMARY KEY(ID_PROG)
USING INDEX 
TABLESPACE TAB_IDX_HUGE_2_2
ENABLE
VALIDATE;

CREATE UNIQUE INDEX IDX_MNP_GISP_RETRIEVE_OUT_1 ON MNP_GISP_RETRIEVE_OUT
(UNIQUE_ID)
NOLOGGING
TABLESPACE TAB_IDX_HUGE_2_2;

CREATE TABLE MNP_GISP_RETRIEVE_RECUPERO_OUT (
	id_prog                       	NUMBER(18,0) NOT NULL,
	unique_id                      	VARCHAR2(50),
	id_richiesta                  	VARCHAR2(23),
	MSISDN		           	VARCHAR2(13),
	message_id                     	VARCHAR2(50),
	redelivery_count              	NUMBER(3,0) DEFAULT 0,
	stato_messaggio              	NUMBER(2,0) DEFAULT 0,
	data_inserimento             	DATE DEFAULT SYSDATE,
	data_ultimo_aggiornamento    	DATE DEFAULT SYSDATE,
	eccezione_avvenuta          	VARCHAR2(1000)
)
TABLESPACE TAB_SMALL;

ALTER TABLE MNP_GISP_RETRIEVE_RECUPERO_OUT ADD
CONSTRAINT PK_MNP_GISP_RETR_RECUPERO_OUT
PRIMARY KEY(ID_PROG)
USING INDEX 
TABLESPACE TAB_IDX_SMALL
ENABLE
VALIDATE;

---- fine Gisp


----------------------------------------------------------------------
---- MNP_GESTIONE_RICHIESTA_REC
---- questa tabella vinene gestita completamente nel DML
----------------------------------------------------------------------

---- inizio CCRMWEBCOOP
CREATE TABLE MNP_CCRMW_COOP_NOT_OUT (
  ID_PROG                       NUMBER(18)      	NOT NULL,
  ID_RICHIESTA                  VARCHAR2(23 BYTE) NOT NULL,
  CODICE_EVENTO                 VARCHAR2(2 BYTE) 	NOT NULL,
  NUMERO_TELEFONICO_OLO         VARCHAR2(13 BYTE),
  NUMERO_DUALE                  VARCHAR2(13 BYTE),
  OPERATORE                     VARCHAR2(20 BYTE),
  IDENTIFICATIVO_RICHIESTA_AOM  VARCHAR2(64 BYTE) NOT NULL,
  TIPO_RICHIESTA                VARCHAR2(50 BYTE),
  CODICE_FISCALE_PARTITA_IVA    VARCHAR2(16 BYTE),
  TECNOLOGIA                    VARCHAR2(50 BYTE),
  TIPOLOGIA_UTENZA              VARCHAR2(50 BYTE),
  DATA_VALIDAZIONE              DATE,
  ICCD_SERIAL_NUMBER            VARCHAR2(30 BYTE),
  STATO                         VARCHAR2(50 BYTE) NOT NULL,
  CAUSALE                       VARCHAR2(100 BYTE),
  DATA_MODIFICA_STATO           DATE            	NOT NULL,
  NOTE                          VARCHAR2(400 BYTE),
  DATA_INVIO                    DATE            	DEFAULT sysdate,
  TIPO_PROCESSO                 VARCHAR2(2 BYTE),
  DATA_INSERIMENTO              DATE            	DEFAULT SYSDATE      NOT NULL,
  UNIQUE_ID                     VARCHAR2(50 BYTE),
  DA_SCODARE                    NUMBER(1)       	DEFAULT 0            NOT NULL,
  PROGETTOADHOC                 NUMBER(1),
  CODICE_GRUPPO                 VARCHAR2(16 BYTE),
  DATA_CUT_OVER                 DATE,
  CODICE_DEALER                 VARCHAR2(10 BYTE)
)
TABLESPACE TAB_HUGE
PARTITION BY RANGE (DATA_INSERIMENTO) 
(
  PARTITION MNP_CCRMW_COOP_NOT_OUT9 VALUES LESS THAN (TO_DATE('20070401','YYYYMMDD'))
  	NOLOGGING
    TABLESPACE TAB_HUGE_2,
  PARTITION MNP_CCRMW_COOP_NOT_OUT10 VALUES LESS THAN (TO_DATE('20071001','YYYYMMDD'))
  	NOLOGGING
    TABLESPACE TAB_HUGE_2,
  PARTITION MNP_CCRMW_COOP_NOT_OUT11 VALUES LESS THAN (TO_DATE('20080401','YYYYMMDD'))
  	NOLOGGING
    TABLESPACE TAB_HUGE_2,
  PARTITION MNP_CCRMW_COOP_NOT_OUT_MAX VALUES LESS THAN (MAXVALUE)   
  	NOLOGGING
    TABLESPACE TAB_HUGE_2
 );

CREATE INDEX IDX_CCRMW_COOP_NOTIFICA_OUT_3 ON MNP_CCRMW_COOP_NOT_OUT
(ID_RICHIESTA)
NOLOGGING
TABLESPACE TAB_IDX_HUGE_2_2;


CREATE INDEX MNP_CCRMW_COOP_NOTIFICA_OUT_2 ON MNP_CCRMW_COOP_NOT_OUT
(UNIQUE_ID)
NOLOGGING
TABLESPACE TAB_IDX_BIG;


CREATE UNIQUE INDEX PK_CCRMW_COOP_NOTIFICA_OUT ON MNP_CCRMW_COOP_NOT_OUT
(ID_PROG)
NOLOGGING
TABLESPACE TAB_IDX_HUGE_2_2;


ALTER TABLE MNP_CCRMW_COOP_NOT_OUT ADD (
  CONSTRAINT PK_CCRMW_COOP_NOT_OUT
 PRIMARY KEY
 (ID_PROG)
    USING INDEX 
    TABLESPACE TAB_IDX_HUGE_2_2
 );


CREATE TABLE MNP_CCRMW_COOP_RECUPERO_OUT (
  ID_PROG                       NUMBER(18)      NOT NULL,
  MESSAGE_ID                    VARCHAR2(50 BYTE),
  ID_RICHIESTA                  VARCHAR2(23 BYTE),
  CODICE_EVENTO                 VARCHAR2(2 BYTE),
  NUMERO_TELEFONICO_OLO         VARCHAR2(13 BYTE),
  NUMERO_DUALE                  VARCHAR2(13 BYTE),
  OPERATORE                     VARCHAR2(20 BYTE),
  IDENTIFICATIVO_RICHIESTA_AOM  VARCHAR2(64 BYTE),
  TIPO_RICHIESTA                VARCHAR2(50 BYTE),
  CODICE_FISCALE_PARTITA_IVA    VARCHAR2(16 BYTE),
  TECNOLOGIA                    VARCHAR2(50 BYTE),
  TIPOLOGIA_UTENZA              VARCHAR2(50 BYTE),
  DATA_VALIDAZIONE              VARCHAR2(30 BYTE),
  ICCD_SERIAL_NUMBER            VARCHAR2(30 BYTE),
  STATO                         VARCHAR2(50 BYTE),
  CAUSALE                       VARCHAR2(100 BYTE),
  DATA_MODIFICA_STATO           VARCHAR2(30 BYTE),
  NOTE                          VARCHAR2(400 BYTE),
  TIPO_PROCESSO                 VARCHAR2(2 BYTE),
  REDELIVERY_COUNT              NUMBER(3)       DEFAULT 0,
  STATO_MESSAGGIO               NUMBER(2)       DEFAULT 0,
  DATA_INSERIMENTO              DATE            DEFAULT SYSDATE,
  DATA_ULTIMO_AGGIORNAMENTO     DATE            DEFAULT SYSDATE,
  ECCEZIONE_AVVENUTA            VARCHAR2(1000 BYTE),
  UNIQUE_ID                     VARCHAR2(50 BYTE),
  PROGETTOADHOC                 VARCHAR2(1 BYTE),
  CODICE_GRUPPO                 VARCHAR2(16 BYTE),
  DATA_CUT_OVER                 VARCHAR2(30 BYTE),
  CODICE_DEALER                 VARCHAR2(10 BYTE)
)
TABLESPACE TAB_SMALL;



CREATE UNIQUE INDEX PK_MNP_CCRMW_COOP_RECUPERO_OUT ON MNP_CCRMW_COOP_RECUPERO_OUT
(ID_PROG)
NOLOGGING
TABLESPACE TAB_IDX_SMALL;



ALTER TABLE MNP_CCRMW_COOP_RECUPERO_OUT ADD (
  CONSTRAINT PK_MNP_CCRMW_COOP_RECUPERO_OUT
 PRIMARY KEY
 (ID_PROG)
    USING INDEX 
    TABLESPACE TAB_IDX_SMALL
 );

  
CREATE TABLE MNP_CCRMW_COOP_SCARTI_DONOR
(
  ID_PROG            NUMBER(10)                 NOT NULL,
  ID_RICHIESTA       VARCHAR2(64 BYTE),
  NOME_FILE          VARCHAR2(40 BYTE),
  ESITO_VALIDAZIONE  VARCHAR2(30 BYTE),
  CAUSALE_RIFIUTO    VARCHAR2(50 BYTE),
  DATA_VAL_EFF       VARCHAR2(20 BYTE),
  TIPO_UTENZA        VARCHAR2(50 BYTE),
  CAUSALE_SCARTO     VARCHAR2(200 BYTE),
  RECORD_SCARTATO    VARCHAR2(500 BYTE),
  DATA_INSERIMENTO   DATE                       DEFAULT SYSDATE               NOT NULL
)
TABLESPACE TAB_SMALL;



CREATE UNIQUE INDEX PK_CCRMW_COOP_SCARTI_DONOR ON MNP_CCRMW_COOP_SCARTI_DONOR
(ID_PROG)
NOLOGGING
TABLESPACE TAB_IDX_SMALL;


ALTER TABLE MNP_CCRMW_COOP_SCARTI_DONOR ADD (
  CONSTRAINT PK_CCRMW_COOP_SCARTI_DONOR
 PRIMARY KEY
 (ID_PROG)
    USING INDEX 
    TABLESPACE TAB_IDX_SMALL
    );


---- fine CCRMWEBCOOP


---- inizio MSP

CREATE SEQUENCE SEQ_MSPCOOP_IN_REC;
CREATE SEQUENCE SEQ_MSPCOOP_OUT_REC;
CREATE SEQUENCE SEQ_MSPCOOP_SCARTI_IN_REC;
CREATE SEQUENCE SEQ_MSPCOOP_REC_RECUPERO_OUT;


CREATE TABLE MNP_MSPCOOP_IN_REC
(
  ID_PROG                    NUMBER(18)         NOT NULL,
  ID_RICHIESTA               VARCHAR2(23 BYTE),
  CODICE_OPERATORE_DONATING  VARCHAR2(4 BYTE)   NOT NULL,
  PREFISSO_TIM               VARCHAR2(3 BYTE),
  NUM_TEL_TIM                VARCHAR2(10 BYTE),
  PREFISSO_AOM               VARCHAR2(3 BYTE)   NOT NULL,
  NUM_TEL_AOM                VARCHAR2(10 BYTE)  NOT NULL,
  ICCID_AOM                  VARCHAR2(27 BYTE),
  CODICE_FISCALE             VARCHAR2(16 BYTE),
  PARTITA_IVA                VARCHAR2(11 BYTE),
  CODICE_PRE_POST_PAGATO     VARCHAR2(3 BYTE)   NOT NULL,
  DATA_CUT_OVER              DATE,
  COGNOME_CLIENTE            VARCHAR2(50 BYTE),
  NOME_CLIENTE               VARCHAR2(20 BYTE),
  RAGIONE_SOCIALE            VARCHAR2(70 BYTE),
  TIPO_DOCUMENTO             VARCHAR2(3 BYTE)   NOT NULL,
  NUMERO_DOCUMENTO           VARCHAR2(10 BYTE)  NOT NULL,
  DATA_RICHIESTA             DATE,
  TIPO_OPERAZIONE            VARCHAR2(3 BYTE)   NOT NULL,
  TECNOLOGIA                 VARCHAR2(1 BYTE)   NOT NULL,
  IMSI                       VARCHAR2(16 BYTE)  NOT NULL,
  IDREQ_INFOBUS              VARCHAR2(24 BYTE)  NOT NULL,
  TIPO_SERVIZIO_SISTEMA_MITT VARCHAR2(10 BYTE)  NOT NULL,
  DATA_RICEZIONE             DATE               DEFAULT SYSDATE               NOT NULL,
  UNIQUE_ID                  VARCHAR2(50 BYTE),
  DA_SCODARE                 NUMBER(1)          DEFAULT 0                     NOT NULL,
  CODICE_DEALER              VARCHAR2(10 BYTE),
  COD_PROFILO_TARIFFARIO     VARCHAR2(10 BYTE),
  DESC_PROFILO_TARIFFARIO    VARCHAR2(50 BYTE)
)
TABLESPACE TAB_BIG
NOLOGGING;

ALTER TABLE MNP_MSPCOOP_IN_REC ADD (
  CONSTRAINT PK_MSPCOOP_IN_REC
 PRIMARY KEY
 (ID_PROG)
    USING INDEX 
    TABLESPACE TAB_IDX_MEDIUM);
    
CREATE INDEX IDX_MNP_MSPCOOP_IN_REC_1 ON MNP_MSPCOOP_IN_REC
(UNIQUE_ID)
NOLOGGING
TABLESPACE TAB_IDX_MEDIUM;

CREATE TABLE MNP_MSPCOOP_OUT_REC
(
  ID_PROG                         NUMBER(18)    NOT NULL,
  ID_RICHIESTA                    VARCHAR2(18 BYTE) NOT NULL,
  ESITO_VALIDAZIONE               VARCHAR2(30 BYTE) NOT NULL,
  CAUSALE_RIFIUTO                 VARCHAR2(50 BYTE),
  DATA_ORA_EFFETTIVA_VALIDAZIONE  DATE          NOT NULL,
  PREFISSO_TIM                    VARCHAR2(3 BYTE),
  NUMERO_TIM                      VARCHAR2(10 BYTE),
  PREFISSO_OLO                    VARCHAR2(3 BYTE),
  NUMERO_OLO                      VARCHAR2(10 BYTE),
  IDREQ_INFOBUS                   VARCHAR2(24 BYTE) NOT NULL,
  TIPO_SERVIZIO_SISTEMA_MITT      VARCHAR2(10 BYTE) NOT NULL,
  DATA_INVIO                      DATE,
  UNIQUE_ID                       VARCHAR2(50 BYTE),
  DA_SCODARE                      NUMBER(1)     DEFAULT 0                     NOT NULL
)
TABLESPACE TAB_BIG
NOLOGGING;

ALTER TABLE MNP_MSPCOOP_OUT_REC ADD (
  CONSTRAINT PK_MNP_MSPCOOP_OUT_REC
 PRIMARY KEY
 (ID_PROG)
    USING INDEX 
    TABLESPACE TAB_IDX_MEDIUM);

CREATE INDEX IDX_MNP_MSPCOOP_OUT_REC_1 ON MNP_MSPCOOP_OUT_REC
(UNIQUE_ID)
NOLOGGING
TABLESPACE TAB_IDX_MEDIUM;

CREATE TABLE MNP_MSPCOOP_SCARTI_IN
(
  ID_PROG                    NUMBER(18)         NOT NULL,
  CODICE_OPERATORE_DONATING  VARCHAR2(200 BYTE),
  PREFISSO_TIM               VARCHAR2(200 BYTE),
  NUM_TEL_TIM                VARCHAR2(200 BYTE),
  PREFISSO_AOM               VARCHAR2(200 BYTE),
  NUM_TEL_AOM                VARCHAR2(200 BYTE),
  ICCID_AOM                  VARCHAR2(200 BYTE),
  CODICE_FISCALE             VARCHAR2(200 BYTE),
  PARTITA_IVA                VARCHAR2(200 BYTE),
  CODICE_PRE_POST_PAGATO     VARCHAR2(200 BYTE),
  DATA_CUT_OVER              VARCHAR2(200 BYTE),
  COGNOME_CLIENTE            VARCHAR2(200 BYTE),
  NOME_CLIENTE               VARCHAR2(200 BYTE),
  RAGIONE_SOCIALE            VARCHAR2(200 BYTE),
  TIPO_DOCUMENTO             VARCHAR2(200 BYTE),
  NUMERO_DOCUMENTO           VARCHAR2(200 BYTE),
  DATA_RICHIESTA             VARCHAR2(200 BYTE),
  TIPO_OPERAZIONE            VARCHAR2(200 BYTE),
  TECNOLOGIA                 VARCHAR2(200 BYTE),
  IMSI                       VARCHAR2(200 BYTE),
  ESITO                      VARCHAR2(2 BYTE)   NOT NULL,
  FILLER                     VARCHAR2(200 BYTE),
  IDREQ_INFOBUS              VARCHAR2(200 BYTE),
  TIPO_SERVIZIO_SISTEMA_MITT VARCHAR2(200 BYTE),
  RECORD_SCARTATO            VARCHAR2(500 BYTE),
  DATA_INSERIMENTO           DATE               DEFAULT SYSDATE               NOT NULL,
  CODICE_DEALER              VARCHAR2(10 BYTE),
  COD_PROFILO_TARIFFARIO     VARCHAR2(10 BYTE),
  DESC_PROFILO_TARIFFARIO    VARCHAR2(50 BYTE)
)
TABLESPACE TAB_SMALL
NOLOGGING ;

ALTER TABLE MNP_MSPCOOP_SCARTI_IN ADD (
  CONSTRAINT PK_MSPCOOP_SCARTI_IN
 PRIMARY KEY
 (ID_PROG)
    USING INDEX 
    TABLESPACE TAB_IDX_SMALL);


CREATE TABLE MNP_MSPCOOP_REC_RECUPERO_OUT
(
  ID_PROG                         NUMBER(18)    NOT NULL,
  MESSAGE_ID                      VARCHAR2(50 BYTE),
  ID_RICHIESTA                    VARCHAR2(18 BYTE),
  ESITO_VALIDAZIONE               VARCHAR2(30 BYTE),
  CAUSALE_RIFIUTO                 VARCHAR2(50 BYTE),
  DATA_ORA_EFFETTIVA_VALIDAZIONE  VARCHAR2(30 BYTE),
  PREFISSO_TIM                    VARCHAR2(3 BYTE),
  NUMERO_TIM                      VARCHAR2(10 BYTE),
  PREFISSO_OLO                    VARCHAR2(3 BYTE),
  NUMERO_OLO                      VARCHAR2(10 BYTE),
  IDREQ_INFOBUS                   VARCHAR2(24 BYTE),
  TIPO_SERVIZIO_SISTEMA_MITT      VARCHAR2(10 BYTE),
  REDELIVERY_COUNT                NUMBER(3)     DEFAULT 0,
  STATO_MESSAGGIO                 NUMBER(2)     DEFAULT 0,
  DATA_INSERIMENTO                DATE          DEFAULT SYSDATE,
  DATA_ULTIMO_AGGIORNAMENTO       DATE          DEFAULT SYSDATE,
  ECCEZIONE_AVVENUTA              VARCHAR2(1000 BYTE),
  UNIQUE_ID                       VARCHAR2(50 BYTE)
)
TABLESPACE TAB_SMALL
NOLOGGING ;

ALTER TABLE MNP_MSPCOOP_REC_RECUPERO_OUT ADD (
  CONSTRAINT PK_MSPCOOP_REC_RECUPERO_OUT
 PRIMARY KEY
 (ID_PROG)
    USING INDEX 
    TABLESPACE TAB_IDX_SMALL);

ALTER TABLE MNP_MSC_IN_REC                 RENAME COLUMN TIPO_SERVIZIO_MSC          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_MSC_OUT_REC                RENAME COLUMN TIPO_SERVIZIO_MSC          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_MSC_RECIPIENT_RECUPERO_OUT RENAME COLUMN TIPO_SERVIZIO_MSC          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_MSC_SCARTI_IN              RENAME COLUMN TIPO_SERVIZIO_MSC          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_MSP_IN_REC                 RENAME COLUMN TIPO_SERVIZIO_MSP          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_MSP_OUT_REC                RENAME COLUMN TIPO_SERVIZIO_MSP          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_MSP_RECIPIENT_RECUPERO_OUT RENAME COLUMN TIPO_SERVIZIO_MSP          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_MSP_SCARTI_IN              RENAME COLUMN TIPO_SERVIZIO_MSP          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_SID_IN                     RENAME COLUMN TIPO_SERVIZIO_SID          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_SID_OUT_REC                RENAME COLUMN TIPO_SERVIZIO_SID          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_SID_RECIPIENT_RECUPERO_OUT RENAME COLUMN TIPO_SERVIZIO_SID          TO TIPO_SERVIZIO_SISTEMA_MITT;     
ALTER TABLE MNP_SID_SCARTI_IN              RENAME COLUMN TIPO_SERVIZIO_SID          TO TIPO_SERVIZIO_SISTEMA_MITT;     

ALTER TABLE MNP_DBCGO_NOTIFICA_REC_OUT modify(SISTEMA_MITTENTE VARCHAR2(10));
ALTER TABLE MNP_ASP_CRM_CESSAZIONE_OUT modify(SIST_COMP VARCHAR2(10));
ALTER TABLE MNP_GESTIONE_RICHIESTA modify(SIST_COMP VARCHAR2(10));

---- fine MSP