First Commit - Source Code from Reply
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
CREATE TABLE MNP_APPO_TIPO_CLIENTI_DBSS
|
||||
(msisdn VARCHAR2(15) NOT NULL,
|
||||
sottomarcaggio VARCHAR2(1),
|
||||
marcaggio VARCHAR2(2) NOT NULL,
|
||||
tipo_utenza VARCHAR2(1) NOT NULL,
|
||||
nome_ot VARCHAR2(5) NOT NULL,
|
||||
sistema_competenza VARCHAR2(5),
|
||||
utenza_dual VARCHAR2(15),
|
||||
cf VARCHAR2(16),
|
||||
iccid VARCHAR2(20),
|
||||
stato VARCHAR2(7))
|
||||
TABLESPACE TAB_BIG
|
||||
/
|
||||
|
||||
ALTER TABLE MNP_APPO_TIPO_CLIENTI_DBSS
|
||||
ADD CONSTRAINT pk_appo_tipo_clienti_dbss PRIMARY KEY (msisdn)
|
||||
USING INDEX
|
||||
TABLESPACE TAB_IDX_MEDIUM
|
||||
/
|
||||
@@ -0,0 +1 @@
|
||||
DROP TABLE MNP_APPO_TIPO_CLIENTI_DBSS CASCADE CONSTRAINTS;
|
||||
@@ -0,0 +1,2 @@
|
||||
update MNP_APPO_TIPO_CLIENTI_DBSS set utenza_dual='39'||utenza_dual where utenza_dual is not null
|
||||
/
|
||||
@@ -0,0 +1,15 @@
|
||||
DROP table MNP_TIPO_CLIENTI_DBSS CASCADE CONSTRAINTS;
|
||||
|
||||
ALTER TABLE mnp_appo_tipo_clienti_dbss DROP PRIMARY KEY;
|
||||
ALTER table mnp_appo_tipo_clienti_dbss rename to MNP_TIPO_CLIENTI_DBSS;
|
||||
|
||||
ALTER TABLE MNP_TIPO_CLIENTI_DBSS
|
||||
ADD CONSTRAINT pk_tipo_clienti_dbss PRIMARY KEY (msisdn)
|
||||
USING INDEX
|
||||
TABLESPACE TAB_IDX_MEDIUM
|
||||
/
|
||||
|
||||
CREATE INDEX IDX_TIPO_CLIENTI_DBSS_01 ON MNP_TIPO_CLIENTI_DBSS(UTENZA_DUAL) TABLESPACE TAB_IDX_MEDIUM
|
||||
/
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
update mnp.mnp_gisp_notifica_in set da_scodare=1 where da_scodare=4 and tipo_evento='082';
|
||||
commit;
|
||||
@@ -0,0 +1,2 @@
|
||||
update mnp.mnp_gisp_notifica_in set da_scodare=1 where da_scodare=4 and tipo_evento='083';
|
||||
commit;
|
||||
@@ -0,0 +1,49 @@
|
||||
--Script per la creazione dei file
|
||||
--contenenti le notifiche di espletamento SCIVOLO per
|
||||
--l'Infasamento di CIRCE
|
||||
declare
|
||||
linea varchar2(255);
|
||||
file1 UTL_FILE.file_type;
|
||||
file2 UTL_FILE.file_type;
|
||||
nome_file varchar2(80);
|
||||
|
||||
cursor cur_rec is
|
||||
select rpad(nvl(msisdn,' '),15) || rpad(nvl(addizionale1,' '),15) || rpad(nvl(addizionale2,' '),15) || rpad(nvl(imsi,' '),15) ||
|
||||
rpad(nvl(codice_operatore_donating,' '),4) || rpad(nvl(codice_operatore_recipient,' '),4) ||
|
||||
rpad(nvl(codice_analogico_digitale,' '),1) || rpad('05',2) || rpad(nvl(to_char(data_cut_over,'yyyy-mm-dd'),' '),10) ||
|
||||
rpad(nvl(to_char(data_cut_over,'yyyy-mm-dd'),' '),10) ||
|
||||
rpad(nvl(id_richiesta,' '),23)
|
||||
from mnp_richiesta_beolo
|
||||
where stato in ('4','32','44','49')
|
||||
and processo='SCIVOLO'
|
||||
union
|
||||
select rpad(nvl(msisdn_a,' '),15) || rpad(nvl(msisdn_b,' '),15) || rpad(nvl(msisdn_c,' '),15) || rpad(nvl(imsi,' '),15) ||
|
||||
rpad(nvl(codice_operatore_donating,' '),4) || rpad(nvl(codice_operatore_recipient,' '),4) ||
|
||||
rpad(nvl(tecnologia,' '),1) || rpad(nvl(stato,' '),2) || rpad(nvl(data_validazione_richiesta,' '),10) ||
|
||||
rpad(nvl(data_cut_over,' '),10) ||
|
||||
rpad(nvl(id_richiesta,' '),23)
|
||||
from mnp_circe_out_rec
|
||||
where stato='05';
|
||||
begin
|
||||
nome_file:='MNP_CIRCE_ATT_RECIPIENT_' || TO_CHAR(sysdate,'yyyymmddhh24miss');
|
||||
file1:=UTL_FILE.fopen('&1', nome_file || '.TXT','w');
|
||||
open cur_rec;
|
||||
loop
|
||||
fetch cur_rec into linea;
|
||||
exit when cur_rec%notfound;
|
||||
UTL_FILE.put_line(file1,linea);
|
||||
UTL_FILE.fflush(file1);
|
||||
dbms_lock.sleep(1);
|
||||
end loop;
|
||||
UTL_FILE.fflush(file1);
|
||||
UTL_FILE.fclose(file1);
|
||||
file2:=UTL_FILE.fopen('&1', nome_file || '.CTR','w');
|
||||
UTL_FILE.fflush(file2);
|
||||
UTL_FILE.fclose(file2);
|
||||
close cur_rec;
|
||||
exception
|
||||
when others then
|
||||
dbms_output.put_line(sqlerrm);
|
||||
end;
|
||||
/
|
||||
exit;
|
||||
48
dbcmnpsrc/FE/mnpapp/script/sql/circe/MNP_CIRCE_DONOR.sql
Normal file
48
dbcmnpsrc/FE/mnpapp/script/sql/circe/MNP_CIRCE_DONOR.sql
Normal file
@@ -0,0 +1,48 @@
|
||||
--Script per la creazione dei file
|
||||
--contenenti le notifiche di espletamento DONOR per
|
||||
--l'Infasamento di CIRCE
|
||||
declare
|
||||
linea varchar2(255);
|
||||
file1 UTL_FILE.file_type;
|
||||
file2 UTL_FILE.file_type;
|
||||
nome_file varchar2(40);
|
||||
cursor cur_rec is
|
||||
--Circe ATTIVAZIONE SCIVOLO
|
||||
select rpad(nvl(msisdn,' '),15) || rpad(nvl(addizionale1,' '),15) || rpad(nvl(addizionale2,' '),15) ||
|
||||
rpad(nvl(imsi,' '),15) || rpad(nvl(codice_operatore_donating,' '),4) || rpad(nvl(codice_operatore_recipient,' '),4) ||
|
||||
rpad(nvl(codice_analogico_digitale,' '),1) || rpad('05',2) || rpad(nvl(to_char(data_cut_over,'yyyy-mm-dd'),' '),10) ||
|
||||
rpad(nvl(to_char(data_cut_over,'yyyy-mm-dd'),' '),10) ||
|
||||
rpad(nvl(id_richiesta,' '),23)
|
||||
from mnp_richiesta_beolo
|
||||
where stato='4'
|
||||
and processo='DONOR'
|
||||
union
|
||||
select rpad(nvl(msisdn_a,' '),15) || rpad(nvl(msisdn_b,' '),15) || rpad(nvl(msisdn_c,' '),15) ||
|
||||
rpad(nvl(imsi,' '),15) || rpad(nvl(codice_operatore_donating,' '),4) || rpad(nvl(codice_operatore_recipient,' '),4) ||
|
||||
rpad(nvl(tecnologia,' '),1) || rpad(nvl(stato,' '),2) || rpad(nvl(data_validazione_richiesta,' '),10) ||
|
||||
rpad(nvl(data_cut_over,' '),10) ||
|
||||
rpad(nvl(id_richiesta,' '),23)
|
||||
from mnp_circe_out
|
||||
where stato='05';
|
||||
begin
|
||||
dbms_output.put_line('start sql scipt');
|
||||
nome_file:='MNP_CIRCE_DONOR_' || TO_CHAR(sysdate,'yyyymmddhh24miss');
|
||||
file1:=UTL_FILE.fopen('&1', nome_file || '.TXT','w');
|
||||
open cur_rec;
|
||||
loop
|
||||
fetch cur_rec into linea;
|
||||
exit when cur_rec%notfound;
|
||||
UTL_FILE.put_line(file1,linea);
|
||||
end loop;
|
||||
UTL_FILE.fflush(file1);
|
||||
UTL_FILE.fclose(file1);
|
||||
file2:=UTL_FILE.fopen('&1', nome_file || '.CTR','w');
|
||||
UTL_FILE.fflush(file2);
|
||||
UTL_FILE.fclose(file2);
|
||||
close cur_rec;
|
||||
exception
|
||||
when others then
|
||||
dbms_output.put_line(sqlerrm);
|
||||
end;
|
||||
/
|
||||
exit;
|
||||
19
dbcmnpsrc/FE/mnpapp/script/sql/create_table_mnp_appo.sql
Normal file
19
dbcmnpsrc/FE/mnpapp/script/sql/create_table_mnp_appo.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
CREATE TABLE mnp_appo_tipo_clienti
|
||||
(msisdn VARCHAR2(15) NOT NULL,
|
||||
sottomarcaggio VARCHAR2(1),
|
||||
marcaggio VARCHAR2(2) NOT NULL,
|
||||
tipo_utenza VARCHAR2(1) NOT NULL,
|
||||
nome_ot VARCHAR2(5) NOT NULL,
|
||||
sistema_competenza VARCHAR2(5),
|
||||
utenza_dual VARCHAR2(15),
|
||||
cf VARCHAR2(16),
|
||||
iccid VARCHAR2(20),
|
||||
stato VARCHAR2(7))
|
||||
TABLESPACE TAB_BIG
|
||||
/
|
||||
|
||||
ALTER TABLE mnp_appo_tipo_clienti
|
||||
ADD CONSTRAINT pk_appo_tipo_clienti PRIMARY KEY (msisdn)
|
||||
USING INDEX
|
||||
TABLESPACE TAB_IDX_MEDIUM
|
||||
/
|
||||
16
dbcmnpsrc/FE/mnpapp/script/sql/creazione_una_tantum.sql
Normal file
16
dbcmnpsrc/FE/mnpapp/script/sql/creazione_una_tantum.sql
Normal file
@@ -0,0 +1,16 @@
|
||||
set head off
|
||||
set pages 0
|
||||
set feedback off
|
||||
SET linesize 68
|
||||
|
||||
SPOOL /mnpapp/gwmnp/FTPOUT/DBC_VAR_OLO_REC_20130408.txt
|
||||
|
||||
SELECT TIPO_RECORD || ';' || RPAD(NUM_TEL,15) || ';' || TO_CHAR(DATA, 'yyyy-mm-dd hh24:mi:ss') || ';' || RPAD(RECIPIENT_NEW,30) FROM MNP_DBC_VARIAZIONE_OLO;
|
||||
|
||||
SET linesize 38
|
||||
|
||||
SPOOL /mnpapp/gwmnp/FTPOUT/DBC_CES_DEF_20130408.txt
|
||||
|
||||
SELECT TIPO_RECORD || ';' || RPAD(NUM_TEL,15) || ';' || TO_CHAR(DATA, 'yyyy-mm-dd hh24:mi:ss') || ';' FROM MNP_DBC_CESSAZIONE_OLO;
|
||||
|
||||
SPOOL off;
|
||||
@@ -0,0 +1,10 @@
|
||||
set head off
|
||||
set pages 0
|
||||
set feedback off
|
||||
SET linesize 47
|
||||
|
||||
SPOOL /mnpapp/gwmnp/FTPOUT/UTENZE_CESSATE_MNP.CSV
|
||||
|
||||
SELECT NUM_TEL || '$' || TO_CHAR(DATA_ATTIVAZIONE, 'yyyymmdd') || '$' || TO_CHAR(DATA_CESSAZIONE, 'yyyymmdd') || '$' || RPAD(RECIPIENT_NEW,4) || '$' || TO_CHAR(DATA_CESSAZIONE_DEF, 'yyyymmdd') FROM MNP_PCCOM_VARIAZIONI WHERE LAVORATO = 1;
|
||||
|
||||
SPOOL off;
|
||||
45
dbcmnpsrc/FE/mnpapp/script/sql/dbc_infasamento_pccom.sql
Normal file
45
dbcmnpsrc/FE/mnpapp/script/sql/dbc_infasamento_pccom.sql
Normal file
@@ -0,0 +1,45 @@
|
||||
DECLARE
|
||||
RetVal number;
|
||||
V_DATA_CURR DATE;
|
||||
V_DATA_CUT_OVER date;
|
||||
V_RECIPIENT_NEW varchar2(4);
|
||||
V_ID_RICHIESTA varchar2(15);
|
||||
V_PROCESSO varchar2(1);
|
||||
|
||||
BEGIN
|
||||
DBMS_OUTPUT.put_line ('START DATE: '||sysdate);
|
||||
-- AGGIORNAMENTO DEI CAMPI RECIPIENT_NEW E DATA_CESSAZIONE_DEF VERIFICANDO LA PRESENZA DI CESSAZIONE
|
||||
FOR R_VAR_MSISDN IN
|
||||
( SELECT * FROM MNP_PCCOM_VARIAZIONI WHERE LAVORATO IS NULL )
|
||||
LOOP
|
||||
BEGIN
|
||||
V_ID_RICHIESTA := NULL;
|
||||
V_DATA_CUT_OVER := NULL;
|
||||
V_PROCESSO := NULL;
|
||||
V_RECIPIENT_NEW := NULL;
|
||||
|
||||
RetVal := MNP.F_TROVA_ULTIMO_PROC_PCCOM ( '39'||R_VAR_MSISDN.NUM_TEL, V_ID_RICHIESTA, V_DATA_CURR, V_DATA_CUT_OVER, V_PROCESSO, V_RECIPIENT_NEW );
|
||||
|
||||
UPDATE MNP_PCCOM_VARIAZIONI
|
||||
SET DATA_CESSAZIONE_DEF = V_DATA_CUT_OVER,
|
||||
RECIPIENT_NEW = V_RECIPIENT_NEW,
|
||||
LAVORATO = 1
|
||||
WHERE NUM_TEL = R_VAR_MSISDN.NUM_TEL;
|
||||
|
||||
COMMIT;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
V_DATA_CUT_OVER := NULL;
|
||||
V_RECIPIENT_NEW := NULL;
|
||||
--
|
||||
UPDATE MNP_PCCOM_VARIAZIONI
|
||||
SET LAVORATO = 1
|
||||
WHERE NUM_TEL = R_VAR_MSISDN.NUM_TEL;
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
END LOOP;
|
||||
DBMS_OUTPUT.put_line ('END DATE: '||sysdate);
|
||||
END;
|
||||
/
|
||||
1
dbcmnpsrc/FE/mnpapp/script/sql/drop_table_mnp_appo.sql
Normal file
1
dbcmnpsrc/FE/mnpapp/script/sql/drop_table_mnp_appo.sql
Normal file
@@ -0,0 +1 @@
|
||||
DROP TABLE MNP_APPO_TIPO_CLIENTI CASCADE CONSTRAINTS;
|
||||
169
dbcmnpsrc/FE/mnpapp/script/sql/dwh/mview/MNP_DWH_DON.sql
Normal file
169
dbcmnpsrc/FE/mnpapp/script/sql/dwh/mview/MNP_DWH_DON.sql
Normal file
@@ -0,0 +1,169 @@
|
||||
DROP MATERIALIZED VIEW DWH.MNP_DWH_DON;
|
||||
|
||||
CREATE MATERIALIZED VIEW DWH.MNP_DWH_DON
|
||||
TABLESPACE TAB_DWH
|
||||
PCTUSED 0
|
||||
PCTFREE 10
|
||||
INITRANS 2
|
||||
MAXTRANS 255
|
||||
STORAGE (
|
||||
INITIAL 64K
|
||||
MINEXTENTS 1
|
||||
MAXEXTENTS UNLIMITED
|
||||
PCTINCREASE 0
|
||||
BUFFER_POOL DEFAULT
|
||||
)
|
||||
NOCACHE
|
||||
NOLOGGING
|
||||
NOPARALLEL
|
||||
BUILD IMMEDIATE
|
||||
REFRESH COMPLETE ON DEMAND
|
||||
WITH PRIMARY KEY
|
||||
AS
|
||||
/* Formatted on 2015/02/19 16:35 (Formatter Plus v4.8.8) */
|
||||
SELECT ROWNUM AS id_prog, r.*
|
||||
FROM (SELECT SYSDATE AS data_aggiornamento,
|
||||
DECODE (SUBSTR (codice_gruppo, 1, 3),
|
||||
'BKL', 'BKL',
|
||||
DECODE (a.richiestaadhocaom || a.richiestaadhoc,
|
||||
'00', 'Standard',
|
||||
'PHoc'
|
||||
)
|
||||
) AS tipo_richiesta,
|
||||
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
|
||||
a.marcaggio, a.sottomarcaggio, a.codice_operatore_recipient,
|
||||
a.codice_operatore_donating,
|
||||
a.codice_operatore_rec_eff AS recipient_effettivo,
|
||||
a.codice_operatore_don_eff AS donor_effettivo,
|
||||
TRUNC (b.data_i_o) AS data_evento,
|
||||
TO_CHAR (b.data_i_o, 'yy-iw') AS settimana_evento,
|
||||
TO_CHAR (b.data_i_o, 'mm') AS mese_evento,
|
||||
c.descr_stato AS descr_stato_evento,
|
||||
ca.descr_stato AS descr_stato_attuale,
|
||||
b.stato_a AS stato_evento, a.stato AS stato_attuale,
|
||||
DECODE (a.stato,
|
||||
10, a.codicerifiutovalidazione,
|
||||
NULL
|
||||
) AS cod_rifiuto,
|
||||
DECODE (a.stato, 10, r.causale, NULL) AS causale_rifiuto,
|
||||
COUNT (*) AS richieste
|
||||
FROM mnp.mnp_gestione_richiesta a,
|
||||
mnp.mnp_storico_richiesta b,
|
||||
mnp.mnp_stato c,
|
||||
mnp.mnp_stato ca,
|
||||
mnp.mnp_causale_rifiuto r
|
||||
WHERE ( a.codice_operatore_don_eff = 'TIMG'
|
||||
OR a.codice_operatore_don_eff = 'TIMT'
|
||||
)
|
||||
AND (TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
|
||||
AND TRUNC (SYSDATE)
|
||||
)
|
||||
AND (a.id_richiesta = b.id_richiesta)
|
||||
AND (b.stato_a IN (1, 3, 4, 9, 10, 12, 16))
|
||||
AND (b.stato_a = c.id_stato)
|
||||
AND (a.stato = ca.id_stato)
|
||||
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
|
||||
-- prendere ultime tre partizioni che sono su base semestrale
|
||||
--AND trunc(a.dataricezionerichiesta) BETWEEN TO_DATE (SYSDATE - 730) AND TRUNC (SYSDATE)
|
||||
AND TRUNC (b.dataricezionerichiesta) BETWEEN TO_DATE ( SYSDATE
|
||||
- 730
|
||||
)
|
||||
AND TRUNC (SYSDATE)
|
||||
GROUP BY DECODE (SUBSTR (codice_gruppo, 1, 3),
|
||||
'BKL', 'BKL',
|
||||
DECODE (a.richiestaadhocaom || a.richiestaadhoc,
|
||||
'00', 'Standard',
|
||||
'PHoc'
|
||||
)
|
||||
),
|
||||
a.tipo_cliente,
|
||||
a.nome_ot,
|
||||
a.codice_pre_post_pagato,
|
||||
a.marcaggio,
|
||||
a.sottomarcaggio,
|
||||
a.codice_operatore_recipient,
|
||||
a.codice_operatore_donating,
|
||||
TRUNC (b.data_i_o),
|
||||
TO_CHAR (b.data_i_o, 'yy-iw'),
|
||||
TO_CHAR (b.data_i_o, 'mm'),
|
||||
c.descr_stato,
|
||||
ca.descr_stato,
|
||||
b.stato_a,
|
||||
a.stato,
|
||||
DECODE (a.stato, 10, a.codicerifiutovalidazione, NULL),
|
||||
DECODE (a.stato, 10, r.causale, NULL),
|
||||
a.codice_operatore_rec_eff,
|
||||
a.codice_operatore_don_eff) r
|
||||
UNION
|
||||
SELECT ROWNUM AS id_prog, r.*
|
||||
FROM (SELECT SYSDATE AS data_aggiornamento,
|
||||
DECODE (SUBSTR (codice_gruppo, 1, 3),
|
||||
'BKL', 'BKL',
|
||||
DECODE (a.richiestaadhoc, '0', 'Standard', 'PHoc')
|
||||
) AS tipo_richiesta,
|
||||
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
|
||||
a.marcaggio, a.sottomarcaggio,
|
||||
'TIMG' AS codice_operatore_recipient,
|
||||
--a.codice_operatore_recipient,
|
||||
a.codice_operatore_donating,
|
||||
a.codice_operatore_recipient AS recipient_effettivo,
|
||||
a.codice_operatore_donating AS donor_effettivo,
|
||||
TRUNC (b.data_i_o) AS data_evento,
|
||||
TO_CHAR (b.data_i_o, 'yy-iw') AS settimana_evento,
|
||||
TO_CHAR (b.data_i_o, 'mm') AS mese_evento,
|
||||
c.descr_stato AS descr_stato_evento,
|
||||
ca.descr_stato AS descr_stato_attuale,
|
||||
b.stato_a AS stato_evento, a.stato AS stato_attuale,
|
||||
DECODE (a.stato,
|
||||
7, a.codicerifiutovalidazione,
|
||||
NULL
|
||||
) AS cod_rifiuto,
|
||||
DECODE (a.stato, 7, r.causale, NULL) AS causale_rifiuto,
|
||||
COUNT (*) AS richieste
|
||||
FROM mnp.mnp_gest_rich_rec_virt a,
|
||||
mnp.mnp_storico_rich_rec_virt b,
|
||||
mnp.mnp_stato_rec_virt c,
|
||||
mnp.mnp_stato_rec_virt ca,
|
||||
mnp.mnp_causale_rifiuto r
|
||||
WHERE (TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
|
||||
AND TRUNC (SYSDATE)
|
||||
)
|
||||
AND ( a.codice_operatore_donating = 'TIMG'
|
||||
OR a.codice_operatore_donating = 'TIMT'
|
||||
)
|
||||
AND (a.id_richiesta = b.id_richiesta)
|
||||
AND ( b.stato_a IN (2, 4, 6, 7, 8, 9, 12)
|
||||
OR (b.stato_da = -1 AND b.stato_a = 3 AND a.stato <> 5)
|
||||
)
|
||||
AND (b.stato_a = c.id_stato)
|
||||
AND (a.stato = ca.id_stato)
|
||||
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
|
||||
-- prendere ultime tre partizioni che sono su base semestrale
|
||||
AND TRUNC (b.dataricezionerichiesta) BETWEEN TO_DATE ( SYSDATE
|
||||
- 730
|
||||
)
|
||||
AND TRUNC (SYSDATE)
|
||||
AND TRUNC (a.dataricezionerichiesta) BETWEEN TO_DATE ( SYSDATE
|
||||
- 730
|
||||
)
|
||||
AND TRUNC (SYSDATE)
|
||||
GROUP BY DECODE (SUBSTR (codice_gruppo, 1, 3),
|
||||
'BKL', 'BKL',
|
||||
DECODE (a.richiestaadhoc, '0', 'Standard', 'PHoc')
|
||||
),
|
||||
a.tipo_cliente,
|
||||
a.nome_ot,
|
||||
a.codice_pre_post_pagato,
|
||||
a.marcaggio,
|
||||
a.sottomarcaggio,
|
||||
a.codice_operatore_recipient,
|
||||
a.codice_operatore_donating,
|
||||
TRUNC (b.data_i_o),
|
||||
TO_CHAR (b.data_i_o, 'yy-iw'),
|
||||
TO_CHAR (b.data_i_o, 'mm'),
|
||||
c.descr_stato,
|
||||
ca.descr_stato,
|
||||
b.stato_a,
|
||||
a.stato,
|
||||
DECODE (a.stato, 7, a.codicerifiutovalidazione, NULL),
|
||||
DECODE (a.stato, 7, r.causale, NULL)) r;
|
||||
159
dbcmnpsrc/FE/mnpapp/script/sql/infasamento_var_cess_olo.sql
Normal file
159
dbcmnpsrc/FE/mnpapp/script/sql/infasamento_var_cess_olo.sql
Normal file
@@ -0,0 +1,159 @@
|
||||
DECLARE
|
||||
|
||||
V_DATA_CURR DATE;
|
||||
V_DATA_MAX date;
|
||||
V_RECIPIENT_NEW varchar2(10);
|
||||
|
||||
BEGIN
|
||||
-- INTEGRAZIONE CON I DONOR E I REC_VIRT TRA OTTOBRE ED APRILE
|
||||
FOR R_INTEGRAZIONE_VAR IN
|
||||
( SELECT 'V' TIPO_RECORDO, SUBSTR(R.MSISDN, 3) MSISDN, R.DATA_CUT_OVER_EFF, R.CODICE_OPERATORE_REC_EFF RECIPIENT_NEW
|
||||
FROM MNP_GESTIONE_RICHIESTA R
|
||||
WHERE (R.MSISDN, R.DATA_CUT_OVER_EFF) IN
|
||||
( SELECT R1.MSISDN, MAX(R1.DATA_CUT_OVER_EFF)
|
||||
FROM MNP_GESTIONE_RICHIESTA R1
|
||||
WHERE R1.DATA_CUT_OVER_EFF BETWEEN TO_DATE('01102012','DDMMYYYY') AND TO_DATE('12042013','DDMMYYYY')
|
||||
AND R1.STATO NOT IN (22,12,10,4)
|
||||
AND R1.TIPO_CLIENTE = 'CO'
|
||||
GROUP BY R1.MSISDN
|
||||
)
|
||||
UNION
|
||||
SELECT 'V' TIPO_RECORDO, SUBSTR(RV.MSISDN, 3) MSISDN, RV.DATA_CUT_OVER_EFF, RV.CODICE_OPERATORE_RECIPIENT RECIPIENT_NEW
|
||||
FROM MNP_GEST_RICH_REC_VIRT RV
|
||||
WHERE (RV.MSISDN, RV.DATA_CUT_OVER_EFF) IN
|
||||
( SELECT RV1.MSISDN, MAX(RV1.DATA_CUT_OVER_EFF)
|
||||
FROM MNP_GEST_RICH_REC_VIRT RV1
|
||||
WHERE RV1.DATA_CUT_OVER_EFF BETWEEN TO_DATE('01102012','DDMMYYYY') AND TO_DATE('12042013','DDMMYYYY')
|
||||
AND RV1.STATO NOT IN (7,9)
|
||||
AND RV1.TIPO_CLIENTE = 'CO'
|
||||
GROUP BY RV1.MSISDN
|
||||
)
|
||||
)
|
||||
LOOP
|
||||
-- INSERIMENTO IN TABELLA
|
||||
BEGIN
|
||||
|
||||
INSERT INTO MNP_DBC_VARIAZIONE_OLO (tipo_record, num_tel, data, recipient_new)
|
||||
VALUES
|
||||
(R_INTEGRAZIONE_VAR.TIPO_RECORDO, R_INTEGRAZIONE_VAR.MSISDN,
|
||||
R_INTEGRAZIONE_VAR.DATA_CUT_OVER_EFF,R_INTEGRAZIONE_VAR.RECIPIENT_NEW);
|
||||
|
||||
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
|
||||
|
||||
SELECT DATA
|
||||
INTO V_DATA_CURR
|
||||
FROM MNP_DBC_VARIAZIONE_OLO
|
||||
WHERE NUM_TEL = R_INTEGRAZIONE_VAR.MSISDN;
|
||||
|
||||
IF V_DATA_CURR < R_INTEGRAZIONE_VAR.DATA_CUT_OVER_EFF THEN
|
||||
|
||||
UPDATE MNP_DBC_VARIAZIONE_OLO
|
||||
SET DATA = R_INTEGRAZIONE_VAR.DATA_CUT_OVER_EFF,
|
||||
RECIPIENT_NEW = R_INTEGRAZIONE_VAR.RECIPIENT_NEW
|
||||
WHERE NUM_TEL = R_INTEGRAZIONE_VAR.MSISDN;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
|
||||
COMMIT;
|
||||
|
||||
END LOOP;
|
||||
--
|
||||
|
||||
-- AGGIORNAMENTO DEI CAMPI DATA E RECIPIENT_NEW VERIFICANDO LA PRESENZA DI PORTING TERZE PARTI O RECIPIENT TIM
|
||||
FOR R_VAR_MSISDN IN
|
||||
( SELECT * FROM MNP_DBC_VARIAZIONE_OLO WHERE LAVORATO IS NULL )
|
||||
LOOP
|
||||
|
||||
BEGIN
|
||||
SELECT *
|
||||
INTO V_DATA_MAX, V_RECIPIENT_NEW
|
||||
FROM
|
||||
( SELECT q.*
|
||||
FROM
|
||||
( SELECT P.DATA_CUT_OVER DATA, P.CODICE_OPERATORE_RECIPIENT REC_NEW
|
||||
FROM MNP_GESTIONE_RICHIESTA_PORTING P
|
||||
WHERE (P.MSISDN, P.DATA_CUT_OVER) IN
|
||||
( SELECT MSISDN, MAX(P1.DATA_CUT_OVER)
|
||||
FROM MNP_GESTIONE_RICHIESTA_PORTING P1
|
||||
WHERE P1.STATO = 6
|
||||
AND P1.DATA_CUT_OVER BETWEEN TO_DATE('01102012','DDMMYYYY') AND TO_DATE('12042013','DDMMYYYY')
|
||||
AND P1.MSISDN = '39'||R_VAR_MSISDN.NUM_TEL
|
||||
GROUP BY P1.MSISDN
|
||||
)
|
||||
UNION
|
||||
SELECT R.DATA_CUT_OVER_EFF DATA, R.CODICE_OPERATORE_REC_EFF REC_NEW
|
||||
FROM MNP_GESTIONE_RICHIESTA_REC R
|
||||
WHERE (R.MSISDN, R.DATA_CUT_OVER_EFF) IN
|
||||
( SELECT R1.MSISDN, MAX(R1.DATA_CUT_OVER_EFF)
|
||||
FROM MNP_GESTIONE_RICHIESTA_REC R1
|
||||
WHERE R1.DATA_CUT_OVER_EFF BETWEEN TO_DATE('01102012','DDMMYYYY') AND TO_DATE('12042013','DDMMYYYY')
|
||||
AND R1.STATO = 12
|
||||
AND R1.TIPO_CLIENTE = 'CO'
|
||||
AND R1.MSISDN = '39'||R_VAR_MSISDN.NUM_TEL
|
||||
GROUP BY R1.MSISDN
|
||||
)
|
||||
UNION
|
||||
SELECT DV.DATA_CUT_OVER_EFF DATA, DV.CODICE_OPERATORE_RECIPIENT REC_NEW
|
||||
FROM MNP_GEST_RICH_DONOR_VIRT DV
|
||||
WHERE (DV.MSISDN, DV.DATA_CUT_OVER_EFF) IN
|
||||
( SELECT DV1.MSISDN, MAX(DV1.DATA_CUT_OVER_EFF)
|
||||
FROM MNP_GEST_RICH_DONOR_VIRT DV1
|
||||
WHERE DV1.DATA_CUT_OVER_EFF BETWEEN TO_DATE('01102012','DDMMYYYY') AND TO_DATE('12042013','DDMMYYYY')
|
||||
AND DV1.STATO = 11
|
||||
AND DV1.TIPO_CLIENTE = 'CO'
|
||||
AND DV1.MSISDN = '39'||R_VAR_MSISDN.NUM_TEL
|
||||
GROUP BY DV1.MSISDN
|
||||
)
|
||||
) q
|
||||
ORDER BY q.data desc)
|
||||
WHERE rownum <2;
|
||||
|
||||
UPDATE MNP_DBC_VARIAZIONE_OLO
|
||||
SET DATA = V_DATA_MAX,
|
||||
RECIPIENT_NEW = V_RECIPIENT_NEW,
|
||||
LAVORATO = 1
|
||||
WHERE NUM_TEL = R_VAR_MSISDN.NUM_TEL;
|
||||
|
||||
COMMIT;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
V_DATA_MAX := NULL;
|
||||
V_RECIPIENT_NEW := NULL;
|
||||
--
|
||||
UPDATE MNP_DBC_VARIAZIONE_OLO
|
||||
SET LAVORATO = 1
|
||||
WHERE NUM_TEL = R_VAR_MSISDN.NUM_TEL;
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
TRUNCATE TABLE MNP_DBC_CESSAZIONE_OLO;
|
||||
|
||||
INSERT INTO MNP_DBC_CESSAZIONE_OLO
|
||||
SELECT 'C', SUBSTR(CP.MSISDN, 3), CP.DATA_CUT_OVER
|
||||
FROM MNP_GESTIONE_RICH_CESS_PORT CP, MNP_STORICO_CESS_PORTING SCP
|
||||
WHERE CP.ID_RICHIESTA = SCP.ID_RICHIESTA
|
||||
AND SCP.STATO_A = 2
|
||||
AND SCP.DATA_LAVORAZIONE BETWEEN TO_DATE('01102012', 'DDMMYYYY') AND TO_DATE('12042013', 'DDMMYYYY')
|
||||
UNION
|
||||
SELECT 'C', SUBSTR(C.MSISDN, 3), C.DATA_CUT_OVER
|
||||
FROM MNP_GESTIONE_RICHIESTA_CESS C, MNP_STORICO_CESS SC
|
||||
WHERE C.ID_RICHIESTA = SC.ID_RICHIESTA
|
||||
AND SC.STATO_A = 3
|
||||
AND SC.DATA_LAVORAZIONE BETWEEN TO_DATE('01102012', 'DDMMYYYY') AND TO_DATE('12042013', 'DDMMYYYY');
|
||||
|
||||
COMMIT;
|
||||
|
||||
DELETE MNP_DBC_VARIAZIONE_OLO
|
||||
WHERE NUM_TEL IN
|
||||
( SELECT NUM_TEL
|
||||
FROM MNP_DBC_CESSAZIONE_OLO
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
5
dbcmnpsrc/FE/mnpapp/script/sql/mnp_stat.sql
Normal file
5
dbcmnpsrc/FE/mnpapp/script/sql/mnp_stat.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
set serveroutput on;
|
||||
execute DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME => 'MNP', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, CASCADE => TRUE);
|
||||
execute DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => 'MNP', TABNAME =>'MNP_GESTIONE_RICHIESTA_REC', METHOD_OPT =>'FOR COLUMNS STATO SIZE 20');
|
||||
execute DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => 'MNP', TABNAME =>'HZ_GESTIONE_RICHIESTA', METHOD_OPT =>'FOR COLUMNS STATO SIZE 20');
|
||||
exit;
|
||||
15
dbcmnpsrc/FE/mnpapp/script/sql/move_mnp_tipo_clienti.sql
Normal file
15
dbcmnpsrc/FE/mnpapp/script/sql/move_mnp_tipo_clienti.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
DROP table mnp_tipo_clienti CASCADE CONSTRAINTS;
|
||||
|
||||
ALTER TABLE mnp_appo_tipo_clienti DROP PRIMARY KEY;
|
||||
ALTER table mnp_appo_tipo_clienti rename to mnp_tipo_clienti;
|
||||
|
||||
ALTER TABLE mnp_tipo_clienti
|
||||
ADD CONSTRAINT pk_tipo_clienti PRIMARY KEY (msisdn)
|
||||
USING INDEX
|
||||
TABLESPACE TAB_IDX_MEDIUM
|
||||
/
|
||||
|
||||
CREATE INDEX IDX_TIPO_CLIENTI_01 ON MNP_TIPO_CLIENTI(UTENZA_DUAL) TABLESPACE TAB_IDX_MEDIUM
|
||||
/
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
-- EXEC AS USER MNP - DML file
|
||||
-- AUTHOR : NTT DATA
|
||||
-- CREATED : 20180502
|
||||
-- PURPOSE : 2018 C5 MNP_SM_2353 MNP_RU_522
|
||||
-- PROCESS : Donor Virtuale MVNO e MVNO2MVNO
|
||||
-- TARGET : Table MNP.MNP_GEST_RICH_DONOR_VIRT
|
||||
-- PURPOSE : Aggiornamento giornaliero campo DATA_CUT_OVER_CALC per i record con
|
||||
-- - stato di elaborazione ACQUISITA (1) oppure ACCODATA (3);
|
||||
-- - DATA_CUT_OVER_CALC antecedente a DATA_CUT_OVER oppure
|
||||
-- - DATA_CUT_OVER_CALC dichiarata come data di manutenzione;
|
||||
-- valorizzare al secondo giorno lavorativo dopo il giorno corrente di esecuzione
|
||||
-- NOTA1 : necessario ulteriore filtro su CARATTERIZZAZIONE = 1
|
||||
-- - valori -1 e 0 indicano che la richiesta deve ancora essere prevalidata
|
||||
-- - valori > 1 indicano che la richiesta non e' lavorabile per problemi
|
||||
-- in entrambi i casi non deve avanzare la lavorazione (e' incongruente);
|
||||
-- NOTA2 : per congruenza, contestualmente alla DATA_CUT_OVER_CALC si deve
|
||||
-- aggiornare anche DATA_VALIDAZIONE_MAX (sysdate + 1 g.lav);
|
||||
-- NOTA3 : non verifica se la DCO stessa sia festiva o manutenzione (spetta al codice);
|
||||
-- ALERT : deve poter eseguire la funzione
|
||||
-- - DWH.FUN_GIORNI_PIU(DataIniziale, NumGiorniLavorativi)
|
||||
-- questa modalita' di invocazione verso schema DWH
|
||||
-- e' stata convalidata nel DB di ESERCIZIO.
|
||||
-- Collaudo potrebbe essere configurato diverso (dblink alias o che) ma
|
||||
-- la priorita' e' evitare rifiuto installazione ESE (cfr estate 2017)
|
||||
UPDATE MNP_GEST_RICH_DONOR_VIRT grdv
|
||||
SET grdv.DATA_VALIDAZIONE_MAX = DWH.FUN_GIORNI_PIU(TRUNC(SYSDATE), 1)
|
||||
, grdv.DATA_CUT_OVER_CALC = DWH.FUN_GIORNI_PIU(TRUNC(SYSDATE), 2)
|
||||
WHERE grdv.STATO IN (1, 3)
|
||||
AND grdv.CARATTERIZZAZIONE = 1
|
||||
AND (
|
||||
TRUNC(grdv.DATA_CUT_OVER_CALC) < TRUNC(grdv.DATA_CUT_OVER)
|
||||
OR 0 < ( SELECT COUNT(*) FROM MNP_DATA_MANUTENZIONE mdm WHERE TRUNC(MDM.DATA_MANUTENZIONE) = TRUNC(grdv.DATA_CUT_OVER_CALC) )
|
||||
)
|
||||
;
|
||||
COMMIT;
|
||||
-- NON mettere la / finale altrimenti fa un secondo commit
|
||||
@@ -0,0 +1,36 @@
|
||||
-- EXEC AS USER MNP - DML file
|
||||
-- AUTHOR : NTT DATA
|
||||
-- CREATED : 20180502
|
||||
-- PURPOSE : 2018 C5 MNP_SM_2353 MNP_RU_522
|
||||
-- PROCESS : Recipient Virtuale MVNO e MVNO2MVNO
|
||||
-- TARGET : Table MNP.MNP_GEST_RICH_REC_VIRT
|
||||
-- PURPOSE : Aggiornamento giornaliero campo DATA_CUT_OVER_CALC per i record con
|
||||
-- - stato di elaborazione ACQUISITA (1) oppure ACCODATA (3);
|
||||
-- - DATA_CUT_OVER_CALC antecedente a DATA_CUT_OVER oppure
|
||||
-- - DATA_CUT_OVER_CALC dichiarata come data di manutenzione;
|
||||
-- valorizzare al secondo giorno lavorativo dopo il giorno corrente di esecuzione
|
||||
-- NOTA1 : necessario ulteriore filtro su CARATTERIZZAZIONE = 1
|
||||
-- - valori -1 e 0 indicano che la richiesta deve ancora essere prevalidata
|
||||
-- - valori > 1 indicano che la richiesta non e' lavorabile per problemi
|
||||
-- in entrambi i casi non deve avanzare la lavorazione (e' incongruente);
|
||||
-- NOTA2 : per congruenza, contestualmente alla DATA_CUT_OVER_CALC si deve
|
||||
-- aggiornare anche DATA_VALIDAZIONE_MAX (sysdate + 1 g.lav);
|
||||
-- NOTA3 : non verifica se la DCO stessa sia festiva o manutenzione (spetta al codice);
|
||||
-- ALERT : deve poter eseguire la funzione
|
||||
-- - DWH.FUN_GIORNI_PIU(DataIniziale, NumGiorniLavorativi)
|
||||
-- questa modalita' di invocazione verso schema DWH
|
||||
-- e' stata convalidata nel DB di ESERCIZIO.
|
||||
-- Collaudo potrebbe essere configurato diverso (dblink alias o che) ma
|
||||
-- la priorita' e' evitare rifiuto installazione ESE (cfr estate 2017)
|
||||
UPDATE MNP_GEST_RICH_REC_VIRT grrv
|
||||
SET grrv.DATA_VALIDAZIONE_MAX = DWH.FUN_GIORNI_PIU(TRUNC(SYSDATE), 1)
|
||||
, grrv.DATA_CUT_OVER_CALC = DWH.FUN_GIORNI_PIU(TRUNC(SYSDATE), 2)
|
||||
WHERE grrv.STATO IN (1, 3)
|
||||
AND grrv.CARATTERIZZAZIONE = 1
|
||||
AND (
|
||||
TRUNC(grrv.DATA_CUT_OVER_CALC) < TRUNC(grrv.DATA_CUT_OVER)
|
||||
OR 0 < ( SELECT COUNT(*) FROM MNP_DATA_MANUTENZIONE mdm WHERE TRUNC(MDM.DATA_MANUTENZIONE) = TRUNC(grrv.DATA_CUT_OVER_CALC) )
|
||||
)
|
||||
;
|
||||
COMMIT;
|
||||
-- NON mettere la / finale altrimenti fa un secondo commit
|
||||
7
dbcmnpsrc/FE/mnpapp/script/sql/refresh_msgid.sql
Normal file
7
dbcmnpsrc/FE/mnpapp/script/sql/refresh_msgid.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
DELETE FROM mnp_message_id
|
||||
where trunc(data)<trunc(sysdate-7)
|
||||
/
|
||||
COMMIT
|
||||
/
|
||||
EXIT
|
||||
18
dbcmnpsrc/FE/mnpapp/script/sql/update_gestione_fifo.sql
Normal file
18
dbcmnpsrc/FE/mnpapp/script/sql/update_gestione_fifo.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
set serveroutput on
|
||||
declare
|
||||
modalita varchar2(2):='&1';
|
||||
operatore varchar2(2):='&2';
|
||||
|
||||
begin
|
||||
DBMS_OUTPUT.PUT_LINE('modalita ' || modalita);
|
||||
DBMS_OUTPUT.PUT_LINE('operatore ' || operatore);
|
||||
if (operatore<>'-1') then
|
||||
DBMS_OUTPUT.PUT_LINE('updating operator ' || operatore);
|
||||
update MNP_EVASIONE SET FIFO_DISATTIVO = modalita where COD_OLO = operatore;
|
||||
else
|
||||
DBMS_OUTPUT.PUT_LINE('updating all operators');
|
||||
update MNP_EVASIONE SET FIFO_DISATTIVO = modalita;
|
||||
end if;
|
||||
end;
|
||||
/
|
||||
exit;
|
||||
2
dbcmnpsrc/FE/mnpapp/script/sql/update_utenza_dual.sql
Normal file
2
dbcmnpsrc/FE/mnpapp/script/sql/update_utenza_dual.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
update MNP_APPO_TIPO_CLIENTI set utenza_dual='39'||utenza_dual where utenza_dual is not null
|
||||
/
|
||||
Reference in New Issue
Block a user