FMHN#84596 Personen verdwenen in Productie- en Acceptatie-omgeving

De daily procedure om de personen te verwijderen was onterecht gebaseerd op prs.delete_perslid. Dit kan echter niet zonder een import_key, dus om die reden is dit nu omgezet. 

svn path=/Customer/trunk/; revision=68196
This commit is contained in:
Sander Schepers
2025-02-25 15:50:22 +00:00
parent 9aa064903e
commit cd10c7b8cd

View File

@@ -9022,7 +9022,7 @@ AS
PROCEDURE verwijderen_accounts
AS
c_applname VARCHAR2 (50) := 'INACTIVEREN_ACCOUNTS';
c_applname VARCHAR2 (50) := 'VERWIJDEREN_ACCOUNTS';
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
oracle_err_num NUMBER;
@@ -9031,33 +9031,53 @@ AS
v_perslid_naam VARCHAR (100);
v_perslid_nr VARCHAR (30);
v_aanduiding VARCHAR2 (200);
v_count_tot NUMBER (10) := 0;
v_count_tot NUMBER (10) := 0;
--- Als een persoon 12 maanden niet meer heeft ingelogd, dan verwijderen we deze
CURSOR prs_del IS
SELECT p.prs_perslid_key, p.prs_perslid_email
FROM prs_v_aanwezigperslid p
WHERE p.prs_perslid_inactief IS NOT NULL
AND TRUNC (p.prs_perslid_inactief) < TRUNC (SYSDATE) - 14;
SELECT p.prs_perslid_key,
p.prs_perslid_email,
COUNT (vp.prs_perslid_key) aant
FROM prs_v_aanwezigperslid p, prs_v_verplichting_keys vp
WHERE p.prs_perslid_inactief IS NOT NULL
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
AND TRUNC (p.prs_perslid_inactief) < TRUNC (SYSDATE) - 14
GROUP BY p.prs_perslid_key, p.prs_perslid_email;
BEGIN
-- Proberen de accounts te verwijderen
FOR rec IN prs_del
LOOP
v_aanduiding :=
'['
|| TO_CHAR (rec.prs_perslid_key)
|| '|'
|| rec.prs_perslid_email
|| '] ';
v_count_tot := v_count_tot + 1;
prs.delete_perslid (NULL, rec.prs_perslid_key);
BEGIN
IF rec.aant = 0
THEN
v_errormsg := 'Fout schonen collega';
DELETE FROM
prs_collega
WHERE prs_perslid_key = rec.prs_perslid_key
OR prs_perslid_key_alt = rec.prs_perslid_key;
v_errormsg := 'Fout schonen persoon';
UPDATE prs_perslid
SET prs_perslid_verwijder = SYSDATE
WHERE prs_perslid_key = rec.prs_perslid_key;
v_aanduiding :=
'['
|| TO_CHAR (rec.prs_perslid_key)
|| '|'
|| rec.prs_perslid_email
|| '] ';
v_count_tot := v_count_tot + 1;
END IF;
END;
END LOOP;
fac.writelog (c_applname,
'S',
'#Accounts verwijderd: ' || TO_CHAR (v_count_tot),
'');
'');
EXCEPTION
WHEN OTHERS
THEN
@@ -9072,7 +9092,7 @@ AS
fac.writelog (c_applname,
'E',
v_aanduiding || v_errormsg,
'Daily achtergrond taak afgebroken!');
'Daily achtergrond taak afgebroken!');
END;
END;
/