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:
@@ -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;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user