Files
Customer/onces/DJIN/DJIN#70619.sql
Maarten van der Heide 5a3b282390 DJIN#57816 Once/Schonen sleutelbeheer
svn path=/Customer/; revision=54671
2022-01-25 14:28:52 +00:00

107 lines
4.6 KiB
SQL

--
-- $Id$
--
-- Customer specific once-script DJIN#70619.sql.
DEFINE thisfile = 'DJIN#70619.sql'
DEFINE dbuser = '^FMS'
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 ------
-- DJIN#70619: Schonen gehele Sleutelbeheer-vulling!
-- fac.getsetting ('cil_ins_srt_groep_key')=141
-- fac.getsetting ('sle_ins_srt_groep_key')=142
DELETE FROM ins_kenmerkdeel kd
WHERE EXISTS
(SELECT 1
FROM ins_deel d, ins_srtdeel sd, ins_kenmerk k
WHERE d.ins_discipline_key = 1121 -- Toegangsmiddelen
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND (sd.ins_srtgroep_key = fac.getsetting ('cil_ins_srt_groep_key')
OR sd.ins_srtgroep_key = fac.getsetting ('sle_ins_srt_groep_key'))
AND ((d.ins_discipline_key = k.ins_srtinstallatie_key AND k.ins_kenmerk_niveau = 'D')
OR (sd.ins_srtgroep_key = k.ins_srtinstallatie_key AND k.ins_kenmerk_niveau = 'G')
OR (sd.ins_srtdeel_key = k.ins_srtinstallatie_key AND k.ins_kenmerk_niveau = 'S'))
AND k.ins_kenmerk_bewerkniveau = 'D' -- Bewerken bij object!
AND d.ins_deel_key = kd.ins_deel_key);
DELETE FROM ins_kenmerkdeel kd
WHERE EXISTS
(SELECT 1
FROM ins_deel d, ins_srtdeel sd, ins_kenmerk k
WHERE d.ins_discipline_key = 1121 -- Toegangsmiddelen
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND (sd.ins_srtgroep_key = fac.getsetting ('cil_ins_srt_groep_key')
OR sd.ins_srtgroep_key = fac.getsetting ('sle_ins_srt_groep_key'))
AND ((d.ins_discipline_key = k.ins_srtinstallatie_key AND k.ins_kenmerk_niveau = 'D')
OR (sd.ins_srtgroep_key = k.ins_srtinstallatie_key AND k.ins_kenmerk_niveau = 'G')
OR (sd.ins_srtdeel_key = k.ins_srtinstallatie_key AND k.ins_kenmerk_niveau = 'S'))
AND k.ins_kenmerk_bewerkniveau = 'S' -- Bewerken bij objectsoort!
AND d.ins_srtdeel_key = kd.ins_deel_key);
DELETE FROM ins_deel d -- Afhankelijkheid met reserveringen op objecten!
WHERE d.ins_discipline_key = 1121 -- Toegangsmiddelen
AND EXISTS
(SELECT 1
FROM ins_srtdeel
WHERE (ins_srtgroep_key = fac.getsetting ('cil_ins_srt_groep_key')
OR ins_srtgroep_key = fac.getsetting ('sle_ins_srt_groep_key'))
AND ins_srtdeel_key = d.ins_srtdeel_key);
-- Koppeltabel cilinderset-sleutelset!
DELETE FROM ins_srtdeel_srtdeel
WHERE ins_module = 'SLE';
DELETE FROM ins_srtdeel sd
WHERE (sd.ins_srtgroep_key = fac.getsetting ('cil_ins_srt_groep_key')
OR sd.ins_srtgroep_key = fac.getsetting ('sle_ins_srt_groep_key'))
AND EXISTS
(SELECT 1
FROM ins_srtgroep
WHERE ins_discipline_key = 1121 -- Toegangsmiddelen
AND ins_srtgroep_key = sd.ins_srtgroep_key);
DELETE FROM fac_tracking t
WHERE EXISTS
(SELECT 1
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'deel'
AND fac_srtnotificatie_key = t.fac_srtnotificatie_key)
AND NOT EXISTS (SELECT 1
FROM ins_deel
WHERE ins_deel_key = t.fac_tracking_refkey);
DELETE FROM fac_tracking t
WHERE EXISTS
(SELECT 1
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = 'srtdeel'
AND fac_srtnotificatie_key = t.fac_srtnotificatie_key)
AND NOT EXISTS (SELECT 1
FROM ins_srtdeel
WHERE ins_srtdeel_key = t.fac_tracking_refkey);
------ 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