-- -- $Id$ -- -- Omzetten van huidige inrichting met vakgroepen per team naar vakgroepen per product en secundaire behandelgroepen -- Er is handmatig al e.e.a. aangemaakt zodat we hier van bekende keys uit kunnen gaan: -- -- Nieuwe disciplines Facilitor (161), Mareon (181) en Plato (182) -- Corresponderende meldingen: -- Gebrek|Verstoring (201, 241, 245) -- Ondersteuning (202, 242, 246) -- Vraag (203, 243, 247) -- Wens (221, 244, 248) DEFINE thisfile = 'LOGC#56439.SQL' DEFINE dbuser = '^LOGC' 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 ------ -- Eerst doen we alles onder FACILITOR, achteraf splitsen we nog naar Mareon en Plato -- Het omzetten van Ticket/Consultants/Ticket[@Ondersteuning] naar Tickets/FACILITOR/Ondersteuning enz. -- De secundaire behandelaar wordt gevuld met de primaire behandelaar -- kenmerk 21 is het type: Gebrek, Wens, Ondersteuning en Vraag en bepaalt de nieuwe stdmelding -- Waar het type bekend is, kun je 1-op-1 omzetten UPDATE mld_melding m SET m.mld_ins_discipline_key = (SELECT sm.mld_ins_discipline_key FROM mld_stdmelding sm WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key), mld_melding_behandelaar2_key = mld_melding_behandelaar_key, m.mld_stdmelding_key = (SELECT DECODE (kmm.mld_kenmerkmelding_waarde, 1, 201, 2, 202, 3, 203, 4, 221) FROM mld_kenmerkmelding kmm WHERE kmm.mld_melding_key = m.mld_melding_key AND kmm.mld_kenmerk_key = 21) WHERE m.mld_melding_key IN (SELECT mld_melding_key FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 21 AND mld_kenmerkmelding_verwijder IS NULL); -- Waar het type NIET bekend is, vertalen we de tickets obv de huidige primaire behandelgroep -- wat bepaald wordt via de stdmelding UPDATE mld_melding m SET m.mld_ins_discipline_key = (SELECT sm.mld_ins_discipline_key FROM mld_stdmelding sm WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key), mld_melding_behandelaar2_key = mld_melding_behandelaar_key, m.mld_stdmelding_key = DECODE (m.mld_stdmelding_key, 22, 221, 23, 202, 24, 221, 101, 203, 81, 203, 25, 203, 3, 203, m.mld_stdmelding_key) -- rest is geen tickets WHERE NOT EXISTS (SELECT '' FROM mld_kenmerkmelding km WHERE mld_kenmerk_key = 21 AND mld_kenmerkmelding_verwijder IS NULL AND km.mld_melding_key = m.mld_melding_key); -- De oude vakgroepen worden secundaire behandelgroepen, net als de nieuwe Testen en Release UPDATE mld_disc_params SET mld_disc_params_srtgroep = 2 WHERE mld_ins_discipline_key IN (22,42,41,81,43,21,201,202); -- Meldingen met Test-balletje krijgen secundaire behandelgroep Testen UPDATE mld_melding SET mld_ins_discipline_key = 201 WHERE mld_melding_flag = 4; -- Meldingen met 2Saas-balletje krijgen secundaire behandelgroep Release UPDATE mld_melding SET mld_ins_discipline_key = 202 WHERE mld_melding_flag = 5; --Nu gaan we MARX splitsen naar de Mareon-vakgroep: -- Kenmerk 25 is de fixversie/release UPDATE mld_melding SET mld_stdmelding_key = DECODE (mld_stdmelding_key, 201, 241, 202, 242, 203, 243, 221, 244, mld_stdmelding_key) WHERE prs_kostenplaats_key = (SELECT prs_kostenplaats_key FROM prs_kostenplaats WHERE prs_kostenplaats_upper = 'MARX'); UPDATE mld_melding SET mld_stdmelding_key = DECODE (mld_stdmelding_key, 201, 241, 202, 242, 203, 243, 221, 244, mld_stdmelding_key) WHERE mld_melding_key IN (SELECT mld_melding_key FROM mld_kenmerkmelding kmm WHERE kmm.mld_kenmerkmelding_waarde LIKE 'MARX%' AND kmm.mld_kenmerk_key = 25); --Nu gaan we PLAT splitsen naar de Plato-vakgroep: UPDATE mld_melding SET mld_stdmelding_key = DECODE (mld_stdmelding_key, 201, 245, 202, 246, 203, 247, 221, 248, mld_stdmelding_key) WHERE prs_kostenplaats_key = (SELECT prs_kostenplaats_key FROM prs_kostenplaats WHERE prs_kostenplaats_upper = 'PLAT'); UPDATE mld_melding SET mld_stdmelding_key = DECODE (mld_stdmelding_key, 201, 245, 202, 246, 203, 247, 221, 248, mld_stdmelding_key) WHERE mld_melding_key IN (SELECT mld_melding_key FROM mld_kenmerkmelding kmm WHERE kmm.mld_kenmerkmelding_waarde LIKE 'PLAT%' AND kmm.mld_kenmerk_key = 25); -- Nu moet er (handmatig) geautoriseerd gaan worden ------ 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