204 lines
8.7 KiB
SQL
204 lines
8.7 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Customer specific once-script YASK#66676.SQL.
|
|
DEFINE thisfile = 'YASK#66676.SQL'
|
|
DEFINE dbuser = '^YASK'
|
|
|
|
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 ------
|
|
|
|
-- YASK#66676: Historisch corrigeren Kostenplaats-kenmerkveld op melding.
|
|
/*
|
|
SELECT m.mld_melding_key, km.mld_kenmerkmelding_waarde
|
|
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k, mld_melding m
|
|
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61 -- Klant Kostenplaats
|
|
AND (km.mld_kenmerkmelding_waarde LIKE 'B1%'
|
|
OR km.mld_kenmerkmelding_waarde LIKE 'B2%'
|
|
OR km.mld_kenmerkmelding_waarde LIKE 'B3%')
|
|
AND km.mld_melding_key = m.mld_melding_key
|
|
MINUS
|
|
SELECT m.mld_melding_key, km.mld_kenmerkmelding_waarde
|
|
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k, mld_melding m
|
|
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61 -- Klant Kostenplaats
|
|
AND (km.mld_kenmerkmelding_waarde LIKE 'B1%'
|
|
OR km.mld_kenmerkmelding_waarde LIKE 'B2%'
|
|
OR km.mld_kenmerkmelding_waarde LIKE 'B3%')
|
|
AND km.mld_melding_key = m.mld_melding_key
|
|
AND (m.mld_alg_locatie_key = 81 -- Power Packer
|
|
OR m.prs_kostenplaats_key = 41 -- Power Packer
|
|
OR EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 1241
|
|
AND p.prs_perslid_key = m.prs_perslid_key));
|
|
*/
|
|
DELETE FROM mld_kenmerkmelding km
|
|
WHERE km.mld_kenmerkmelding_verwijder IS NULL
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_kenmerk k
|
|
WHERE k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61
|
|
AND k.mld_kenmerk_key = km.mld_kenmerk_key)
|
|
AND km.mld_kenmerkmelding_waarde LIKE 'B1%';
|
|
COMMIT;
|
|
|
|
UPDATE mld_kenmerkmelding km
|
|
SET km.mld_kenmerkmelding_waarde = 'B2'
|
|
WHERE km.mld_kenmerkmelding_verwijder IS NULL
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_kenmerk k
|
|
WHERE k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61
|
|
AND k.mld_kenmerk_key = km.mld_kenmerk_key)
|
|
AND km.mld_kenmerkmelding_waarde LIKE 'B2%';
|
|
COMMIT;
|
|
|
|
UPDATE mld_kenmerkmelding km
|
|
SET km.mld_kenmerkmelding_waarde = 'B3'
|
|
WHERE km.mld_kenmerkmelding_verwijder IS NULL
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_kenmerk k
|
|
WHERE k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61
|
|
AND k.mld_kenmerk_key = km.mld_kenmerk_key)
|
|
AND km.mld_kenmerkmelding_waarde LIKE 'B3%';
|
|
COMMIT;
|
|
|
|
-- YASK#66676: Historisch corrigeren Kostenplaats-kenmerkveld op opdracht.
|
|
/*
|
|
SELECT o.mld_melding_key, o.mld_opdr_bedrijfopdr_volgnr, ko.mld_kenmerkopdr_waarde
|
|
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k, mld_opdr o
|
|
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61 -- Klant Kostenplaats
|
|
AND (ko.mld_kenmerkopdr_waarde LIKE 'B1%'
|
|
OR ko.mld_kenmerkopdr_waarde LIKE 'B2%'
|
|
OR ko.mld_kenmerkopdr_waarde LIKE 'B3%')
|
|
AND ko.mld_opdr_key = o.mld_opdr_key
|
|
MINUS
|
|
SELECT o.mld_melding_key, o.mld_opdr_bedrijfopdr_volgnr, ko.mld_kenmerkopdr_waarde
|
|
FROM mld_v_aanwezigkenmerkopdr ko, mld_kenmerk k, mld_opdr o, mld_melding m
|
|
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61 -- Klant Kostenplaats
|
|
AND (ko.mld_kenmerkopdr_waarde LIKE 'B1%'
|
|
OR ko.mld_kenmerkopdr_waarde LIKE 'B2%'
|
|
OR ko.mld_kenmerkopdr_waarde LIKE 'B3%')
|
|
AND ko.mld_opdr_key = o.mld_opdr_key
|
|
AND o.mld_melding_key = m.mld_melding_key
|
|
AND (m.mld_alg_locatie_key = 81 -- Power Packer
|
|
OR o.prs_kostenplaats_key = 41 -- Power Packer
|
|
OR EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 1241
|
|
AND p.prs_perslid_key = m.prs_perslid_key));
|
|
*/
|
|
DELETE FROM mld_kenmerkopdr ko
|
|
WHERE ko.mld_kenmerkopdr_verwijder IS NULL
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_kenmerk k
|
|
WHERE k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61
|
|
AND k.mld_kenmerk_key = ko.mld_kenmerk_key)
|
|
AND ko.mld_kenmerkopdr_waarde LIKE 'B1%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_opdr o, mld_melding m
|
|
WHERE o.mld_melding_key = m.mld_melding_key
|
|
AND (m.mld_alg_locatie_key = 81 -- Power Packer
|
|
OR o.prs_kostenplaats_key = 41 -- Power Packer
|
|
OR EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 1241
|
|
AND p.prs_perslid_key = m.prs_perslid_key))
|
|
AND o.mld_opdr_key = ko.mld_opdr_key);
|
|
COMMIT;
|
|
|
|
UPDATE mld_kenmerkopdr ko
|
|
SET ko.mld_kenmerkopdr_waarde = 'B2'
|
|
WHERE ko.mld_kenmerkopdr_verwijder IS NULL
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_kenmerk k
|
|
WHERE k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61
|
|
AND k.mld_kenmerk_key = ko.mld_kenmerk_key)
|
|
AND ko.mld_kenmerkopdr_waarde LIKE 'B2%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_opdr o, mld_melding m
|
|
WHERE o.mld_melding_key = m.mld_melding_key
|
|
AND (m.mld_alg_locatie_key = 81 -- Power Packer
|
|
OR o.prs_kostenplaats_key = 41 -- Power Packer
|
|
OR EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 1241
|
|
AND p.prs_perslid_key = m.prs_perslid_key))
|
|
AND o.mld_opdr_key = ko.mld_opdr_key);
|
|
COMMIT;
|
|
|
|
UPDATE mld_kenmerkopdr ko
|
|
SET ko.mld_kenmerkopdr_waarde = 'B3'
|
|
WHERE ko.mld_kenmerkopdr_verwijder IS NULL
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_kenmerk k
|
|
WHERE k.mld_kenmerk_verwijder IS NULL
|
|
AND k.mld_srtkenmerk_key = 61
|
|
AND k.mld_kenmerk_key = ko.mld_kenmerk_key)
|
|
AND ko.mld_kenmerkopdr_waarde LIKE 'B3%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_opdr o, mld_melding m
|
|
WHERE o.mld_melding_key = m.mld_melding_key
|
|
AND (m.mld_alg_locatie_key = 81 -- Power Packer
|
|
OR o.prs_kostenplaats_key = 41 -- Power Packer
|
|
OR EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 1241
|
|
AND p.prs_perslid_key = m.prs_perslid_key))
|
|
AND o.mld_opdr_key = ko.mld_opdr_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
|