KLIM#61411 Reshuffelen ICT-objectidentificatie (en vullen Werkplek-kenmerkveld)
svn path=/Customer/; revision=45913
This commit is contained in:
95
onces/KLIM/KLIM#61411.sql
Normal file
95
onces/KLIM/KLIM#61411.sql
Normal file
@@ -0,0 +1,95 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Customer specific once-script KLIM#61411.SQL.
|
||||
DEFINE thisfile = 'KLIM#61411.SQL'
|
||||
DEFINE dbuser = '^KLIM'
|
||||
|
||||
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 ------
|
||||
|
||||
-- Verwijder vulling van Werkplek-kenmerkveld (key=97) voor ICT-objecten met een
|
||||
-- '/' in identificatie!
|
||||
--DELETE FROM ins_kenmerkdeel kd
|
||||
-- WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||||
-- AND ins_kenmerk_key = 97 -- Werkplek
|
||||
-- AND EXISTS
|
||||
-- (SELECT 1
|
||||
-- FROM ins_v_aanwezigdeel d, ins_srtdeel sd, ins_srtgroep sg
|
||||
-- WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
-- AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
-- AND sg.ins_discipline_key = 501 -- CMDB
|
||||
-- AND INSTR (d.ins_deel_omschrijving, '/') > 0
|
||||
-- AND d.ins_deel_key = kd.ins_deel_key);
|
||||
UPDATE ins_kenmerkdeel kd
|
||||
SET kd.ins_kenmerkdeel_verwijder = SYSDATE
|
||||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||||
AND ins_kenmerk_key = 97 -- Werkplek
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM ins_v_aanwezigdeel d, ins_srtdeel sd, ins_srtgroep sg
|
||||
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
AND sg.ins_discipline_key = 501 -- CMDB
|
||||
AND INSTR (d.ins_deel_omschrijving, '/') > 0
|
||||
AND d.ins_deel_key = kd.ins_deel_key);
|
||||
COMMIT;
|
||||
|
||||
-- Vul Werkplek-kenmerkveld (key=97) met gedeelte voor '/' uit identificatie!
|
||||
INSERT INTO ins_kenmerkdeel (ins_deel_key, ins_kenmerk_key, ins_kenmerkdeel_waarde)
|
||||
SELECT d.ins_deel_key, 97, SUBSTR (ins_deel_omschrijving, 1, INSTR (d.ins_deel_omschrijving, '/') - 1)
|
||||
FROM ins_v_aanwezigdeel d, ins_srtdeel sd, ins_srtgroep sg
|
||||
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
AND sg.ins_discipline_key = 501 -- CMDB
|
||||
AND INSTR (d.ins_deel_omschrijving, '/') > 0;
|
||||
COMMIT;
|
||||
|
||||
-- Verwijder gedeelte voor '/' uit identificatie en vul aan met voorloopnullen
|
||||
-- tot 5 posities (als lengte <= 5 posities)!
|
||||
UPDATE ins_deel d
|
||||
SET d.ins_deel_omschrijving = SUBSTR ('00000' || SUBSTR (ins_deel_omschrijving, INSTR (d.ins_deel_omschrijving, '/') + 1), -5)
|
||||
WHERE d.ins_deel_verwijder IS NULL
|
||||
AND INSTR (d.ins_deel_omschrijving, '/') > 0
|
||||
AND LENGTH (SUBSTR (ins_deel_omschrijving, INSTR (d.ins_deel_omschrijving, '/') + 1)) <= 5
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM ins_srtdeel sd, ins_srtgroep sg
|
||||
WHERE sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
AND sg.ins_discipline_key = 501 -- CMDB
|
||||
AND sd.ins_srtdeel_key = d.ins_srtdeel_key);
|
||||
COMMIT;
|
||||
|
||||
-- Verwijder gedeelte voor '/' uit identificatie (als lengte > 5 posities)!
|
||||
UPDATE ins_deel d
|
||||
SET d.ins_deel_omschrijving = SUBSTR (ins_deel_omschrijving, INSTR (d.ins_deel_omschrijving, '/') + 1)
|
||||
WHERE d.ins_deel_verwijder IS NULL
|
||||
AND INSTR (d.ins_deel_omschrijving, '/') > 0
|
||||
AND LENGTH (SUBSTR (ins_deel_omschrijving, INSTR (d.ins_deel_omschrijving, '/') + 1)) > 5
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM ins_srtdeel sd, ins_srtgroep sg
|
||||
WHERE sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
AND sg.ins_discipline_key = 501 -- CMDB
|
||||
AND sd.ins_srtdeel_key = d.ins_srtdeel_key);
|
||||
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
|
||||
Reference in New Issue
Block a user