1282 lines
43 KiB
SQL
1282 lines
43 KiB
SQL
create or replace package pkg_storicizzazione is
|
||
|
||
-- Author : ALGHISIL
|
||
-- Created : 16/04/2012 10.21.08
|
||
-- Purpose :
|
||
|
||
-- procedura per lo svecchiamento con data calcolata
|
||
-- in automantica tramite sysdate
|
||
PROCEDURE P_MAIN_STORICIZZAZIONE;
|
||
|
||
-- procedura per lo svecchiamento con data in ingresso
|
||
PROCEDURE P_MAIN_STORICIZZAZIONE(P_DATA DATE);
|
||
|
||
|
||
end pkg_storicizzazione;
|
||
/
|
||
create or replace package body pkg_storicizzazione is
|
||
|
||
path_file_log varchar2(10) := 'LOG_PART';
|
||
|
||
|
||
PROCEDURE P_SVECCHIA_DONOR_E_RECVIRT (P_DATA date, p_puntatore_file_log UTL_FILE.FILE_TYPE) is
|
||
|
||
|
||
BEGIN
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Inizio Procedura di storicizzazione processo DONOR e RECIPIENT VIRTUALE');
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Caricamento tabella temporanea delle Richieste DONOR da CANCELLARE');
|
||
-- Caricamento tabella temporanea delle richieste DONOR da storicizzare
|
||
EXECUTE IMMEDIATE 'TRUNCATE TABLE HIST_SVECCHIA_DONOR';
|
||
|
||
INSERT /* +APPEND */ INTO HIST_SVECCHIA_DONOR
|
||
SELECT ID_RICHIESTA
|
||
FROM MNP_GESTIONE_RICHIESTA RD, MNP_STATO S
|
||
WHERE RD.DATARICEZIONERICHIESTA < P_DATA
|
||
AND RD.STATO = S.ID_STATO
|
||
AND S.FINALE = 1
|
||
AND RD.ID_RICHIESTA NOT IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_GEST_RICH_DON_TC GRD_TC, MNP_STATO_DON_TC STC
|
||
WHERE GRD_TC.STATO = STC.ID_STATO
|
||
AND STC.FINALE <> 1);
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Caricamento tabella temporanea delle Richieste RECIPIENT VIRTUALE da CANCELLARE');
|
||
-- Caricamento tabella temporanea delle richieste RECIPIENT VIRTUALE da storicizzare
|
||
EXECUTE IMMEDIATE 'TRUNCATE TABLE HIST_SVECCHIA_RECVIRT';
|
||
|
||
INSERT /* +APPEND */ INTO HIST_SVECCHIA_RECVIRT
|
||
SELECT ID_RICHIESTA
|
||
FROM MNP_GEST_RICH_REC_VIRT RRV, MNP_STATO_REC_VIRT S
|
||
WHERE RRV.DATARICEZIONERICHIESTA < P_DATA
|
||
AND RRV.STATO = S.ID_STATO
|
||
AND S.FINALE = 1
|
||
AND RRV.ID_RICHIESTA NOT IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_GEST_RICH_REC_VIRT_TC GRRV_TC, MNP_STATO_REC_VIRT_TC STC
|
||
WHERE GRRV_TC.STATO = STC.ID_STATO
|
||
AND STC.FINALE <> 1);
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Spostamento delle richieste nelle tabelle di storico');
|
||
--
|
||
-- SPOSTAMENTO DELLE RICHIESTE DONOR NELLA TABELLA DI STORICO
|
||
INSERT /* +APPEND */ INTO HIST_GESTIONE_RICHIESTA
|
||
SELECT R.*
|
||
FROM MNP_GESTIONE_RICHIESTA R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
|
||
-- SPOSTAMENTO DELLE RICHIESTE RECIPIENT VIRTUALE NELLA TABELLA DI STORICO
|
||
INSERT /* +APPEND */ INTO HIST_GEST_RICH_REC_VIRT
|
||
SELECT R.*
|
||
FROM MNP_GEST_RICH_REC_VIRT R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
|
||
-- GESTIONE DEL TRASFERIMENTO CREDITO PER IL DONOR
|
||
INSERT /* +APPEND */ INTO HIST_GEST_RICH_DON_TC
|
||
SELECT R.*
|
||
FROM MNP_GEST_RICH_DON_TC R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
|
||
-- GESTIONE DEL TRASFERIMENTO CREDITO PER IL RECIPIENT VIRTUALE
|
||
INSERT /* +APPEND */ INTO HIST_GEST_RICH_REC_VIRT_TC
|
||
SELECT R.*
|
||
FROM MNP_GEST_RICH_REC_VIRT_TC R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
--
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Cancellazione dati dalle tabelle di frontiera');
|
||
--
|
||
-- CANCELLAZIONE DEI DATI DALLE TABELLE DI FRONTIERA/INTEGRAZIONE
|
||
DELETE /*+ index(MNP_ASP_CRM_CESSAZIONE_OUT IDX_ASP_CRM_CESSAZIONE_OUT_2)*/
|
||
MNP_ASP_CRM_CESSAZIONE_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_ASP_CRM_CESS_OUT_GISP
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_BIT_NOTIFICA_DONOR_OUT
|
||
WHERE ID_RICHIESTA_AOM IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_CCRM_NOTIFICA_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE /*+ index(MNP_CIRCE_OUT IDX_MNP_CIRCE_OUT_NEW1) */
|
||
MNP_CIRCE_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_DBCFX_DPP_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_DBCGO_NOTIFICA_DONOR_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_DBCGO_NOTIFICA_DON_TC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_DBCGO_NOT_REC_VIRT_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_DBCGO_NOT_REC_VIRT_TC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_FMSRISK_CESSAZIONE_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_GESTIONE_RICHIESTA_EXT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_GEST_RICH_DON_TC_EXT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_GINO_RETRIEVE_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_GISP_ATT_CESS_IN
|
||
WHERE CODICE_RIPROPOSIZIONE IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_GISP_ATT_OUT
|
||
WHERE TID IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_GISP_CESS_OUT
|
||
WHERE TID IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_GISP_CESS_OUT_DON_ABB
|
||
WHERE TID IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_GISP_CESS_OUT_DON_PP
|
||
WHERE TID IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_GISP_NOTIFICA_IN
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_GISP_RETRIEVE_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE /*+ index(MNP_MSS_CESSAZIONE_IN IDX_MNP_MSS_CESSAZIONE_IN_1) */
|
||
MNP_MSS_CESSAZIONE_IN
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_MVNO_DETT_NOT_SLA_DON_OUT
|
||
WHERE ID_NOTIFICA IN
|
||
( SELECT UNIQUE_ID
|
||
FROM MNP_MVNO_NOT_SLA_DON_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT
|
||
)
|
||
);
|
||
--
|
||
DELETE MNP_MVNO_DETT_NOT_SLA_REC_OUT
|
||
WHERE ID_NOTIFICA IN
|
||
( SELECT UNIQUE_ID
|
||
FROM MNP_MVNO_NOT_SLA_REC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT)
|
||
);
|
||
--
|
||
DELETE MNP_MVNO_NOTIFICA_DON_OUT
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_MVNO_NOTIFICA_REC_OUT
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_MVNO_NOT_SLA_DON_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_MVNO_NOT_SLA_REC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_MVNO_PORTING_IN
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_MVNO_TC_IN
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_MVNO_UPDATE_DCO_IN
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_MVNO_VALIDAZ_IN
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_SBLOCCO_RICHIESTE
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_SMS_L1
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_SMS_L1V
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE /*+ index(MNP_STORICO_RICHIESTA IDX_MNP_STORICO_RICHIESTA_1) */
|
||
MNP_STORICO_RICHIESTA
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_STORICO_RICH_REC_VIRT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_STOR_RICH_DON_TC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_STOR_RICH_REC_VIRT_TC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
DELETE MNP_BLOCCO_RICHIESTE
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR);
|
||
--
|
||
DELETE MNP_BIT_TC_DONOR_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT);
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati dalle tabelle di frontiera');
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Cancellazione dati dalle tabelle principali');
|
||
|
||
-- CANCELLAZIONE DELLE TABELLE MASTER
|
||
DELETE FROM MNP_GEST_RICH_DON_TC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
DELETE FROM MNP_GEST_RICH_REC_VIRT_TC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
DELETE FROM MNP_GESTIONE_RICHIESTA
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONOR)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
DELETE FROM MNP_GEST_RICH_REC_VIRT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECVIRT)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
COMMIT;
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati dalle tabelle principali');
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati processo DONOR e RECIPIENT VIRTUALE');
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' ERRORE NELLA STORICIZZAZIONE DONOR RECIPIENT VIRTUALE '||SQLERRM);
|
||
ROLLBACK;
|
||
|
||
END P_SVECCHIA_DONOR_E_RECVIRT;
|
||
-- ####################### --
|
||
--
|
||
|
||
--
|
||
-- ####################### --
|
||
PROCEDURE P_SVECCHIA_RECIPIENT_E_DONVIRT(P_DATA DATE, p_puntatore_file_log UTL_FILE.FILE_TYPE) IS
|
||
|
||
|
||
|
||
BEGIN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Inizio Procedura di storicizzazione processo RECIPIENT E DONOR VIRTUALE');
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Caricamento tabella temporanea delle Richieste RECIPIENT da CANCELLARE');
|
||
-- Caricamento tabella temporanea delle richieste DONOR da storicizzare
|
||
EXECUTE IMMEDIATE 'TRUNCATE TABLE HIST_SVECCHIA_RECIPIENT';
|
||
|
||
INSERT /* +APPEND */ INTO HIST_SVECCHIA_RECIPIENT
|
||
SELECT ID_RICHIESTA
|
||
FROM MNP_GESTIONE_RICHIESTA_REC RR, MNP_STATO_REC S
|
||
WHERE RR.DATARICEZIONERICHIESTA < P_DATA
|
||
AND RR.STATO = S.ID_STATO
|
||
AND S.FINALE = 1
|
||
AND RR.ID_RICHIESTA NOT IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_GEST_RICH_REC_TC GRR_TC, MNP_STATO_REC_TC STC
|
||
WHERE GRR_TC.STATO = STC.ID_STATO
|
||
AND STC.FINALE <> 1);
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Caricamento tabella temporanea delle Richieste DONOR VIRTUALE da CANCELLARE');
|
||
-- Caricamento tabella temporanea delle richieste RECIPIENT VIRTUALE da storicizzare
|
||
EXECUTE IMMEDIATE 'TRUNCATE TABLE HIST_SVECCHIA_DONVIRT';
|
||
|
||
INSERT /* +APPEND */ INTO HIST_SVECCHIA_DONVIRT
|
||
SELECT ID_RICHIESTA
|
||
FROM MNP_GEST_RICH_DONOR_VIRT RDV, MNP_STATO_DON_VIRT S
|
||
WHERE RDV.DATARICEZIONERICHIESTA < P_DATA
|
||
AND RDV.STATO = S.ID_STATO
|
||
AND S.FINALE = 1
|
||
AND RDV.ID_RICHIESTA NOT IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_GEST_RICH_DON_VIRT_TC GRDV_TC, MNP_STATO_DON_VIRT_TC STC
|
||
WHERE GRDV_TC.STATO = STC.ID_STATO
|
||
AND STC.FINALE <> 1);
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Spostamento delle richieste nelle tabelle di storico');
|
||
--
|
||
-- SPOSTAMENTO DELLE RICHIESTE RECIPIENT NELLA TABELLA DI STORICO
|
||
INSERT /* +APPEND */ INTO HIST_GESTIONE_RICHIESTA_REC
|
||
SELECT R.*
|
||
FROM MNP_GESTIONE_RICHIESTA_REC R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
|
||
-- SPOSTAMENTO DELLE RICHIESTE DONOR VIRTUALE NELLA TABELLA DI STORICO
|
||
INSERT /* +APPEND */ INTO HIST_GEST_RICH_DONOR_VIRT
|
||
SELECT R.*
|
||
FROM MNP_GEST_RICH_DONOR_VIRT R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
|
||
-- GESTIONE DEL TRASFERIMENTO CREDITO PER IL RECIPIENT
|
||
INSERT /* +APPEND */ INTO HIST_GEST_RICH_REC_TC
|
||
SELECT R.*
|
||
FROM MNP_GEST_RICH_REC_TC R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
|
||
-- GESTIONE DEL TRASFERIMENTO CREDITO PER IL DONOR VIRTUALE
|
||
INSERT /* +APPEND */ INTO HIST_GEST_RICH_DON_VIRT_TC
|
||
SELECT R.*
|
||
FROM MNP_GEST_RICH_DON_VIRT_TC R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
--
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Cancellazione dati dalle tabelle di frontiera');
|
||
--
|
||
DELETE MNP_BIT_IN_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_BIT_OUT_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_BIT_PPBU_OUT_REC
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_CCRM_NOTIFICA_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE /*+ index(MNP_CIRCE_OUT_REC IDX_MNP_CIRCE_OUT_REC_NEW1) */
|
||
MNP_CIRCE_OUT_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_DBCFX_DPP_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_DBCGO_NOTIFICA_REC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_DBCGO_NOTIFICA_REC_TC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_DBCGO_NOT_DON_VIRT_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_DBCGO_NOT_DON_VIRT_TC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE /*+ index(MNP_GESTIONE_RICHIESTA_REC_EXT PK_MNP_GESTIONE_RICH_REC_EXT) */
|
||
MNP_GESTIONE_RICHIESTA_REC_EXT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_GEST_RICH_REC_TC_EXT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_GINO_RETRIEVE_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_GISP_ATT_OUT
|
||
WHERE TID IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_GISP_NOTIFICA_IN
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_GISP_RETRIEVE_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MSC_IN_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MSC_OUT_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MSP_END_TC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MSP_IN_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MSP_OUT_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MSP_TC_IN
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MSS_ATTIVAZIONE_IN_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_MVNO_DETT_NOT_SLA_DON_OUT
|
||
WHERE ID_NOTIFICA IN
|
||
( SELECT UNIQUE_ID FROM MNP_MVNO_NOT_SLA_DON_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT)
|
||
);
|
||
--
|
||
DELETE MNP_MVNO_DETT_NOT_SLA_REC_OUT
|
||
WHERE ID_NOTIFICA IN
|
||
( SELECT UNIQUE_ID FROM MNP_MVNO_NOT_SLA_REC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT)
|
||
);
|
||
--
|
||
DELETE MNP_MVNO_NOTIFICA_DON_OUT
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MVNO_NOTIFICA_REC_OUT
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_MVNO_NOT_SLA_DON_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MVNO_NOT_SLA_REC_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_MVNO_PORTING_IN
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_MVNO_TC_IN
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_MVNO_VALIDAZ_IN
|
||
WHERE ID_RICHIESTA_DBC IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_SEC_SMS_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT
|
||
UNION
|
||
SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_SBLOCCO_RICHIESTE
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_BLOCCO_RICHIESTE
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE /*+ index(MNP_STORICO_RICHIESTA_REC IDX_STORICO_RICHIESTA_REC_2) */
|
||
MNP_STORICO_RICHIESTA_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
DELETE MNP_STORICO_RICH_DON_VIRT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_STOR_RICH_DON_VIRT_TC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT);
|
||
--
|
||
DELETE MNP_STOR_RICH_REC_TC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT);
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati dalle tabelle di frontiera');
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Cancellazione dati dalle tabelle principali');
|
||
|
||
-- CANCELLAZIONE TABELLE MASTER
|
||
DELETE FROM MNP_GEST_RICH_REC_TC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
DELETE FROM MNP_GEST_RICH_DON_VIRT_TC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
DELETE FROM MNP_GESTIONE_RICHIESTA_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_RECIPIENT)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
DELETE FROM MNP_GEST_RICH_DONOR_VIRT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_DONVIRT)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
COMMIT;
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati dalle tabelle principali');
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati processo RECIPIENT e DONOR VIRTUALE');
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' ERRORE NELLA STORICIZZAZIONE RECIPIENT E DONOR VIRTUALE '||SQLERRM);
|
||
ROLLBACK;
|
||
|
||
END P_SVECCHIA_RECIPIENT_E_DONVIRT;
|
||
-- ####################### --
|
||
--
|
||
|
||
--
|
||
-- ####################### --
|
||
PROCEDURE P_SVECCHIA_PORTING (P_DATA DATE, p_puntatore_file_log UTL_FILE.file_type) IS
|
||
|
||
BEGIN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Inizio procedura cancellazione dati per il processo di PORTING');
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Caricamento tabella temporanea delle Richieste PORTING');
|
||
-- Caricamento tabella temporanea delle richieste PORTING da storicizzare
|
||
EXECUTE IMMEDIATE 'TRUNCATE TABLE HIST_SVECCHIA_PORTING';
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_SVECCHIA_PORTING
|
||
SELECT ID_RICHIESTA
|
||
FROM MNP_GESTIONE_RICHIESTA_PORTING RP, MNP_STATO_PORTING S
|
||
WHERE RP.DATARICEZIONERICHIESTA < P_DATA
|
||
AND RP.STATO = S.ID_STATO
|
||
AND S.FINALE = 1;
|
||
--
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Spostamento delle richieste nelle tabelle di storico');
|
||
--
|
||
-- SPOSTAMENTO DELLE RICHIESTE PORTING NELLA TABELLA DI STORICO
|
||
INSERT /* +APPEND */ INTO HIST_GESTIONE_RICHIESTAPORTING
|
||
SELECT R.*
|
||
FROM MNP_GESTIONE_RICHIESTA_PORTING R
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_PORTING);
|
||
--
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Cancellazione dati dalle tabelle di frontiera');
|
||
--
|
||
DELETE MNP_DBCFX_DPP_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_PORTING);
|
||
--
|
||
DELETE MNP_DBCGO_NOTIFICA_PORTING_OUT
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_PORTING);
|
||
--
|
||
DELETE MNP_MSS_PORTING_IN
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_PORTING);
|
||
--
|
||
DELETE /*+ index(MNP_STORICO_PORTING IDX_STORICO_PORTING_1) */
|
||
MNP_STORICO_PORTING
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_PORTING);
|
||
--
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati dalle tabelle di frontiera');
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Cancellazione dati dalle tabelle principali');
|
||
|
||
-- CANCELLAZIONE TABELLA MASTER
|
||
DELETE MNP_GESTIONE_RICHIESTA_PORTING
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA FROM HIST_SVECCHIA_PORTING)
|
||
AND DATARICEZIONERICHIESTA < P_DATA;
|
||
--
|
||
COMMIT;
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati dalle tabelle principali');
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati processo PORTING');
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' ERRORE NELLA STORICIZZAZIONE PORTING '||SQLERRM);
|
||
ROLLBACK;
|
||
|
||
END P_SVECCHIA_PORTING;
|
||
-- ####################### --
|
||
--
|
||
|
||
--
|
||
-- ####################### --
|
||
PROCEDURE P_SVECCHIA_TAB_XML (P_DATA DATE, p_puntatore_file_log UTL_FILE.file_type) IS
|
||
|
||
vb_delete boolean;
|
||
V_COUNT_RICH number;
|
||
|
||
BEGIN
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Inizio cancellazione dati per tabelle XML');
|
||
--
|
||
-- Ciclo sui file XML IN INGRESSO che potrebbero essere eliminati
|
||
FOR R_XML_IN IN
|
||
( SELECT * FROM MNP_XML_IN
|
||
WHERE DATA_EFF < P_DATA
|
||
AND TIPO_FILE IN (1,9,13,2,5,6,10,11,12,3)
|
||
)
|
||
LOOP
|
||
vb_delete := false;
|
||
IF R_XML_IN.TIPO_FILE IN (1,9,13) THEN
|
||
-- VERIFICO LE RICHIESTE CONTENUTE NEL FILE
|
||
-- PER IL PROCESSO DONOR (MNP_GESTIONE_RICHIESTA)
|
||
SELECT COUNT(*)
|
||
INTO V_COUNT_RICH
|
||
FROM MNP_GESTIONE_RICHIESTA
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_XML_RICHIESTA_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE
|
||
);
|
||
|
||
IF V_COUNT_RICH = 0 THEN
|
||
-- FILE XML POSSIBILE DA CANCELLARE
|
||
vb_delete := true;
|
||
|
||
END IF;
|
||
|
||
ELSIF R_XML_IN.TIPO_FILE IN (2,5,6,10,11,12) THEN
|
||
-- VERIFICO LE RICHIESTE CONTENUTE NEL FILE
|
||
-- PER IL PROCESSO DONOR (MNP_GESTIONE_RICHIESTA_REC)
|
||
SELECT COUNT(*)
|
||
INTO V_COUNT_RICH
|
||
FROM MNP_GESTIONE_RICHIESTA_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_XML_RICHIESTA_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE
|
||
);
|
||
|
||
IF V_COUNT_RICH = 0 THEN
|
||
-- FILE XML POSSIBILE DA CANCELLARE
|
||
vb_delete := true;
|
||
|
||
END IF;
|
||
|
||
ELSIF R_XML_IN.TIPO_FILE IN (3) THEN
|
||
-- VERIFICO LE RICHIESTE CONTENUTE NEL FILE
|
||
-- PER IL PROCESSO PORTING (MNP_GESTIONE_RICHIESTA_PORTING)
|
||
SELECT COUNT(*)
|
||
INTO V_COUNT_RICH
|
||
FROM MNP_GESTIONE_RICHIESTA_PORTING
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_XML_RICHIESTA_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE
|
||
);
|
||
|
||
IF V_COUNT_RICH = 0 THEN
|
||
-- FILE XML POSSIBILE DA CANCELLARE
|
||
vb_delete := true;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
--
|
||
-- PROCEDO ALLA STORICIZZAZIONE E CANCELLAZIONE
|
||
if vb_delete then
|
||
|
||
-- SALVO IL FILE E I RECORD COLLEGATI
|
||
-- NELLE TABELLE DI STORICO
|
||
INSERT /* +APPEND */ INTO HIST_XML_ACK_IN
|
||
SELECT * FROM MNP_XML_ACK_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE;
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_XML_RICHIESTA_IN
|
||
SELECT * FROM MNP_XML_RICHIESTA_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE;
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_XML_IN
|
||
SELECT * FROM MNP_XML_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE;
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_XML_ACK_OUT
|
||
SELECT * FROM MNP_XML_ACK_OUT
|
||
WHERE NOME_FILE_RIFERITO = R_XML_IN.NOME_FILE;
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_XML_OUT
|
||
SELECT * FROM MNP_XML_OUT
|
||
WHERE NOME_FILE IN
|
||
( SELECT NOME_FILE FROM MNP_XML_ACK_OUT
|
||
WHERE NOME_FILE_RIFERITO = R_XML_IN.NOME_FILE
|
||
);
|
||
-- PROCEDO ALLA CANCELLAZIONE
|
||
DELETE MNP_RICHIESTA_DUP
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE;
|
||
--
|
||
DELETE MNP_RICHIESTA_PORTING_DUP
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE;
|
||
--
|
||
DELETE MNP_XML_ACK_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE;
|
||
--
|
||
DELETE MNP_XML_RICHIESTA_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE;
|
||
--
|
||
DELETE MNP_XML_IN
|
||
WHERE NOME_FILE = R_XML_IN.NOME_FILE;
|
||
--
|
||
DELETE MNP_XML_OUT
|
||
WHERE NOME_FILE IN
|
||
( SELECT NOME_FILE FROM MNP_XML_ACK_OUT
|
||
WHERE NOME_FILE_RIFERITO = R_XML_IN.NOME_FILE
|
||
);
|
||
--
|
||
DELETE MNP_XML_ACK_OUT
|
||
WHERE NOME_FILE_RIFERITO = R_XML_IN.NOME_FILE;
|
||
--
|
||
COMMIT;
|
||
|
||
end if;
|
||
|
||
END LOOP;
|
||
--
|
||
--
|
||
-- Ciclo sui file XML IN USCITA che potrebbero essere eliminati
|
||
FOR R_XML_OUT IN
|
||
( SELECT * FROM MNP_XML_OUT
|
||
WHERE DATA_EFF < P_DATA
|
||
AND TIPO_FILE IN (2,5,6,10,11,12,1,9,13,6)
|
||
)
|
||
LOOP
|
||
vb_delete := false;
|
||
IF R_XML_OUT.TIPO_FILE IN (2,5,6,10,11,12) THEN
|
||
-- VERIFICO LE RICHIESTE CONTENUTE NEL FILE
|
||
-- PER IL PROCESSO DONOR (MNP_GESTIONE_RICHIESTA)
|
||
SELECT COUNT(*)
|
||
INTO V_COUNT_RICH
|
||
FROM MNP_GESTIONE_RICHIESTA
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_XML_RICHIESTA_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE
|
||
);
|
||
|
||
IF V_COUNT_RICH = 0 THEN
|
||
-- FILE XML POSSIBILE DA CANCELLARE
|
||
vb_delete := true;
|
||
|
||
END IF;
|
||
|
||
ELSIF R_XML_OUT.TIPO_FILE IN (1,9,13) THEN
|
||
-- VERIFICO LE RICHIESTE CONTENUTE NEL FILE
|
||
-- PER IL PROCESSO DONOR (MNP_GESTIONE_RICHIESTA_REC)
|
||
SELECT COUNT(*)
|
||
INTO V_COUNT_RICH
|
||
FROM MNP_GESTIONE_RICHIESTA_REC
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_XML_RICHIESTA_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE
|
||
);
|
||
|
||
IF V_COUNT_RICH = 0 THEN
|
||
-- FILE XML POSSIBILE DA CANCELLARE
|
||
vb_delete := true;
|
||
|
||
END IF;
|
||
|
||
ELSIF R_XML_OUT.TIPO_FILE IN (6) THEN
|
||
-- VERIFICO LE RICHIESTE CONTENUTE NEL FILE
|
||
-- PER IL PROCESSO PORTING (MNP_GESTIONE_RICHIESTA_PORTING)
|
||
SELECT COUNT(*)
|
||
INTO V_COUNT_RICH
|
||
FROM MNP_GESTIONE_RICHIESTA_PORTING
|
||
WHERE ID_RICHIESTA IN
|
||
( SELECT ID_RICHIESTA
|
||
FROM MNP_XML_RICHIESTA_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE
|
||
);
|
||
|
||
IF V_COUNT_RICH = 0 THEN
|
||
-- FILE XML POSSIBILE DA CANCELLARE
|
||
vb_delete := true;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
--
|
||
-- PROCEDO ALLA VERIFICA DELLA CANCELLAZIONE
|
||
if vb_delete then
|
||
|
||
-- SALVO IL FILE E I RECORD COLLEGATI
|
||
-- NELLA TABELLE DI STORICO
|
||
INSERT /* +APPEND */ INTO HIST_XML_ACK_OUT
|
||
SELECT * FROM MNP_XML_ACK_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE;
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_XML_RICHIESTA_OUT
|
||
SELECT * FROM MNP_XML_RICHIESTA_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE;
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_XML_OUT
|
||
SELECT * FROM MNP_XML_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE;
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_XML_ACK_IN
|
||
SELECT * FROM MNP_XML_ACK_IN
|
||
WHERE NOME_FILE_RIFERITO = R_XML_OUT.NOME_FILE;
|
||
--
|
||
INSERT /* +APPEND */ INTO HIST_XML_IN
|
||
SELECT * FROM MNP_XML_IN
|
||
WHERE NOME_FILE IN
|
||
( SELECT NOME_FILE FROM MNP_XML_ACK_IN
|
||
WHERE NOME_FILE_RIFERITO = R_XML_OUT.NOME_FILE
|
||
);
|
||
|
||
--
|
||
-- PROCEDO ALLA CANCELLAZIONE
|
||
DELETE MNP_XML_ACK_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE;
|
||
--
|
||
DELETE MNP_XML_RICHIESTA_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE;
|
||
--
|
||
DELETE MNP_XML_OUT
|
||
WHERE NOME_FILE = R_XML_OUT.NOME_FILE;
|
||
--
|
||
DELETE MNP_XML_IN
|
||
WHERE NOME_FILE IN
|
||
( SELECT NOME_FILE FROM MNP_XML_ACK_IN
|
||
WHERE NOME_FILE_RIFERITO = R_XML_OUT.NOME_FILE
|
||
);
|
||
--
|
||
DELETE MNP_XML_ACK_IN
|
||
WHERE NOME_FILE_RIFERITO = R_XML_OUT.NOME_FILE;
|
||
--
|
||
COMMIT;
|
||
|
||
end if;
|
||
|
||
END LOOP;
|
||
--
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati per tabelle XML');
|
||
--
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' ERRORE NELLA STORICIZZAZIONE TABELLE XML '||SQLERRM);
|
||
ROLLBACK;
|
||
|
||
END P_SVECCHIA_TAB_XML;
|
||
-- ####################### --
|
||
--
|
||
|
||
--
|
||
-- ####################### --
|
||
PROCEDURE P_SVECCHIA_TABELLE_GENERALI (P_DATA DATE, p_puntatore_file_log UTL_FILE.file_type) IS
|
||
|
||
BEGIN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Inizio cancellazione dati per tabelle generali');
|
||
--
|
||
DELETE MNP_BIT_SCARTI_IN
|
||
WHERE DATA_INSERIMENTO < P_DATA;
|
||
--
|
||
DELETE MNP_CIRCE_OUT_SCARTI
|
||
WHERE DATA_INSERIMENTO < P_DATA;
|
||
--
|
||
DELETE MNP_GISP_SCARTO_ATT_CESS_IN
|
||
WHERE DATA_RICEZIONE < P_DATA;
|
||
--
|
||
DELETE MNP_GISP_SCARTO_NOTIFICA_IN
|
||
WHERE DATA_RICEZIONE < P_DATA;
|
||
--
|
||
DELETE MNP_MSC_SCARTI_IN
|
||
WHERE DATA_INSERIMENTO < P_DATA;
|
||
--
|
||
DELETE MNP_MSP_SCARTI_IN
|
||
WHERE DATA_INSERIMENTO < P_DATA;
|
||
--
|
||
DELETE MNP_MSP_SCARTO_TC_IN
|
||
WHERE DATA_RICEZIONE < P_DATA;
|
||
--
|
||
DELETE MNP_MSS_SCARTI_IN
|
||
WHERE DATA_INSERIMENTO < P_DATA;
|
||
--
|
||
DELETE MNP_MVNO_SCARTO_PORTING_IN
|
||
WHERE DATA_RICEZIONE < P_DATA;
|
||
--
|
||
DELETE MNP_MVNO_SCARTO_TC_IN
|
||
WHERE DATA_RICEZIONE < P_DATA;
|
||
--
|
||
DELETE MNP_MVNO_SCARTO_UPDATE_DCO_IN
|
||
WHERE DATA_RICEZIONE < P_DATA;
|
||
--
|
||
DELETE MNP_MVNO_SCARTO_VALIDAZ_IN
|
||
WHERE DATA_RICEZIONE < P_DATA;
|
||
--
|
||
DELETE MNP_PRJHOC_DONOR
|
||
WHERE CODICE_GRUPPO NOT IN
|
||
( SELECT DISTINCT CODICE_GRUPPO FROM MNP_GESTIONE_RICHIESTA);
|
||
--
|
||
DELETE MNP_XML_ACK_IN_FP
|
||
WHERE NOME_FILE_RIFERITO IN
|
||
( SELECT NOME_FILE FROM MNP_XML_OUT_FP
|
||
WHERE DATA_INVIO < P_DATA
|
||
);
|
||
--
|
||
DELETE MNP_XML_ACK_OUT_FP
|
||
WHERE NOME_FILE_RIFERITO IN
|
||
( SELECT NOME_FILE FROM MNP_XML_IN_FP
|
||
WHERE DATA_EFF < P_DATA
|
||
);
|
||
--
|
||
DELETE MNP_XML_IN_FP
|
||
WHERE DATA_EFF < P_DATA;
|
||
--
|
||
DELETE MNP_XML_OUT_FP
|
||
WHERE DATA_INVIO < P_DATA;
|
||
--
|
||
DELETE MNP_XML_RIPETIZIONI_IN
|
||
WHERE DATA_EFF < P_DATA;
|
||
--
|
||
DELETE MNP_XML_RIPETIZIONI_OUT
|
||
WHERE DATA_EFF < P_DATA;
|
||
--
|
||
DELETE MNP_XML_SCARTO
|
||
WHERE DATA_EFF < P_DATA;
|
||
--
|
||
COMMIT;
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione dati per tabelle generali');
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' ERRORE NELLA STORICIZZAZIONE TABELLE GENERALI '||SQLERRM);
|
||
ROLLBACK;
|
||
|
||
END P_SVECCHIA_TABELLE_GENERALI;
|
||
-- ####################### --
|
||
--
|
||
|
||
--
|
||
-- ####################### --
|
||
-- Procedura che verifica le partizioni da droppare
|
||
PROCEDURE P_ELIMINA_PARTIZIONI (P_DATA DATE, p_puntatore_file_log UTL_FILE.file_type) IS
|
||
|
||
v_data_massima_part date;
|
||
v_partition_name varchar2(30);
|
||
v_high_value varchar2(1000);
|
||
v_count number;
|
||
|
||
CURSOR c_part_tab (p_table_name varchar2) is
|
||
select partition_name, high_value
|
||
from user_tab_partitions
|
||
where table_name = p_table_name
|
||
and high_value is not null
|
||
order by partition_position;
|
||
|
||
|
||
|
||
BEGIN
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Inizio cancellazione partizioni');
|
||
|
||
-- ESTRAZIONE DELLE TABELLE PARTIZIONATE PER LE QUALI DROPPARE LE PARTIZIONI
|
||
-- ESCLUDENDO DELLE TABELLE PER LE QUALI NON SI DEVE FARE NESSUNA AZIONE
|
||
FOR R_PART IN
|
||
( SELECT TP.TABLE_NAME
|
||
FROM USER_TABLES TP WHERE TP.PARTITIONED = 'YES'
|
||
AND TP.TABLE_NAME NOT IN ('MNP_XML_IN','MNP_XML_OUT', 'HIST_GESTIONE_RICHIESTA',
|
||
'HIST_GESTIONE_RICHIESTA_REC', 'HIST_GEST_RICH_DONOR_VIRT', 'HIST_GEST_RICH_DON_TC',
|
||
'HIST_GEST_RICH_DON_VIRT_TC', 'HIST_GEST_RICH_REC_TC', 'HIST_GEST_RICH_REC_VIRT',
|
||
'HIST_GEST_RICH_REC_VIRT_TC', 'HIST_SVECCHIA_DONOR', 'HIST_SVECCHIA_DONVIRT',
|
||
'HIST_SVECCHIA_RECIPIENT', 'HIST_SVECCHIA_RECVIRT', 'HIST_GESTIONE_RICHIESTAPORTING',
|
||
'HIST_SVECCHIA_PORTING','HIST_XML_ACK_IN', 'HIST_XML_ACK_OUT', 'HIST_XML_IN',
|
||
'HIST_XML_OUT', 'HIST_XML_RICHIESTA_IN', 'HIST_XML_RICHIESTA_OUT', 'MNP_XML_ACK_IN',
|
||
'MNP_XML_ACK_OUT','MNP_XML_RICHIESTA_IN', 'MNP_XML_RICHIESTA_OUT', 'MNP_CCRMW_COOP_NOT_OUT',
|
||
'BCK_SID_IN', 'BCK_CRM_VALIDAZIONE_IN', 'BCK_CRM_VALIDAZIONE_OUT')
|
||
)
|
||
LOOP
|
||
|
||
OPEN c_part_tab(R_PART.TABLE_NAME);
|
||
LOOP
|
||
FETCH c_part_tab INTO v_partition_name, v_high_value;
|
||
EXIT WHEN c_part_tab%NOTFOUND;
|
||
-- trasformazione della stringa in data per verificare se <20> possibile eliminarla
|
||
execute immediate 'select '||v_high_value||' from dual' into v_data_massima_part;
|
||
-- verifica della data della partizione
|
||
if v_data_massima_part <= p_data then
|
||
-- controllo di presenza di record nella partizione in elaborazione
|
||
execute immediate 'select count(*) from '||R_PART.TABLE_NAME||' partition ('||v_partition_name||')'into v_count;
|
||
|
||
if v_count = 0 then
|
||
-- NESSUN DATO NELLA PARTIZIONE
|
||
-- PROCEDO AL DROP
|
||
execute immediate 'alter table '||R_PART.TABLE_NAME||' drop partition '||v_partition_name||' update global indexes';
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Eliminata partizione '||v_partition_name||
|
||
' della tabella '||R_PART.TABLE_NAME);
|
||
|
||
else
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Impossibile Eliminare partizione '||v_partition_name||
|
||
' della tabella '||R_PART.TABLE_NAME||' per la presenza di dati');
|
||
end if;
|
||
|
||
else
|
||
CLOSE c_part_tab;
|
||
exit;
|
||
end if;
|
||
|
||
END LOOP;
|
||
|
||
END LOOP;
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine cancellazione partizioni');
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
UTL_FILE.PUT_LINE(p_puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' ERRORE NELLA PROCEDURA DI ELIMINAZIONE DELLE PARTIZIONI '||SQLERRM);
|
||
|
||
END P_ELIMINA_PARTIZIONI;
|
||
--
|
||
--
|
||
|
||
PROCEDURE P_CHECK_START_STOP (P_FLAG_START NUMBER, P_DATA_STORICIZZAZIONE DATE, P_DATA_ESECUZIONE IN OUT DATE)
|
||
IS
|
||
PRAGMA AUTONOMOUS_TRANSACTION;
|
||
V_REC NUMBER;
|
||
|
||
BEGIN
|
||
-- GESTIONE DELLO START DELLA STORICIZZAZIONE
|
||
IF P_FLAG_START = 1 THEN
|
||
-- VERIFICA SE C'E' GIA' IN ESECUZIONE LA PROCEDURA
|
||
SELECT COUNT(*)
|
||
INTO V_REC
|
||
FROM HIST_GESTIONE_ESECUZIONI
|
||
WHERE IS_RUNNING = 1;
|
||
--
|
||
-- se non trovo niente in esecuzione
|
||
-- scrivo il record di start r valorizzo il parametro P_DATA_ESECUZIONE
|
||
-- In caso contrario il parametro P_DATA_ESECUZIONE
|
||
-- rimane non valorizzato cos<6F> da non permettere l'avvio della storicizzazione
|
||
IF V_REC = 0 THEN
|
||
|
||
P_DATA_ESECUZIONE := SYSDATE;
|
||
-- SCRITTURA DEL RECORD PER BLOCCARE ESECUZIONI CONCORRENTI
|
||
INSERT INTO HIST_GESTIONE_ESECUZIONI (DATA_STORICIZZAZIONE, DATA_ESECUZIONE, IS_RUNNING)
|
||
VALUES (P_DATA_STORICIZZAZIONE, P_DATA_ESECUZIONE, 1);
|
||
|
||
COMMIT;
|
||
|
||
END IF;
|
||
|
||
ELSE
|
||
-- GESTIONE DELLO STOP DELLA STORICIZZAZIONE
|
||
UPDATE HIST_GESTIONE_ESECUZIONI
|
||
SET IS_RUNNING = 0
|
||
WHERE DATA_STORICIZZAZIONE = P_DATA_STORICIZZAZIONE
|
||
AND DATA_ESECUZIONE = P_DATA_ESECUZIONE;
|
||
|
||
COMMIT;
|
||
|
||
END IF;
|
||
|
||
END P_CHECK_START_STOP;
|
||
|
||
-- procedura per lo storicizzazione da inserire in crontab:
|
||
-- considera la data di oggi - 13 mesi e richiama la procedura principale
|
||
PROCEDURE P_MAIN_STORICIZZAZIONE IS
|
||
|
||
BEGIN
|
||
|
||
P_MAIN_STORICIZZAZIONE(ADD_MONTHS(TRUNC(SYSDATE),-13));
|
||
|
||
END P_MAIN_STORICIZZAZIONE;
|
||
--
|
||
--
|
||
-- ################################################ --
|
||
-- PROCEDURA PRINCIPALE CHE RICHIAMA LA STORICIZZAZIONE
|
||
-- PER I VARI PROCESSI
|
||
-- ################################################ --
|
||
PROCEDURE P_MAIN_STORICIZZAZIONE (P_DATA DATE) IS
|
||
|
||
puntatore_file_log UTL_FILE.FILE_TYPE;
|
||
v_data_esecuzione date;
|
||
|
||
BEGIN
|
||
|
||
-- scrittura log
|
||
puntatore_file_log := UTL_FILE.FOPEN(path_file_log,'svecchiamento_'||to_char(sysdate, 'ddmmyyyy_hh24miss')||'.log','a');
|
||
--
|
||
UTL_FILE.PUT_LINE(puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Inizio Procedura di storicizzazione con data in ingresso '||to_char(P_DATA,'dd-mm-yyyy'));
|
||
--
|
||
UTL_FILE.PUT_LINE(puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Verifica data in ingresso < 13 mesi');
|
||
--
|
||
if P_DATA <= add_months(trunc(sysdate),-13) then
|
||
--
|
||
UTL_FILE.PUT_LINE(puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Verifica lanci concorrenti');
|
||
--
|
||
-- VERIFICA SE E' IN ESECUZIONE GIA' UN PROCESSO DI STORICIZZAZIONE
|
||
P_CHECK_START_STOP(1,P_DATA,v_data_esecuzione);
|
||
-- La procedura di check valorizza v_data_esecuzione
|
||
-- se non trova esecuzioni concorrenti
|
||
if v_data_esecuzione is not null then
|
||
P_SVECCHIA_DONOR_E_RECVIRT(P_DATA, puntatore_file_log);
|
||
-- scrittura del log per lo svecchiamento sopra eseguito
|
||
UTL_FILE.fflush(puntatore_file_log);
|
||
--
|
||
P_SVECCHIA_RECIPIENT_E_DONVIRT(P_DATA, puntatore_file_log);
|
||
-- scrittura del log per lo svecchiamento sopra eseguito
|
||
UTL_FILE.fflush(puntatore_file_log);
|
||
--
|
||
P_SVECCHIA_PORTING(P_DATA, puntatore_file_log);
|
||
-- scrittura del log per lo svecchiamento sopra eseguito
|
||
UTL_FILE.fflush(puntatore_file_log);
|
||
--
|
||
P_SVECCHIA_TAB_XML(P_DATA, puntatore_file_log);
|
||
-- scrittura del log per lo svecchiamento sopra eseguito
|
||
UTL_FILE.fflush(puntatore_file_log);
|
||
--
|
||
P_SVECCHIA_TABELLE_GENERALI(P_DATA, puntatore_file_log);
|
||
-- scrittura del log per lo svecchiamento sopra eseguito
|
||
UTL_FILE.fflush(puntatore_file_log);
|
||
--
|
||
P_ELIMINA_PARTIZIONI(P_DATA, puntatore_file_log);
|
||
-- scrittura del log per lo svecchiamento sopra eseguito
|
||
UTL_FILE.fflush(puntatore_file_log);
|
||
-- CHIUSURA DEL RECORD DI START
|
||
P_CHECK_START_STOP(0,P_DATA,v_data_esecuzione);
|
||
|
||
else
|
||
|
||
UTL_FILE.PUT_LINE(puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Trovata procedura di svecchiamento in esecuzione. Impossibile lanciarne un''altra in parallelo');
|
||
|
||
end if;
|
||
else
|
||
|
||
UTL_FILE.PUT_LINE(puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Impossibile eseguire la storicizzazione. La data in ingresso deve essere almeno pi<70> vecchia di 13 mesi.');
|
||
|
||
end if;
|
||
|
||
--
|
||
--
|
||
UTL_FILE.PUT_LINE(puntatore_file_log, to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' Fine Procedura di svecchiamento');
|
||
--
|
||
UTL_FILE.FCLOSE(puntatore_file_log);
|
||
|
||
END P_MAIN_STORICIZZAZIONE;
|
||
|
||
|
||
END PKG_STORICIZZAZIONE;
|
||
/
|
||
|