74 lines
3.4 KiB
SQL
74 lines
3.4 KiB
SQL
-- TABELLA TEMPORANEA PER INFASAMENTO FLUSSO DA PCCOM
|
|
CREATE TABLE MNP.MNP_PCCOM_VARIAZIONI (
|
|
NUM_TEL VARCHAR2(15),
|
|
DATA_ATTIVAZIONE DATE,
|
|
DATA_CESSAZIONE DATE,
|
|
RECIPIENT_NEW VARCHAR2(4),
|
|
DATA_CESSAZIONE_DEF DATE,
|
|
LAVORATO CHAR(1)
|
|
)
|
|
TABLESPACE TAB_SMALL;
|
|
|
|
ALTER TABLE MNP.MNP_PCCOM_VARIAZIONI add constraint PK_MNP_PCCOM_VARIAZIONI primary key (NUM_TEL)
|
|
using index tablespace TAB_IDX_SMALL;
|
|
|
|
|
|
-- FUNZIONE PER IL RECUPERO INFORMAZIONI FLUSSO PCCOM
|
|
CREATE OR REPLACE function MNP.F_TROVA_ULTIMO_PROC_PCCOM(
|
|
p_msisdn varchar2,
|
|
p_id_richiesta out varchar2,
|
|
p_data out date,
|
|
p_data_cessazione_def out date,
|
|
p_processo out varchar2,
|
|
p_operatore_rec_rete out varchar2
|
|
)
|
|
return number is
|
|
|
|
v_result number;
|
|
|
|
begin
|
|
|
|
with t_richieste as(
|
|
select id_richiesta, dataricezionerichiesta as data, null, 'D' as processo, codice_operatore_recipient operatore from mnp_gestione_richiesta where msisdn= p_msisdn and stato=16
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null, 'D' as processo, codice_operatore_recipient operatore from hist_gestione_richiesta where msisdn= p_msisdn and stato=16
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null,'R' as processo, codice_operatore_recipient operatore from mnp_gestione_richiesta_rec where msisdn= p_msisdn and stato=12
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null,'R' as processo, codice_operatore_recipient operatore from hist_gestione_richiesta_rec where msisdn= p_msisdn and stato=12
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null,'V' as processo, 'TIMG' operatore from mnp_gest_rich_donor_virt where msisdn= p_msisdn and stato=11
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null,'V' as processo, 'TIMG' operatore from hist_gest_rich_donor_virt where msisdn= p_msisdn and stato=11
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null,'W' as processo, 'TIMG' operatore from mnp_gest_rich_rec_virt where msisdn= p_msisdn and stato=12
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null,'W' as processo, 'TIMG' operatore from hist_gest_rich_rec_virt where msisdn= p_msisdn and stato=12
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null,'P' as processo, codice_operatore_recipient operatore from mnp_gestione_richiesta_porting where msisdn= p_msisdn and stato=6
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, null,'P' as processo, codice_operatore_recipient operatore from hist_gestione_richiestaporting where msisdn= p_msisdn and stato=6
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, data_cut_over as data_cessazione,'C' as processo, codice_operatore_recipient operatore from mnp_gestione_richiesta_cess where msisdn= p_msisdn and stato=3
|
|
union
|
|
select id_richiesta, dataricezionerichiesta as data, data_cut_over as data_cessazione,'K' as processo, codice_operatore_recipient operatore from mnp_gestione_rich_cess_port where msisdn= p_msisdn and stato=2
|
|
)
|
|
SELECT *
|
|
into p_id_richiesta, p_data, p_data_cessazione_def, p_processo, p_operatore_rec_rete
|
|
from t_richieste
|
|
WHERE DATA = (
|
|
SELECT MAX(DATA) FROM T_RICHIESTE
|
|
)
|
|
and rownum < 2;
|
|
|
|
v_result := 0;
|
|
|
|
return v_result;
|
|
|
|
exception when others then
|
|
|
|
v_result := 1;
|
|
return v_result;
|
|
|
|
end F_TROVA_ULTIMO_PROC_PCCOM;
|
|
/ |