Files
Customer/onces/FMHN/FMHN#84596.sql
Sander Schepers 0d92cdba4c FMHN#84596 Uitzetten procedure inactiveren personen
svn path=/Customer/; revision=65533
2024-07-10 15:31:21 +00:00

68 lines
2.1 KiB
SQL

--
-- $Id$
--
-- Customer specific once-script FMHN#84596.sql.
DEFINE thisfile = 'FMHN#84596.sql'
DEFINE dbuser = '^FMHN'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- FMHN#84596: Personen verdwenen in Productie- en Acceptatie-omgeving
-- Door toedoen van FMHN#82259 icm het het niet goed doorgeven van de einddatum vanuit IDM (helaas),
-- blijken er een aantal accounts nu te zijn verwijderd die niet verwijderd hadden moeten worden.
-- Het inactiveren (FMHN#82259) is nu gestaakt, maar ook moeten de accounts die nog niet verwijderd zijn (vanwege verplichtingen)
-- en die vandaag (10 juli 2024) inactief zijn gezet, niet meer verwijderd worden.
-- Daarom dit script. Dit maakt voor 37808 records de prs_perslid_inactief weer leeg.
-- Bij 37808 records staat daar nu een inactief-datum van vandaag (10-07-2024) of gisteren (09-07-2024).
DECLARE
CURSOR c IS
SELECT prs_perslid_key, prs_perslid_inactief
FROM prs_perslid
WHERE prs_perslid_inactief IS NOT NULL;
BEGIN
FOR rec IN c
LOOP
BEGIN
UPDATE prs_perslid
SET prs_perslid_inactief = NULL
WHERE prs_perslid_key = rec.prs_perslid_key;
END;
fac.trackaction (
'PRSUPD',
rec.prs_perslid_key,
3,
SYSDATE,
'FMHN#84596: Persoon is weer actief gemaakt (was '
|| TO_CHAR (rec.prs_perslid_inactief, 'DD-MM-YYYY')
|| ' )');
END LOOP;
END;
/
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile