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; /