164 lines
5.5 KiB
SQL
164 lines
5.5 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- AKZO#68423 Codering sleutels niet goed herkenbaar voor beveiligers SSH
|
|
-- Script om het merknummer dat bij een sleutel in het kenmerkveld is opgenomen
|
|
-- op te nemen in het nummer van de sleutels (ins deel) en de sleutelsets (ins soort deel)
|
|
--
|
|
DEFINE thisfile = 'AKZO#68423.SQL'
|
|
DEFINE dbuser = '^AKZO'
|
|
|
|
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 ------
|
|
|
|
DECLARE
|
|
CURSOR deel IS
|
|
SELECT d.ins_deel_key,
|
|
d.ins_deel_omschrijving
|
|
omschr_old,
|
|
merk.ins_kenmerkdeel_waarde || '/' || d.ins_deel_omschrijving
|
|
omschr_new,
|
|
d.ins_deel_upper
|
|
omschr_upper_old,
|
|
UPPER (merk.ins_kenmerkdeel_waarde) || '/' || d.ins_deel_upper
|
|
omschr_upper_new
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
alg_v_ruimte_gegevens_all r,
|
|
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
|
|
FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
|
|
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
|
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
|
AND sk.ins_srtkenmerk_key = 62) merk
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND merk.ins_deel_key = d.ins_deel_key
|
|
AND d.ins_deel_verwijder IS NULL
|
|
AND sd.ins_srtgroep_key = 62
|
|
AND r.alg_locatie_key = 1
|
|
AND r.alg_ruimte_key =
|
|
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key);
|
|
|
|
CURSOR soortdeel IS
|
|
SELECT DISTINCT
|
|
sd.ins_srtdeel_key,
|
|
sd.ins_srtdeel_code
|
|
srt_deel_code_old,
|
|
merk.ins_kenmerkdeel_waarde || '/' || sd.ins_srtdeel_code
|
|
srt_deel_code_new,
|
|
sd.ins_srtdeel_code_upper
|
|
srt_deel_code_upper_old,
|
|
merk.ins_kenmerkdeel_waarde
|
|
|| '/'
|
|
|| sd.ins_srtdeel_code_upper
|
|
srt_deel_code_upper_new,
|
|
sd.ins_srtdeel_omschrijving
|
|
srt_deel_old,
|
|
merk.ins_kenmerkdeel_waarde
|
|
|| '/'
|
|
|| sd.ins_srtdeel_omschrijving
|
|
srt_deel_new,
|
|
sd.ins_srtdeel_upper
|
|
srt_deel_upper_old,
|
|
UPPER (merk.ins_kenmerkdeel_waarde)
|
|
|| '/'
|
|
|| sd.ins_srtdeel_upper
|
|
srt_deel_upper_new
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
alg_v_ruimte_gegevens_all r,
|
|
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
|
|
FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
|
|
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
|
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
|
AND sk.ins_srtkenmerk_key = 62) merk
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND merk.ins_deel_key = d.ins_deel_key
|
|
AND d.ins_deel_verwijder IS NULL
|
|
AND sd.ins_srtgroep_key = 62
|
|
AND r.alg_locatie_key = 1
|
|
AND r.alg_ruimte_key =
|
|
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key);
|
|
BEGIN
|
|
FOR rec IN deel
|
|
LOOP
|
|
BEGIN
|
|
UPDATE INS_DEEL id
|
|
SET id.ins_deel_omschrijving = rec.omschr_new,
|
|
id.ins_deel_upper = rec.omschr_upper_new
|
|
WHERE id.ins_deel_key = rec.ins_deel_key;
|
|
|
|
fac.trackaction (
|
|
'INSUPD',
|
|
rec.ins_deel_key,
|
|
4,
|
|
NULL,
|
|
'AKZO#68423: Codering sleutel aangevuld met merknummer');
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog (
|
|
'Codering sleutel',
|
|
'E',
|
|
'Overwachte fout ins_deel_key: ' || rec.ins_deel_key,
|
|
'');
|
|
END;
|
|
END LOOP;
|
|
|
|
FOR rec IN soortdeel
|
|
LOOP
|
|
BEGIN
|
|
UPDATE INS_SRTDEEL srt
|
|
SET srt.ins_srtdeel_omschrijving = rec.srt_deel_new,
|
|
srt.ins_srtdeel_upper = rec.srt_deel_upper_new,
|
|
srt.ins_srtdeel_code = rec.srt_deel_code_new,
|
|
srt.ins_srtdeel_code_upper = rec.srt_deel_code_upper_new
|
|
WHERE srt.ins_srtdeel_key = rec.ins_srtdeel_key;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog (
|
|
'Codering sleutelset',
|
|
'E',
|
|
'Overwachte fout ins_srtdeel: ' || rec.ins_srtdeel_key,
|
|
'');
|
|
END;
|
|
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 |