Files
Customer/onces/RWSN/rwsn64.sql
Maarten van der Heide fe16472a50 RWSN64
svn path=/Customer/; revision=39577
2018-10-30 16:28:45 +00:00

110 lines
3.7 KiB
SQL

--
-- $Id$
--
-- Customer specific once-script RWSN64.
DEFINE thisfile = 'RWSN64.SQL'
DEFINE dbuser = '^RWSN'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
-- RWSN#54446: Uitrol NVWA => Eigen tabel tbv. de mapping van de (interne)
-- bedrijfskey van het Derden-bedrijf (in dit geval NVWA) naar de
-- groepskey van de Default<Derden>-autorisatiegroep die aan alle
-- Derden-medewerkers (in dit geval NVWA) wordt toegekend.
INSERT INTO fac_usrtab (fac_usrtab_key,
fac_usrtab_naam,
fac_usrtab_omschrijving)
VALUES (6, 'DerdenBedr2Rol', 'DerdenBedr2Rol Configuration');
COMMIT;
-- RWSN#54446: Uitrol NVWA => Nieuw PID-kenmerkveld om Derden uniek te kunnen
-- identificeren/matchen!
INSERT INTO prs_kenmerk (prs_kenmerk_key,
prs_kenmerk_niveau,
prs_kenmerk_volgnr,
prs_kenmerk_omschrijving,
prs_kenmerk_hint,
prs_kenmerk_kenmerktype,
prs_kenmerk_lengte)
VALUES (1161,
'P',
51,
'PID',
'PersoneelsID',
'C',
100);
COMMIT;
-- RWSN#54446: Uitrol NVWA => PID-kenmerkveld voor bestaande NVWA-ers vullen
-- met e-mail adres (indien aanwezig).
-- Tevens - da's handig in de T-omgeving - alle personen met een
-- PID (logisch) verwijderen en daarna ook de PID zelf.
UPDATE prs_perslid p
SET p.prs_perslid_verwijder = SYSDATE
WHERE EXISTS
(SELECT 1
FROM prs_kenmerklink
WHERE prs_kenmerk_key = 1161 AND prs_link_key = p.prs_perslid_key);
COMMIT;
DELETE FROM prs_kenmerklink
WHERE prs_kenmerk_key = 1161;
COMMIT;
INSERT INTO prs_kenmerklink (prs_link_key,
prs_kenmerklink_niveau,
prs_kenmerk_key,
prs_kenmerklink_waarde)
SELECT p1.prs_perslid_key,
'P',
1161,
TRIM (p1.prs_perslid_email)
FROM prs_v_aanwezigperslid p1, prs_v_afdeling_boom ab1
WHERE p1.prs_perslid_email IS NOT NULL
AND p1.prs_afdeling_key = ab1.prs_afdeling_key
AND ab1.prs_bedrijf_key = 69664 -- NWVA-bedrijf
AND NOT EXISTS
(SELECT 1
FROM prs_v_aanwezigperslid p2, prs_v_afdeling_boom ab2
WHERE p2.prs_perslid_email IS NOT NULL
AND p2.prs_afdeling_key = ab2.prs_afdeling_key
AND ab2.prs_bedrijf_key = 69664 -- NWVA-bedrijf
AND UPPER (TRIM (p2.prs_perslid_email)) = UPPER (TRIM (p1.prs_perslid_email))
AND p2.prs_perslid_key != p1.prs_perslid_key);
COMMIT;
-- RWSN#53968: Met RWSN61 is KNMI als intern bedrijf aangemaakt met key=3.
-- Er was echter al een persoon met key=3 (_GAST) en dat mag niet.
-- Om toekomstige problemen te voorkomen, met RWSN64 beter _GAST
-- helemaal verwijderen (was reeds logisch verwijderd en had geen
-- historie)!
DELETE FROM prs_perslid
WHERE prs_perslid_key = 3;
COMMIT;
------ 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
@@rwsn.sql