110 lines
3.7 KiB
SQL
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
|