First Commit - Source Code from Reply
This commit is contained in:
2
dbcmnpsrc/FE/mnpapp/script/DB_Portati/ReadME.txt
Normal file
2
dbcmnpsrc/FE/mnpapp/script/DB_Portati/ReadME.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Contiene gli script per l'estrazione delle linee soggette a porting, necessarie per l'infasamento iniziale di DBC-FX
|
||||
per l'Extra Kit di Aprile 2010
|
||||
16
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runDbc2Dbcfx.sh
Normal file
16
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runDbc2Dbcfx.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/ksh
|
||||
THIS_PATH=`dirname $0`
|
||||
. $THIS_PATH/../setEnv.sh
|
||||
|
||||
$THIS_PATH/../TestNodo.sh
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
if [ "$1" = "" ] || [ "$2" = "" ] || [ "$3" = "" ]; then
|
||||
echo "Utilizzo: ${0} data_inizio data_fine numero_righe"
|
||||
echo " le date vanno passate in formato DDMMYYYY "
|
||||
echo " numero_righe indica quante righe al massimo estrarre nel file"
|
||||
exit -1
|
||||
fi
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $THIS_PATH/runDbc2Dbcfx.sql $1 $2 $3 >$THIS_PATH/runDbc2Dbcfx.log
|
||||
fi
|
||||
32
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runDbc2Dbcfx.sql
Normal file
32
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runDbc2Dbcfx.sql
Normal file
@@ -0,0 +1,32 @@
|
||||
set heading off
|
||||
set pagesize 0
|
||||
set linesize 200
|
||||
set trimspool on
|
||||
set feedback off
|
||||
set verify off
|
||||
set echo off
|
||||
set termout off
|
||||
set time off
|
||||
set timing off
|
||||
alter session set nls_territory='italy';
|
||||
UPDATE MNP_DBP2DBCFX D
|
||||
SET D.FLAG_LAVORATO=2 --in lavorazione
|
||||
WHERE D.FLAG_LAVORATO=0
|
||||
AND D.DATA_CUT_OVER BETWEEN TO_DATE('&1','DDMMYYYY') AND TO_DATE('&2','DDMMYYYY')
|
||||
AND ROWNUM < &3;
|
||||
spool mnp_dbp2dbcfx.csv
|
||||
SELECT MSISDN
|
||||
||';'||TO_CHAR(DATA_CUT_OVER,'ddmmyyyy hh24miss')
|
||||
||';'||CODICE_OPERATORE_RECIPIENT
|
||||
||';'||NVL(ROUTING_NUMBER,' ')
|
||||
||';'||TO_CHAR(SYSDATE,'ddmmyyyy hh24miss')
|
||||
||';'||'2'
|
||||
FROM MNP_DBP2DBCFX D
|
||||
WHERE D.FLAG_LAVORATO=2;
|
||||
spool off
|
||||
UPDATE MNP_DBP2DBCFX D
|
||||
SET D.FLAG_LAVORATO=1
|
||||
WHERE D.FLAG_LAVORATO=2;
|
||||
COMMIT;
|
||||
/
|
||||
EXIT
|
||||
16
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runDbc2FASTWEB.sh
Normal file
16
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runDbc2FASTWEB.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/ksh
|
||||
THIS_PATH=`dirname $0`
|
||||
. $THIS_PATH/../setEnv.sh
|
||||
|
||||
$THIS_PATH/../TestNodo.sh
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
if [ "$1" = "" ] || [ "$2" = "" ] || [ "$3" = "" ]; then
|
||||
echo "Utilizzo: ${0} data_inizio data_fine numero_righe"
|
||||
echo " le date vanno passate in formato DDMMYYYY "
|
||||
echo " numero_righe indica quante righe al massimo estrarre nel file"
|
||||
exit -1
|
||||
fi
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $THIS_PATH/runDbc2FASTWEB.sql $1 $2 $3 >$THIS_PATH/runDbc2FASTWEB.log
|
||||
fi
|
||||
33
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runDbc2FASTWEB.sql
Normal file
33
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runDbc2FASTWEB.sql
Normal file
@@ -0,0 +1,33 @@
|
||||
set heading off
|
||||
set pagesize 0
|
||||
set linesize 200
|
||||
set trimspool on
|
||||
set feedback off
|
||||
set verify off
|
||||
set echo off
|
||||
set termout off
|
||||
set time off
|
||||
set timing off
|
||||
alter session set nls_territory='italy';
|
||||
UPDATE MNP_DBP2DBCFX D
|
||||
SET D.FLAG_LAVORATO=2 --in lavorazione
|
||||
WHERE D.FLAG_LAVORATO=0
|
||||
AND D.DATA_CUT_OVER BETWEEN TO_DATE('&1','DDMMYYYY') AND TO_DATE('&2','DDMMYYYY')
|
||||
AND ROWNUM < &3;
|
||||
spool mnp_dbp2FASTWEB.csv
|
||||
SELECT ID_RICHIESTA
|
||||
||';'||MSISDN
|
||||
||';'||CODICE_OPERATORE_RECIPIENT
|
||||
||';'||NVL(ROUTING_NUMBER,' ')
|
||||
||';'||TO_CHAR(DATA_CUT_OVER,'ddmmyyyy hh24miss')
|
||||
||';'||TO_CHAR(SYSDATE,'ddmmyyyy hh24miss')
|
||||
||';'
|
||||
FROM MNP_DBP2DBCFX D
|
||||
WHERE D.FLAG_LAVORATO=2;
|
||||
spool off
|
||||
UPDATE MNP_DBP2DBCFX D
|
||||
SET D.FLAG_LAVORATO=1
|
||||
WHERE D.FLAG_LAVORATO=2;
|
||||
COMMIT;
|
||||
/
|
||||
EXIT
|
||||
15
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiesta.sh
Normal file
15
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiesta.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/ksh
|
||||
THIS_PATH=`dirname $0`
|
||||
. $THIS_PATH/../setEnv.sh
|
||||
|
||||
$THIS_PATH/../TestNodo.sh
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
if [ "$1" = "" ] || [ "$2" = "" ]; then
|
||||
echo "Utilizzo: ${0} data_inizio data_fine "
|
||||
echo " le date vanno passate in formato DDMMYYYY "
|
||||
exit -1
|
||||
fi
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $THIS_PATH/runRichiesta.sql $1 $2 >$THIS_PATH/runRichiesta.log
|
||||
fi
|
||||
13
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiesta.sql
Normal file
13
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiesta.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
DECLARE
|
||||
DATA_INIZIO DATE;
|
||||
DATA_FINE DATE;
|
||||
|
||||
BEGIN
|
||||
DATA_INIZIO := TO_DATE('&1','DDMMYYYY');
|
||||
DATA_FINE := TO_DATE('&2','DDMMYYYY');
|
||||
|
||||
PKG_DBP.ESTR_RICHIESTA ( DATA_INIZIO, DATA_FINE );
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
exit
|
||||
15
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaCess.sh
Normal file
15
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaCess.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/ksh
|
||||
THIS_PATH=`dirname $0`
|
||||
. $THIS_PATH/../setEnv.sh
|
||||
|
||||
$THIS_PATH/../TestNodo.sh
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
if [ "$1" = "" ] || [ "$2" = "" ]; then
|
||||
echo "Utilizzo: ${0} data_inizio data_fine "
|
||||
echo " le date vanno passate in formato DDMMYYYY "
|
||||
exit -1
|
||||
fi
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $THIS_PATH/runRichiestaCess.sql $1 $2 >$THIS_PATH/runRichiestaCess.log
|
||||
fi
|
||||
13
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaCess.sql
Normal file
13
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaCess.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
DECLARE
|
||||
DATA_INIZIO DATE;
|
||||
DATA_FINE DATE;
|
||||
|
||||
BEGIN
|
||||
DATA_INIZIO := TO_DATE('&1','DDMMYYYY');
|
||||
DATA_FINE := TO_DATE('&2','DDMMYYYY');
|
||||
|
||||
PKG_DBP.ESTR_RICHIESTA_CESS ( DATA_INIZIO, DATA_FINE );
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
exit
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/ksh
|
||||
THIS_PATH=`dirname $0`
|
||||
. $THIS_PATH/../setEnv.sh
|
||||
|
||||
$THIS_PATH/../TestNodo.sh
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
if [ "$1" = "" ] || [ "$2" = "" ]; then
|
||||
echo "Utilizzo: ${0} data_inizio data_fine "
|
||||
echo " le date vanno passate in formato DDMMYYYY "
|
||||
exit -1
|
||||
fi
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $THIS_PATH/runRichiestaCessPort.sql $1 $2 >$THIS_PATH/runRichiestaCessPort.log
|
||||
fi
|
||||
@@ -0,0 +1,13 @@
|
||||
DECLARE
|
||||
DATA_INIZIO DATE;
|
||||
DATA_FINE DATE;
|
||||
|
||||
BEGIN
|
||||
DATA_INIZIO := TO_DATE('&1','DDMMYYYY');
|
||||
DATA_FINE := TO_DATE('&2','DDMMYYYY');
|
||||
|
||||
PKG_DBP.ESTR_RICH_CESS_PORT ( DATA_INIZIO, DATA_FINE );
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
exit
|
||||
15
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaPorting.sh
Normal file
15
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaPorting.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/ksh
|
||||
THIS_PATH=`dirname $0`
|
||||
. $THIS_PATH/../setEnv.sh
|
||||
|
||||
$THIS_PATH/../TestNodo.sh
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
if [ "$1" = "" ] || [ "$2" = "" ]; then
|
||||
echo "Utilizzo: ${0} data_inizio data_fine "
|
||||
echo " le date vanno passate in formato DDMMYYYY "
|
||||
exit -1
|
||||
fi
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $THIS_PATH/runRichiestaPorting.sql $1 $2 >$THIS_PATH/runRichiestaPorting.log
|
||||
fi
|
||||
@@ -0,0 +1,13 @@
|
||||
DECLARE
|
||||
DATA_INIZIO DATE;
|
||||
DATA_FINE DATE;
|
||||
|
||||
BEGIN
|
||||
DATA_INIZIO := TO_DATE('&1','DDMMYYYY');
|
||||
DATA_FINE := TO_DATE('&2','DDMMYYYY');
|
||||
|
||||
PKG_DBP.ESTR_RICHIESTA_PORTING ( DATA_INIZIO, DATA_FINE );
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
exit
|
||||
15
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaRec.sh
Normal file
15
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaRec.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/ksh
|
||||
THIS_PATH=`dirname $0`
|
||||
. $THIS_PATH/../setEnv.sh
|
||||
|
||||
$THIS_PATH/../TestNodo.sh
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
if [ "$1" = "" ] || [ "$2" = "" ]; then
|
||||
echo "Utilizzo: ${0} data_inizio data_fine "
|
||||
echo " le date vanno passate in formato DDMMYYYY "
|
||||
exit -1
|
||||
fi
|
||||
$MNP_SCRIPT_HOME/sqlExecutor.sh -sqlplus $THIS_PATH/runRichiestaRec.sql $1 $2 >$THIS_PATH/runRichiestaRec.log
|
||||
fi
|
||||
13
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaRec.sql
Normal file
13
dbcmnpsrc/FE/mnpapp/script/DB_Portati/runRichiestaRec.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
DECLARE
|
||||
DATA_INIZIO DATE;
|
||||
DATA_FINE DATE;
|
||||
|
||||
BEGIN
|
||||
DATA_INIZIO := TO_DATE('&1','DDMMYYYY');
|
||||
DATA_FINE := TO_DATE('&2','DDMMYYYY');
|
||||
|
||||
PKG_DBP.ESTR_RICHIESTA_REC ( DATA_INIZIO, DATA_FINE );
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
exit
|
||||
@@ -0,0 +1,21 @@
|
||||
CREATE TABLE MNP_DBP2DBCFX
|
||||
(
|
||||
ID_RICHIESTA VARCHAR2(23 BYTE) NOT NULL,
|
||||
MSISDN VARCHAR2(15 BYTE) NOT NULL,
|
||||
CODICE_OPERATORE_RECIPIENT VARCHAR2(4 BYTE),
|
||||
ROUTING_NUMBER VARCHAR2(3 BYTE) DEFAULT NULL,
|
||||
DATA_CUT_OVER DATE,
|
||||
DATA_ESTRAZIONE DATE NOT NULL,
|
||||
FLAG_LAVORATO NUMBER(1) DEFAULT 0 NOT NULL
|
||||
)
|
||||
LOGGING
|
||||
NOCOMPRESS
|
||||
NOCACHE
|
||||
NOPARALLEL
|
||||
NOMONITORING;
|
||||
|
||||
|
||||
CREATE UNIQUE INDEX PK_MNP_DBP2DBCFX ON MNP_DBP2DBCFX
|
||||
(MSISDN)
|
||||
LOGGING
|
||||
NOPARALLEL;
|
||||
311
dbcmnpsrc/FE/mnpapp/script/DB_Portati/sql/pkg_dbp.sql
Normal file
311
dbcmnpsrc/FE/mnpapp/script/DB_Portati/sql/pkg_dbp.sql
Normal file
@@ -0,0 +1,311 @@
|
||||
CREATE OR REPLACE PACKAGE MNP.PKG_DBP AS
|
||||
|
||||
PROCEDURE estr_RICHIESTA (data_inizio IN DATE, data_fine IN DATE);
|
||||
PROCEDURE estr_RICHIESTA_REC (data_inizio IN DATE, data_fine IN DATE);
|
||||
PROCEDURE estr_RICHIESTA_PORTING (data_inizio IN DATE, data_fine IN DATE);
|
||||
PROCEDURE estr_RICH_CESS_PORT (data_inizio IN DATE, data_fine IN DATE);
|
||||
PROCEDURE estr_RICHIESTA_CESS (data_inizio IN DATE, data_fine IN DATE);
|
||||
|
||||
END PKG_DBP;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE package body MNP.PKG_DBP as
|
||||
|
||||
-- PROCESSO DONOR STANDARD/MVNO/PrjHoc
|
||||
procedure estr_RICHIESTA(data_inizio IN DATE, data_fine IN DATE) IS
|
||||
|
||||
oldDataCutOver date ;
|
||||
|
||||
CURSOR SEL_RICHIESTA IS
|
||||
SELECT /*+ full(mgr) parallel(5)*/ mgr.id_richiesta AS ID_RICHIESTA
|
||||
, NVL (mgr.msisdn, '') AS MSISDN
|
||||
, mgr.codice_operatore_recipient AS CODICE_OPERATORE_RECIPIENT
|
||||
, (SELECT A.ROUTING_NUMBER FROM MNP_OLO A WHERE A.DESC_OLO=MGR.CODICE_OPERATORE_RECIPIENT) AS ROUTING_NUMBER
|
||||
, mgr.data_cut_over AS DATA_CUT_OVER, SYSDATE AS DATA_ESTRAZIONE
|
||||
, 0 AS FLAG_LAVORATO
|
||||
FROM mnp_gestione_richiesta mgr
|
||||
WHERE STATO IN(7 --VALIDATAOK
|
||||
,9 --ACCETTATA
|
||||
,14 --INCESSAZIONE
|
||||
,15 --CESSATA
|
||||
,16 --ESPLETATA
|
||||
,99 --BLOCCATA
|
||||
)
|
||||
AND mgr.DATA_CUT_OVER BETWEEN data_inizio and data_fine;
|
||||
|
||||
BEGIN
|
||||
|
||||
FOR rigaLetta IN SEL_RICHIESTA LOOP
|
||||
BEGIN
|
||||
INSERT INTO MNP_DBP2DBCFX (
|
||||
ID_RICHIESTA, MSISDN, CODICE_OPERATORE_RECIPIENT,
|
||||
ROUTING_NUMBER, DATA_CUT_OVER, DATA_ESTRAZIONE,
|
||||
FLAG_LAVORATO)
|
||||
VALUES ( rigaLetta.ID_RICHIESTA
|
||||
,rigaLetta.MSISDN
|
||||
,rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,rigaLetta.ROUTING_NUMBER
|
||||
,rigaLetta.DATA_CUT_OVER
|
||||
,rigaLetta.DATA_ESTRAZIONE
|
||||
,rigaLetta.FLAG_LAVORATO
|
||||
);
|
||||
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
|
||||
BEGIN
|
||||
SELECT DATA_CUT_OVER
|
||||
INTO oldDataCutOver
|
||||
FROM MNP_DBP2DBCFX
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
|
||||
IF rigaLetta.DATA_CUT_OVER >= oldDataCutOver THEN
|
||||
UPDATE MNP_DBP2DBCFX
|
||||
SET ID_RICHIESTA=rigaLetta.ID_RICHIESTA
|
||||
,CODICE_OPERATORE_RECIPIENT = rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,ROUTING_NUMBER = rigaLetta.ROUTING_NUMBER
|
||||
,DATA_CUT_OVER = rigaLetta.DATA_CUT_OVER
|
||||
,DATA_ESTRAZIONE = rigaLetta.DATA_ESTRAZIONE
|
||||
,FLAG_LAVORATO = rigaLetta.FLAG_LAVORATO
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
return;
|
||||
|
||||
END estr_RICHIESTA;
|
||||
|
||||
-- PROCESSO RECIPIENT STANDARD/MVNO/PrjHoc
|
||||
procedure estr_RICHIESTA_REC(data_inizio IN DATE, data_fine IN DATE) IS
|
||||
|
||||
oldDataCutOver date ;
|
||||
|
||||
CURSOR SEL_RICHIESTA IS
|
||||
SELECT /*+ full(mgr) parallel(5)*/ mgr.id_richiesta AS id_richiesta, NVL (mgr.msisdn, '') AS msisdn,
|
||||
mgr.codice_operatore_recipient AS codice_operatore_recipient,
|
||||
(SELECT A.ROUTING_NUMBER FROM MNP_OLO A WHERE A.DESC_OLO=MGR.CODICE_OPERATORE_RECIPIENT) AS ROUTING_NUMBER,
|
||||
mgr.data_cut_over AS data_cut_over, SYSDATE AS data_estrazione,
|
||||
0 AS flag_lavorato
|
||||
FROM mnp_gestione_richiesta_rec mgr
|
||||
WHERE STATO IN(8 --VALIDATA
|
||||
,10 --ACCETTATA
|
||||
,11 --ATTESAEVASIONE
|
||||
,12 --EVASA
|
||||
)
|
||||
AND mgr.data_cut_over BETWEEN data_inizio AND data_fine;
|
||||
|
||||
BEGIN
|
||||
|
||||
FOR rigaLetta IN SEL_RICHIESTA LOOP
|
||||
BEGIN
|
||||
INSERT INTO MNP_DBP2DBCFX (
|
||||
ID_RICHIESTA, MSISDN, CODICE_OPERATORE_RECIPIENT,
|
||||
ROUTING_NUMBER, DATA_CUT_OVER, DATA_ESTRAZIONE,
|
||||
FLAG_LAVORATO)
|
||||
VALUES ( rigaLetta.ID_RICHIESTA
|
||||
,rigaLetta.MSISDN
|
||||
,rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,rigaLetta.ROUTING_NUMBER
|
||||
,rigaLetta.DATA_CUT_OVER
|
||||
,rigaLetta.DATA_ESTRAZIONE
|
||||
,rigaLetta.FLAG_LAVORATO
|
||||
);
|
||||
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
|
||||
BEGIN
|
||||
SELECT DATA_CUT_OVER
|
||||
INTO oldDataCutOver
|
||||
FROM MNP_DBP2DBCFX
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
|
||||
IF rigaLetta.DATA_CUT_OVER >= oldDataCutOver THEN
|
||||
UPDATE MNP_DBP2DBCFX
|
||||
SET ID_RICHIESTA=rigaLetta.ID_RICHIESTA
|
||||
,CODICE_OPERATORE_RECIPIENT = rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,ROUTING_NUMBER = rigaLetta.ROUTING_NUMBER
|
||||
,DATA_CUT_OVER = rigaLetta.DATA_CUT_OVER
|
||||
,DATA_ESTRAZIONE = rigaLetta.DATA_ESTRAZIONE
|
||||
,FLAG_LAVORATO = rigaLetta.FLAG_LAVORATO
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
return;
|
||||
|
||||
END estr_RICHIESTA_REC;
|
||||
|
||||
-- PROCESSO PORTING TERZE PARTI
|
||||
procedure estr_RICHIESTA_PORTING(data_inizio IN DATE, data_fine IN DATE) IS
|
||||
oldDataCutOver date ;
|
||||
|
||||
CURSOR SEL_RICHIESTA IS
|
||||
SELECT mgr.id_richiesta AS id_richiesta, NVL (mgr.msisdn, '') AS msisdn,
|
||||
mgr.codice_operatore_recipient AS codice_operatore_recipient,
|
||||
(SELECT A.ROUTING_NUMBER FROM MNP_OLO A WHERE A.DESC_OLO=MGR.CODICE_OPERATORE_RECIPIENT) AS ROUTING_NUMBER,
|
||||
mgr.data_cut_over AS data_cut_over, SYSDATE AS data_estrazione,
|
||||
0 AS flag_lavorato
|
||||
FROM mnp_gestione_richiesta_porting mgr
|
||||
where mgr.data_cut_over BETWEEN data_inizio AND data_fine;
|
||||
|
||||
BEGIN
|
||||
|
||||
FOR rigaLetta IN SEL_RICHIESTA LOOP
|
||||
BEGIN
|
||||
INSERT INTO MNP_DBP2DBCFX (
|
||||
ID_RICHIESTA, MSISDN, CODICE_OPERATORE_RECIPIENT,
|
||||
ROUTING_NUMBER, DATA_CUT_OVER, DATA_ESTRAZIONE,
|
||||
FLAG_LAVORATO)
|
||||
VALUES ( rigaLetta.ID_RICHIESTA
|
||||
,rigaLetta.MSISDN
|
||||
,rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,rigaLetta.ROUTING_NUMBER
|
||||
,rigaLetta.DATA_CUT_OVER
|
||||
,rigaLetta.DATA_ESTRAZIONE
|
||||
,rigaLetta.FLAG_LAVORATO
|
||||
);
|
||||
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
|
||||
BEGIN
|
||||
SELECT DATA_CUT_OVER
|
||||
INTO oldDataCutOver
|
||||
FROM MNP_DBP2DBCFX
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
|
||||
IF rigaLetta.DATA_CUT_OVER >= oldDataCutOver THEN
|
||||
UPDATE MNP_DBP2DBCFX
|
||||
SET ID_RICHIESTA=rigaLetta.ID_RICHIESTA
|
||||
,CODICE_OPERATORE_RECIPIENT = rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,ROUTING_NUMBER = rigaLetta.ROUTING_NUMBER
|
||||
,DATA_CUT_OVER = rigaLetta.DATA_CUT_OVER
|
||||
,DATA_ESTRAZIONE = rigaLetta.DATA_ESTRAZIONE
|
||||
,FLAG_LAVORATO = rigaLetta.FLAG_LAVORATO
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
return;
|
||||
|
||||
END estr_RICHIESTA_PORTING;
|
||||
|
||||
-- PROCESSO CESSAZIONI PORTING
|
||||
procedure estr_RICH_CESS_PORT(data_inizio IN DATE, data_fine IN DATE) IS
|
||||
oldDataCutOver date ;
|
||||
|
||||
CURSOR SEL_RICHIESTA IS
|
||||
SELECT mgr.id_richiesta AS id_richiesta, NVL (mgr.msisdn, '') AS msisdn,
|
||||
o.desc_olo AS codice_operatore_recipient,
|
||||
o.ROUTING_NUMBER AS routing_number,
|
||||
mgr.data_cut_over AS data_cut_over, SYSDATE AS data_estrazione,
|
||||
0 AS flag_lavorato
|
||||
FROM mnp_gestione_rich_CESS_PORT mgr, mnp_olo o
|
||||
where mgr.data_cut_over BETWEEN data_inizio AND data_fine
|
||||
AND (mgr.STATO='4' OR
|
||||
(mgr.stato='2' AND NOT EXISTS (SELECT 1 FROM MNP_OLO MO, MNP_OLO_PREFISSI MOP
|
||||
WHERE MO.DESC_OLO IN('TIMT','TIMG')
|
||||
AND MOP.COD_OLO=MO.COD_OLO
|
||||
AND ( MOP.PREFIX=substr(mgr.MSISDN,3,3) OR MOP.PREFIX=substr(mgr.MSISDN,3,4) )
|
||||
) )
|
||||
)
|
||||
AND o.DESC_OLO=mgr.CODICE_OPERATORE_RECIPIENT;
|
||||
|
||||
BEGIN
|
||||
|
||||
FOR rigaLetta IN SEL_RICHIESTA LOOP
|
||||
BEGIN
|
||||
INSERT INTO MNP_DBP2DBCFX (
|
||||
ID_RICHIESTA, MSISDN, CODICE_OPERATORE_RECIPIENT,
|
||||
ROUTING_NUMBER, DATA_CUT_OVER, DATA_ESTRAZIONE,
|
||||
FLAG_LAVORATO)
|
||||
VALUES ( rigaLetta.ID_RICHIESTA
|
||||
,rigaLetta.MSISDN
|
||||
,rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,rigaLetta.ROUTING_NUMBER
|
||||
,rigaLetta.DATA_CUT_OVER
|
||||
,rigaLetta.DATA_ESTRAZIONE
|
||||
,rigaLetta.FLAG_LAVORATO
|
||||
);
|
||||
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
|
||||
BEGIN
|
||||
SELECT DATA_CUT_OVER
|
||||
INTO oldDataCutOver
|
||||
FROM MNP_DBP2DBCFX
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
|
||||
IF rigaLetta.DATA_CUT_OVER >= oldDataCutOver THEN
|
||||
UPDATE MNP_DBP2DBCFX
|
||||
SET ID_RICHIESTA=rigaLetta.ID_RICHIESTA
|
||||
,CODICE_OPERATORE_RECIPIENT = rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,ROUTING_NUMBER = rigaLetta.ROUTING_NUMBER
|
||||
,DATA_CUT_OVER = rigaLetta.DATA_CUT_OVER
|
||||
,DATA_ESTRAZIONE = rigaLetta.DATA_ESTRAZIONE
|
||||
,FLAG_LAVORATO = rigaLetta.FLAG_LAVORATO
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
return;
|
||||
END estr_RICH_CESS_PORT;
|
||||
|
||||
-- PROCESSO CESSAZIONI
|
||||
procedure estr_RICHIESTA_CESS(data_inizio IN DATE, data_fine IN DATE) IS
|
||||
oldDataCutOver date ;
|
||||
|
||||
CURSOR SEL_RICHIESTA IS
|
||||
SELECT mgr.id_richiesta AS id_richiesta, NVL (mgr.msisdn, '') AS msisdn,
|
||||
o.desc_olo AS codice_operatore_recipient,
|
||||
o.ROUTING_NUMBER AS routing_number,
|
||||
mgr.data_cut_over AS data_cut_over, SYSDATE AS data_estrazione,
|
||||
0 AS flag_lavorato
|
||||
FROM mnp_gestione_richiesta_CESS mgr, mnp_olo o , MNP_OLO_PREFISSI MOP, mnp_olo mo
|
||||
where mgr.data_cut_over BETWEEN data_inizio AND data_fine
|
||||
AND o.DESC_OLO=mgr.CODICE_OPERATORE_RECIPIENT
|
||||
and ( MOP.PREFIX=substr(mgr.MSISDN,3,3) OR MOP.PREFIX=substr(mgr.MSISDN,3,4) )
|
||||
and mo.COD_OLO=mop.cod_olo;
|
||||
|
||||
BEGIN
|
||||
|
||||
FOR rigaLetta IN SEL_RICHIESTA LOOP
|
||||
BEGIN
|
||||
INSERT INTO MNP_DBP2DBCFX (
|
||||
ID_RICHIESTA, MSISDN, CODICE_OPERATORE_RECIPIENT,
|
||||
ROUTING_NUMBER, DATA_CUT_OVER, DATA_ESTRAZIONE,
|
||||
FLAG_LAVORATO)
|
||||
VALUES ( rigaLetta.ID_RICHIESTA
|
||||
,rigaLetta.MSISDN
|
||||
,rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,rigaLetta.ROUTING_NUMBER
|
||||
,rigaLetta.DATA_CUT_OVER
|
||||
,rigaLetta.DATA_ESTRAZIONE
|
||||
,rigaLetta.FLAG_LAVORATO
|
||||
);
|
||||
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
|
||||
BEGIN
|
||||
SELECT DATA_CUT_OVER
|
||||
INTO oldDataCutOver
|
||||
FROM MNP_DBP2DBCFX
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
|
||||
IF rigaLetta.DATA_CUT_OVER >= oldDataCutOver THEN
|
||||
UPDATE MNP_DBP2DBCFX
|
||||
SET ID_RICHIESTA=rigaLetta.ID_RICHIESTA
|
||||
,CODICE_OPERATORE_RECIPIENT = rigaLetta.CODICE_OPERATORE_RECIPIENT
|
||||
,ROUTING_NUMBER = rigaLetta.ROUTING_NUMBER
|
||||
,DATA_CUT_OVER = rigaLetta.DATA_CUT_OVER
|
||||
,DATA_ESTRAZIONE = rigaLetta.DATA_ESTRAZIONE
|
||||
,FLAG_LAVORATO = rigaLetta.FLAG_LAVORATO
|
||||
WHERE MSISDN = rigaLetta.MSISDN;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
return;
|
||||
|
||||
END estr_RICHIESTA_CESS;
|
||||
|
||||
END PKG_DBP;
|
||||
/
|
||||
|
||||
3
dbcmnpsrc/FE/mnpapp/script/DB_Portati/sql/updMnpOlo.sql
Normal file
3
dbcmnpsrc/FE/mnpapp/script/DB_Portati/sql/updMnpOlo.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
UPDATE MNP_OLO
|
||||
SET ROUTING_NUMBER='362' WHERE DESC_OLO='TIMG';
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user