--da eseguire come utente DBCGO ----------------------------------------------------------- --DB LINK CREATE DATABASE LINK mnp CONNECT TO mnp IDENTIFIED BY "MNP" USING 'MNP'; ----------------------------------------------------------- --DIRECTORY CREATE OR REPLACE DIRECTORY dbcgo_dwht_path AS '/mnpapp/dbcgo/flussi/dwht'; ----------------------------------------------------------- --TABLE ALTER TABLE dbcgo_gestione_richiesta ADD (data_transizione_stato_grp DATE, codice_operatore_donating VARCHAR2(4)); CREATE BITMAP INDEX idx14_dbcgo_gestione_ric ON dbcgo_gestione_richiesta(codice_pre_post_pagato) TABLESPACE dbcgo_idx_big; ----------------------------------------------------------- ALTER TABLE dbcgo_gestione_richiesta_rec ADD (data_transizione_stato_grp DATE, codice_dealer VARCHAR2(10), valore_cliente VARCHAR2(40) DEFAULT 'ND' NOT NULL, valore_spesa VARCHAR2(40) DEFAULT 'ND' NOT NULL, codice_operatore_recipient VARCHAR2(4), codice_gruppo VARCHAR2(12)); CREATE BITMAP INDEX idx12_dbcgo_gestione_ric_rec ON dbcgo_gestione_richiesta_rec(valore_cliente) TABLESPACE dbcgo_idx_big; CREATE BITMAP INDEX idx13_dbcgo_gestione_ric_rec ON dbcgo_gestione_richiesta_rec(valore_spesa) TABLESPACE dbcgo_idx_big; CREATE BITMAP INDEX idx14_dbcgo_gestione_ric_rec ON dbcgo_gestione_richiesta_rec(codice_pre_post_pagato) TABLESPACE dbcgo_idx_big; ----------------------------------------------------------- ALTER TABLE dbcgo_stato ADD (stato_type NUMBER(1,0) DEFAULT 0 NOT NULL); ----------------------------------------------------------- ALTER TABLE dbcgo_stato_rec ADD (stato_type NUMBER(1,0) DEFAULT 0 NOT NULL); ----------------------------------------------------------- CREATE TABLE dbcgo_gestione_richiesta_por ( id_richiesta VARCHAR2(23 BYTE) NOT NULL, stato NUMBER(2) NOT NULL, dataricezionerichiesta DATE NOT NULL, data_cut_over DATE, codice_operatore_donating VARCHAR2(4 BYTE) NOT NULL, codice_operatore_recipient VARCHAR2(4 BYTE) NOT NULL, msisdn VARCHAR2(15 BYTE) NOT NULL, insert_date DATE, update_date DATE, TIMESTAMP TIMESTAMP(6) NOT NULL, data_transizione_stato DATE NOT NULL ) TABLESPACE dbcgo_data_big; CREATE UNIQUE INDEX pk_dbcgo_gest_rich_por ON dbcgo_gestione_richiesta_por (id_richiesta) TABLESPACE dbcgo_idx_big; ALTER TABLE dbcgo_gestione_richiesta_por ADD CONSTRAINT pk_dbcgo_gest_rich_por PRIMARY KEY (id_richiesta) USING INDEX TABLESPACE dbcgo_idx_big; CREATE INDEX idx01_dbcgo_gestione_ric_por ON dbcgo_gestione_richiesta_por (msisdn) TABLESPACE dbcgo_idx_big; ------------------------------------------------------------------------- CREATE TABLE SAP_ANAG_FV ( COD_ID VARCHAR2(10) NOT NULL, COD_ID_PADRE VARCHAR2(10) NOT NULL, MERCATO VARCHAR2(4) NOT NULL, DISLOCAZIONE_TERR VARCHAR2(4), STATO NUMBER(1) NOT NULL, DEALER_TYPE NUMBER(1) DEFAULT 0 NOT NULL ) TABLESPACE DBCGO_DATA_BIG; ALTER TABLE SAP_ANAG_FV ADD CONSTRAINT SAP_ANAG_FV_PK PRIMARY KEY (COD_ID) USING INDEX TABLESPACE DBCGO_IDX_BIG; COMMENT ON COLUMN SAP_ANAG_FV.STATO IS '1 = dealer attivo, 0 = dealer non attivo'; COMMENT ON COLUMN SAP_ANAG_FV.DEALER_TYPE IS '1 = dealer fittizio, 0 = dealer non fittizio'; ------------------------------------------------------------------------- CREATE TABLE DBCGO_LOV_REF ( LOV_ID NUMBER NOT NULL, LOV_ID_REF NUMBER NOT NULL ) TABLESPACE DBCGO_DATA_SMALL; ALTER TABLE DBCGO_LOV_REF ADD CONSTRAINT PK_DBCGO_LOV_REF PRIMARY KEY (LOV_ID,LOV_ID_REF) USING INDEX TABLESPACE DBCGO_IDX_SMALL ENABLE VALIDATE; ALTER TABLE DBCGO_LOV_REF ADD CONSTRAINT FK0_DBCGO_LOV_REF FOREIGN KEY (LOV_ID) REFERENCES DBCGO_LOV (LOV_ID) ENABLE VALIDATE; ALTER TABLE DBCGO_LOV_REF ADD CONSTRAINT FK1_DBCGO_LOV_REF FOREIGN KEY (LOV_ID_REF) REFERENCES DBCGO_LOV (LOV_ID) ENABLE VALIDATE; ------------------------------------------------------------------------- CREATE TABLE DWHT_VOLUMI_AOM0 ( MSISDN VARCHAR(40) NOT NULL, CODICE_OPERATORE VARCHAR(6) NOT NULL, NC NUMBER NOT NULL, DC NUMBER NOT NULL ) TABLESPACE DBCGO_DATA_BIG; ALTER TABLE DWHT_VOLUMI_AOM0 ADD CONSTRAINT DWHT_VOLUMI_AOM0_PK PRIMARY KEY (MSISDN) USING INDEX TABLESPACE DBCGO_IDX_BIG; ------------------------------------------------------------------------- CREATE TABLE DWHT_VOLUMI_AOM1 ( MSISDN VARCHAR(40) NOT NULL, CODICE_OPERATORE VARCHAR(6) NOT NULL, NC NUMBER NOT NULL, DC NUMBER NOT NULL ) TABLESPACE DBCGO_DATA_BIG; ALTER TABLE DWHT_VOLUMI_AOM1 ADD CONSTRAINT DWHT_VOLUMI_AOM1_PK PRIMARY KEY (MSISDN) USING INDEX TABLESPACE DBCGO_IDX_BIG; ------------------------------------------------------------------------- CREATE TABLE EXT_DWHT_VOLUMI_AOM ( MSISDN VARCHAR(40), CODICE_OPERATORE VARCHAR(6), NC NUMBER, DC NUMBER ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY DBCGO_DWHT_PATH ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE BADFILE 'ext_dwht_volumi_aom.bad' LOGFILE 'ext_dwht_volumi_aom.log' FIELDS TERMINATED BY ';' ) LOCATION (DBCGO_DWHT_PATH:'DWHT_VOLUMI_AOM.DAT') ) REJECT LIMIT UNLIMITED NOLOGGING NOCACHE NOPARALLEL; ------------------------------------------------------------------------- CREATE TABLE DBCGO_STATO_POR ( ID_STATO NUMBER(5) NOT NULL, DESCR_STATO VARCHAR2(40 BYTE) NOT NULL, ID_STATO_GRP NUMBER(5), DESCR VARCHAR2(40 BYTE), STATO_TYPE NUMBER(1,0) DEFAULT 0 NOT NULL ) TABLESPACE DBCGO_DATA_SMALL; ------------------------------------------------------------------------- CREATE TABLE dbcgo_pp ( id_richiesta VARCHAR2(23) NOT NULL, data_operazione DATE, codice_operatore_donating VARCHAR2(4) NOT NULL, codice_operatore_recipient VARCHAR2(4) NOT NULL, msisdn VARCHAR2(15) NOT NULL, processo VARCHAR2(1) NOT NULL, terminato NUMBER(1,0) NOT NULL ) TABLESPACE DBCGO_DATA_BIG; ALTER TABLE dbcgo_pp ADD CONSTRAINT pk_dbcgo_ping_pong PRIMARY KEY (id_richiesta,processo) USING INDEX TABLESPACE DBCGO_IDX_BIG; CREATE INDEX idx01_dbcgo_ping_pong ON dbcgo_pp (MSISDN) TABLESPACE DBCGO_IDX_BIG; CREATE INDEX idx02_dbcgo_ping_pong ON dbcgo_pp (id_richiesta) TABLESPACE DBCGO_IDX_BIG; ------------------------------------------------------------------------- --VIEW CREATE OR REPLACE VIEW DBCGO_PP_VIEW ( id_richiesta,msisdn,processo,codice_operatore_donating,codice_operatore_recipient,data_operazione ) AS ( select id_richiesta,msisdn,'D' as processo,codice_operatore_donating,codice_operatore_recipient,data_transizione_stato as data_operazione from DBCGO_GESTIONE_RICHIESTA where stato=16 -- stato finale UNION select id_richiesta,msisdn,'R' as processo,codice_operatore_donating,codice_operatore_recipient,data_transizione_stato as data_operazione from DBCGO_GESTIONE_RICHIESTA_REC where stato=12 -- stato finale UNION select id_richiesta,msisdn,'P' as processo,codice_operatore_donating,codice_operatore_recipient,data_transizione_stato as data_operazione from DBCGO_GESTIONE_RICHIESTA_POR where stato=6 -- stato finale ); ------------------------------------------------------------------------- --SYNONYM CREATE SYNONYM DWHT_VOLUMI_AOM FOR DWHT_VOLUMI_AOM0; -------------------------------------------------------------------------