107 lines
4.6 KiB
SQL
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
|