Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpapp/script/procedure/dwh/CARICAMENTO_REPORT_TCR.sql
2024-05-13 12:54:14 +02:00

181 lines
9.2 KiB
SQL

create or replace procedure CARICAMENTO_REPORT_TCR(P_DATA DATE) is
begin
-- cancellazione del pregresso
BEGIN
DELETE MNP_DW_REPORT_TCR
WHERE data_di_riferimento < ADD_MONTHS(sysdate,-13);
--
COMMIT;
DBMS_OUTPUT.put_line('CANCELLAZIONE DEL PREGRESSO (DATI PIU'' VECCHI DI 13 MESI) '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.put_line('ERRORE IN CANCELLAZIONE DEL PREGRESSO '|| SQLERRM
|| ' '|| TO_CHAR(SYSDATE,'DD/MM/YYYY'));
END;
BEGIN
DBMS_OUTPUT.put_line('INIZIO CARICAMENTO TCR AMBITO RECIPIENT '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
-- CARICAMENTO DATI AMBITO RECIPIENT
INSERT INTO MNP_DW_REPORT_TCR (id_richiesta, blocco, data_di_riferimento, data_dco_eff, tcr1, tcr2,
msisdn, codice_pre_post_pagato, codice_operatore_don_eff, codice_operatore_rec_eff)
SELECT R.ID_RICHIESTA, 0 BLOCCO, SRTC.DATA_NOTIFICA_RECIPIENT, R.DATA_CUT_OVER_EFF,RTC.CREDITO, RTC.CREDITO,
R.MSISDN, R.CODICE_PRE_POST_PAGATO, R.CODICE_OPERATORE_DON_EFF, R.CODICE_OPERATORE_REC_EFF
FROM MNP.MNP_GESTIONE_RICHIESTA_REC R, MNP.MNP_GEST_RICH_REC_TC RTC, MNP.MNP_STOR_RICH_REC_TC SRTC
WHERE R.ID_RICHIESTA = RTC.ID_RICHIESTA
AND RTC.ID_RICHIESTA = SRTC.ID_RICHIESTA
AND R.CODICE_OPERATORE_REC_EFF = 'TIMG'
AND SRTC.STATO_DA = -1 --PASSAGGIO DI STATO DELLE RICHIESTE SENZA BLOCCO
AND SRTC.STATO_A = 7 --
AND SRTC.DATA_LAVORAZIONE = TRUNC(P_DATA)
UNION
SELECT R.ID_RICHIESTA, 1 BLOCCO, SRTC.DATA_NOTIFICA_RECIPIENT, R.DATA_CUT_OVER_EFF, RTC.CREDITO, RTC.CREDITO,
R.MSISDN, R.CODICE_PRE_POST_PAGATO, R.CODICE_OPERATORE_DON_EFF, R.CODICE_OPERATORE_REC_EFF
FROM MNP.MNP_GESTIONE_RICHIESTA_REC R, MNP.MNP_GEST_RICH_REC_TC RTC, MNP.MNP_STOR_RICH_REC_TC SRTC
WHERE R.ID_RICHIESTA = RTC.ID_RICHIESTA
AND RTC.ID_RICHIESTA = SRTC.ID_RICHIESTA
AND R.CODICE_OPERATORE_REC_EFF = 'TIMG'
AND SRTC.STATO_DA = 2 -- PASSAGGIO DI STATO DELLE RICHIESTE CON BLOCCO IMPORTO
AND SRTC.STATO_A = 7 --
AND SRTC.DATA_LAVORAZIONE = TRUNC(P_DATA)
UNION
SELECT R.ID_RICHIESTA, 2 BLOCCO, SRTC.DATA_NOTIFICA_RECIPIENT, R.DATA_CUT_OVER_EFF, RTC.CREDITO, RTC.CREDITO,
R.MSISDN, R.CODICE_PRE_POST_PAGATO, R.CODICE_OPERATORE_DON_EFF, R.CODICE_OPERATORE_REC_EFF
FROM MNP.MNP_GESTIONE_RICHIESTA_REC R, MNP.MNP_GEST_RICH_REC_TC RTC, MNP.MNP_STOR_RICH_REC_TC SRTC
WHERE R.ID_RICHIESTA = RTC.ID_RICHIESTA
AND RTC.ID_RICHIESTA = SRTC.ID_RICHIESTA
AND R.CODICE_OPERATORE_REC_EFF = 'TIMG'
AND SRTC.STATO_DA = 3 -- PASSAGGIO DI STATO DELLE RICHIESTE CON VERIFICA CREDITO ANOMALO
AND SRTC.STATO_A = 7 --
AND SRTC.DATA_LAVORAZIONE = TRUNC(P_DATA);
--
--
COMMIT;
--
DBMS_OUTPUT.put_line('FINE CARICAMENTO TCR AMBITO RECIPIENT '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.put_line('ERRORE CARICAMENTO TCR AMBITO RECIPIENT '|| SQLERRM
|| ' '|| TO_CHAR(SYSDATE,'DD/MM/YYYY'));
END;
BEGIN
-- CARICAMENTO DATI AMBITO DONOR
DBMS_OUTPUT.put_line('INIZIO CARICAMENTO TCR AMBITO DONOR '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
--
INSERT INTO MNP_DW_REPORT_TCR (id_richiesta, blocco, data_di_riferimento, data_dco_eff, tcr1, tcr2,
msisdn, codice_pre_post_pagato, codice_operatore_don_eff, codice_operatore_rec_eff)
SELECT D.ID_RICHIESTA, 0 BLOCCO, SDTC.DATA_NOTIFICA_RECIPIENT, D.DATA_CUT_OVER_EFF, DTC.CREDITO, DTC.CREDITO,
D.MSISDN, D.CODICE_PRE_POST_PAGATO, D.CODICE_OPERATORE_DON_EFF, D.CODICE_OPERATORE_REC_EFF
FROM MNP.MNP_GESTIONE_RICHIESTA D, MNP.MNP_GEST_RICH_DON_TC DTC, MNP.MNP_STOR_RICH_DON_TC SDTC
WHERE D.ID_RICHIESTA = DTC.ID_RICHIESTA
AND DTC.ID_RICHIESTA = SDTC.ID_RICHIESTA
AND D.CODICE_OPERATORE_DON_EFF = 'TIMG'
AND SDTC.STATO_DA = 1 -- PASSAGGIO DI STATO DELLE RICHIESTE SENZA BLOCCO
AND SDTC.STATO_A = 7 --
AND SDTC.DATA_LAVORAZIONE = TRUNC(P_DATA)
UNION
SELECT D.ID_RICHIESTA, 1 BLOCCO, SDTC.DATA_NOTIFICA_RECIPIENT, D.DATA_CUT_OVER_EFF, DTC.CREDITO, DTC.CREDITO,
D.MSISDN, D.CODICE_PRE_POST_PAGATO, D.CODICE_OPERATORE_DON_EFF, D.CODICE_OPERATORE_REC_EFF
FROM MNP.MNP_GESTIONE_RICHIESTA D, MNP.MNP_GEST_RICH_DON_TC DTC, MNP.MNP_STOR_RICH_DON_TC SDTC
WHERE D.ID_RICHIESTA = DTC.ID_RICHIESTA
AND DTC.ID_RICHIESTA = SDTC.ID_RICHIESTA
AND D.CODICE_OPERATORE_DON_EFF = 'TIMG'
AND SDTC.STATO_DA = 4 -- PASSAGGIO DI STATO DELLE RICHIESTE CON BLOCCO IMPORTO
AND SDTC.STATO_A = 7 --
AND SDTC.DATA_LAVORAZIONE = TRUNC(P_DATA);
--
COMMIT;
--
DBMS_OUTPUT.put_line('FINE CARICAMENTO TCR AMBITO DONOR '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
--
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.put_line('ERRORE CARICAMENTO TCR AMBITO DONOR '|| SQLERRM
|| ' '|| TO_CHAR(SYSDATE,'DD/MM/YYYY'));
END;
--
--
BEGIN
DBMS_OUTPUT.put_line('INIZIO CARICAMENTO TCR AMBITO RECIPIENT VIRTULAE '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
-- CARICAMENTO DATI AMBITO RECIPIENT VIRTULAE
INSERT INTO MNP_DW_REPORT_TCR (id_richiesta, blocco, data_di_riferimento, data_dco_eff, tcr1, tcr2,
msisdn, codice_pre_post_pagato, codice_operatore_don_eff, codice_operatore_rec_eff)
SELECT RV.ID_RICHIESTA, 0 BLOCCO, SRVTC.DATA_NOTIFICA_RECIPIENT, RV.DATA_CUT_OVER_EFF,RVTC.CREDITO, RVTC.CREDITO,
RV.MSISDN, RV.CODICE_PRE_POST_PAGATO, RV.CODICE_OPERATORE_DONATING, RV.CODICE_OPERATORE_RECIPIENT
FROM MNP.MNP_GEST_RICH_REC_VIRT RV, MNP.MNP_GEST_RICH_REC_VIRT_TC RVTC, MNP.MNP_STOR_RICH_REC_VIRT_TC SRVTC
WHERE RV.ID_RICHIESTA = RVTC.ID_RICHIESTA
AND RVTC.ID_RICHIESTA = SRVTC.ID_RICHIESTA
AND SRVTC.STATO_DA = 1 --PASSAGGIO DI STATO DELLE RICHIESTE SENZA BLOCCO
AND SRVTC.STATO_A = 7 --
AND SRVTC.DATA_LAVORAZIONE = TRUNC(P_DATA)
UNION
SELECT RV.ID_RICHIESTA, 1 BLOCCO, SRVTC.DATA_NOTIFICA_RECIPIENT, RV.DATA_CUT_OVER_EFF, RVTC.CREDITO, RVTC.CREDITO,
RV.MSISDN, RV.CODICE_PRE_POST_PAGATO, RV.CODICE_OPERATORE_DONATING, RV.CODICE_OPERATORE_RECIPIENT
FROM MNP.MNP_GEST_RICH_REC_VIRT RV, MNP.MNP_GEST_RICH_REC_VIRT_TC RVTC, MNP.MNP_STOR_RICH_REC_VIRT_TC SRVTC
WHERE RV.ID_RICHIESTA = RVTC.ID_RICHIESTA
AND RVTC.ID_RICHIESTA = SRVTC.ID_RICHIESTA
AND SRVTC.STATO_DA = 4 -- PASSAGGIO DI STATO DELLE RICHIESTE CON BLOCCO IMPORTO
AND SRVTC.STATO_A = 7 --
AND SRVTC.DATA_LAVORAZIONE = TRUNC(P_DATA);
--
--
COMMIT;
--
DBMS_OUTPUT.put_line('FINE CARICAMENTO TCR AMBITO RECIPIENT VIRTULAE '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.put_line('ERRORE CARICAMENTO TCR AMBITO RECIPIENT VIRTULAE '|| SQLERRM
|| ' '|| TO_CHAR(SYSDATE,'DD/MM/YYYY'));
END;
BEGIN
-- CARICAMENTO DATI AMBITO DONOR VIRTUALE
DBMS_OUTPUT.put_line('INIZIO CARICAMENTO TCR AMBITO DONOR VIRTUALE '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
--
INSERT INTO MNP_DW_REPORT_TCR (id_richiesta, blocco, data_di_riferimento, data_dco_eff, tcr1, tcr2,
msisdn, codice_pre_post_pagato, codice_operatore_don_eff, codice_operatore_rec_eff)
SELECT DV.ID_RICHIESTA, 0 BLOCCO, SDVTC.DATA_NOTIFICA_RECIPIENT, DV.DATA_CUT_OVER_EFF, DVTC.CREDITO, DVTC.CREDITO,
DV.MSISDN, DV.CODICE_PRE_POST_PAGATO, DV.CODICE_OPERATORE_DONATING, DV.CODICE_OPERATORE_RECIPIENT
FROM MNP.MNP_GEST_RICH_DONOR_VIRT DV, MNP.MNP_GEST_RICH_DON_VIRT_TC DVTC, MNP.MNP_STOR_RICH_DON_VIRT_TC SDVTC
WHERE DV.ID_RICHIESTA = DVTC.ID_RICHIESTA
AND DVTC.ID_RICHIESTA = SDVTC.ID_RICHIESTA
AND SDVTC.STATO_DA = 6 -- PASSAGGIO DI STATO DELLE RICHIESTE SENZA BLOCCO
AND SDVTC.STATO_A = 7 --
AND SDVTC.DATA_LAVORAZIONE = TRUNC(P_DATA)
UNION
SELECT DV.ID_RICHIESTA, 1 BLOCCO, SDVTC.DATA_NOTIFICA_RECIPIENT, DV.DATA_CUT_OVER_EFF, DVTC.CREDITO, DVTC.CREDITO,
DV.MSISDN, DV.CODICE_PRE_POST_PAGATO, DV.CODICE_OPERATORE_DONATING, DV.CODICE_OPERATORE_RECIPIENT
FROM MNP.MNP_GEST_RICH_DONOR_VIRT DV, MNP.MNP_GEST_RICH_DON_VIRT_TC DVTC, MNP.MNP_STOR_RICH_DON_VIRT_TC SDVTC
WHERE DV.ID_RICHIESTA = DVTC.ID_RICHIESTA
AND DVTC.ID_RICHIESTA = SDVTC.ID_RICHIESTA
AND SDVTC.STATO_DA = 2 -- PASSAGGIO DI STATO DELLE RICHIESTE CON BLOCCO IMPORTO
AND SDVTC.STATO_A = 6 --
AND SDVTC.DATA_LAVORAZIONE = TRUNC(P_DATA)
UNION
SELECT DV.ID_RICHIESTA, 2 BLOCCO, SDVTC.DATA_NOTIFICA_RECIPIENT, DV.DATA_CUT_OVER_EFF, DVTC.CREDITO, DVTC.CREDITO,
DV.MSISDN, DV.CODICE_PRE_POST_PAGATO, DV.CODICE_OPERATORE_DONATING, DV.CODICE_OPERATORE_RECIPIENT
FROM MNP.MNP_GEST_RICH_DONOR_VIRT DV, MNP.MNP_GEST_RICH_DON_VIRT_TC DVTC, MNP.MNP_STOR_RICH_DON_VIRT_TC SDVTC
WHERE DV.ID_RICHIESTA = DVTC.ID_RICHIESTA
AND DVTC.ID_RICHIESTA = SDVTC.ID_RICHIESTA
AND SDVTC.STATO_DA = 3 -- PASSAGGIO DI STATO DELLE RICHIESTE CON VERIFICA CREDITO ANOMALO
AND SDVTC.STATO_A = 6 --
AND SDVTC.DATA_LAVORAZIONE = TRUNC(P_DATA);
--
COMMIT;
--
DBMS_OUTPUT.put_line('FINE CARICAMENTO TCR AMBITO DONOR VIRTUALE '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
--
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.put_line('ERRORE CARICAMENTO TCR AMBITO DONOR VIRTUALE '|| SQLERRM
|| ' '|| TO_CHAR(SYSDATE,'DD/MM/YYYY'));
END;
--
DBMS_OUTPUT.put_line('CARICAMENTO REPORT TCR TERMINATO '||TO_CHAR(SYSDATE,'DD/MM/YYYY'));
--
end CARICAMENTO_REPORT_TCR;
/