diff --git a/FAC/FAC_PAC.SRC b/FAC/FAC_PAC.SRC index a31e4c97..d1241de9 100644 --- a/FAC/FAC_PAC.SRC +++ b/FAC/FAC_PAC.SRC @@ -154,6 +154,7 @@ CREATE OR REPLACE PACKAGE fac FUNCTION exceeds_profiel (p_bestelbedrag IN NUMBER, p_prs_key IN NUMBER, p_disc_key IN NUMBER) RETURN BOOLEAN; FUNCTION exceeds_pgb (p_opdrachtbedrag IN NUMBER, p_prs_key IN NUMBER, p_disc_key IN NUMBER, disc_params_pgb IN NUMBER) RETURN BOOLEAN; FUNCTION exceeds_agb (p_opdrachtbedrag IN NUMBER, p_kp_key IN NUMBER, p_disc_key IN NUMBER, disc_params_pgb IN NUMBER) RETURN BOOLEAN; + PROCEDURE fac_cleanup; END fac; / @@ -3042,8 +3043,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS THEN EXECUTE IMMEDIATE 'BEGIN ' || cust_daily || '; END;'; END IF; - -- delete app registrations with last login more then 60 days ago - DELETE FROM aut_client_perslid WHERE aut_client_perslid_login < SYSDATE - 60; + fac.fac_cleanup; END; PROCEDURE fac_weekly @@ -5475,6 +5475,47 @@ CREATE OR REPLACE PACKAGE BODY fac AS END IF; END; + PROCEDURE fac_cleanup + AS + CURSOR c_imp + IS + SELECT fac_import_app_key + FROM fac_import_app; + r_imp c_imp%ROWTYPE; + BEGIN + DELETE FROM fac_session WHERE fac_session_expire < SYSDATE - 2; + DELETE FROM aut_client_perslid WHERE aut_client_perslid_login < SYSDATE - 60; + DELETE FROM fac_bookmark WHERE fac_bookmark_expire < SYSDATE - 2; + DELETE FROM web_user_messages WHERE web_user_mess_action_datum < SYSDATE - 60; + DELETE FROM fac_notificatie WHERE fac_notificatie_status=0 + AND fac_notificatie_systeemadres IS NULL; + DELETE fac_result WHERE fac_result_aanmaak < SYSDATE - 7; + COMMIT; + + -- Wissen oude (gisteren) popups van Putorders. + UPDATE fac_notificatie n + SET n.fac_notificatie_status = BITAND(n.fac_notificatie_status, 255 - 8) + WHERE BITAND (n.fac_notificatie_status, 8) = 8 + AND TRUNC (n.fac_notificatie_datum) < TRUNC (SYSDATE); + + -- Import logging opschonen. + FOR r_imp IN c_imp + LOOP + DELETE FROM imp_log + WHERE imp_log_status <> 'S' + AND fac_import_key IN + (SELECT fac_import_key + FROM fac_import + WHERE fac_import_app_key = r_imp.fac_import_app_key + AND fac_import_datum_gelezen <= SYSDATE - 1/24) -- afblijven van zeer recente imports + AND fac_import_key < + (SELECT MAX(fac_import_key) + FROM fac_import + WHERE fac_import_app_key = r_imp.fac_import_app_key + AND fac_import_datum_gelezen <= SYSDATE - 1/24); + END LOOP; + END; + END fac; / diff --git a/_UP/epilogue.inc b/_UP/epilogue.inc index e982e256..51da217d 100644 --- a/_UP/epilogue.inc +++ b/_UP/epilogue.inc @@ -6,14 +6,10 @@ */ COMMIT; -DELETE FROM fac_session WHERE fac_session_expire < SYSDATE - 2; -DELETE FROM aut_client_perslid WHERE aut_client_perslid_login < SYSDATE - 60; -DELETE FROM fac_bookmark WHERE fac_bookmark_expire < SYSDATE - 2; -DELETE FROM web_user_messages WHERE web_user_mess_action_datum < SYSDATE - 60; -DELETE FROM fac_notificatie WHERE fac_notificatie_status=0 - AND fac_notificatie_systeemadres IS NULL; -COMMIT; - +BEGIN + fac.fac_cleanup; +END; +/ -- Dialect/terminologie items die niet meer bestaan DELETE FROM fac_localeitems WHERE fac_localeitems_lcl NOT IN