FCLT#66193 Opschoon statements in FAC_CLEANUP procedure bundelen.

svn path=/Database/trunk/; revision=51114
This commit is contained in:
Erik Groener
2021-04-28 07:21:51 +00:00
parent b98965c70c
commit a1a576ad0e
2 changed files with 47 additions and 10 deletions

View File

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

View File

@@ -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