PLAT#54019: aiai mjob console.
svn path=/Customer/; revision=38569
This commit is contained in:
117
onces/PLAT/PLAT#54019.sql
Normal file
117
onces/PLAT/PLAT#54019.sql
Normal file
@@ -0,0 +1,117 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Dubbele actieve ins_deelsrtcontrole records verwijderen.
|
||||
|
||||
DEFINE thisfile = 'PLAT#54019.sql'
|
||||
DEFINE dbuser = '^WOMA'
|
||||
|
||||
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 ------
|
||||
|
||||
-- Record verwijderen die de aiai veroorzaakt.
|
||||
-- Er zijn twee ingeplande inspecties voor dezelfde taak. Van deze twee inspecties de inspectie met de laagste ins_deelsrtcontrole_key verwijderen.
|
||||
-- ins_deel_key IN (5924)
|
||||
DELETE FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key IN (SELECT min_idsc
|
||||
FROM ( SELECT idsc.ins_deel_key,
|
||||
COUNT(idsc.ins_deelsrtcontrole_key) aantal,
|
||||
MIN(idsc.ins_deelsrtcontrole_key) min_idsc,
|
||||
MAX(idsc.ins_deelsrtcontrole_key) max_idsc
|
||||
FROM ins_deelsrtcontrole idsc
|
||||
WHERE idsc.ins_deelsrtcontrole_status IN (0)
|
||||
AND idsc.ins_scenario_key = 1
|
||||
GROUP BY idsc.ins_deel_key)
|
||||
WHERE aantal = 2);
|
||||
|
||||
|
||||
-- Nu de records verwijderen die door het verschuiven van het bedrag ook de foutmelding kunnen veroorzaken.
|
||||
-- Verwijderen van de ingeplande inspecties als er na deze ingeplande inspectie nog een geaccordeerde inspecties is met een grotere ins_deelsrtcontrole_key key.
|
||||
-- Deze situatie mag niet voorkomen.
|
||||
-- 66 stuks
|
||||
DELETE FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key IN (SELECT min_idsckey
|
||||
FROM (SELECT ins_deel_key,
|
||||
aantal,
|
||||
min_idsckey,
|
||||
max_idsckey,
|
||||
(SELECT idsc2.ins_deelsrtcontrole_status
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
WHERE idsc2.ins_deelsrtcontrole_key = min_idsckey) eerste_status,
|
||||
(SELECT idsc2.ins_deelsrtcontrole_status
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
WHERE idsc2.ins_deelsrtcontrole_key = max_idsckey) laatste_status
|
||||
FROM ( SELECT idsc.ins_deel_key,
|
||||
COUNT(idsc.ins_deelsrtcontrole_key) aantal,
|
||||
MAX(idsc.ins_deelsrtcontrole_key) max_idsckey,
|
||||
MIN(idsc.ins_deelsrtcontrole_key) min_idsckey
|
||||
FROM ins_deelsrtcontrole idsc
|
||||
WHERE idsc.ins_deelsrtcontrole_status IN (0, 2)
|
||||
AND idsc.ins_scenario_key = 1
|
||||
GROUP BY idsc.ins_deel_key)
|
||||
WHERE aantal > 1)
|
||||
WHERE aantal = 2
|
||||
AND eerste_status = 0
|
||||
AND laatste_status = 2);
|
||||
|
||||
-- Verwijderen van de ingeplande inspecties als er na deze ingeplande inspectie nog een voltooide inspecties is met een grotere ins_deelsrtcontrole_key key.
|
||||
-- Deze situatie mag niet voorkomen.
|
||||
-- ins_deel_key IN (497, 501, 677, 1776, 1974, 2000 ,4032, 5943, 6361, 6381)
|
||||
DELETE FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key IN (SELECT (SELECT ins_deelsrtcontrole_key
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
WHERE idsc2.ins_deel_key = xx.ins_deel_key
|
||||
AND idsc2.ins_srtcontrole_key = xx.ins_srtcontrole_key
|
||||
AND idsc2.ins_scenario_key = 1
|
||||
AND idsc2.ins_deelsrtcontrole_status = 0) ins_deelsrtcontrole_key0
|
||||
FROM (SELECT ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
aantal,
|
||||
min_idsckey,
|
||||
max_idsckey,
|
||||
(SELECT idsc2.ins_deelsrtcontrole_status
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
WHERE idsc2.ins_deelsrtcontrole_key = min_idsckey) eerste_status,
|
||||
(SELECT idsc2.ins_deelsrtcontrole_status
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
WHERE idsc2.ins_deelsrtcontrole_key = max_idsckey) laatste_status
|
||||
FROM ( SELECT idsc.ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
COUNT(idsc.ins_deelsrtcontrole_key) aantal,
|
||||
MAX(idsc.ins_deelsrtcontrole_key) max_idsckey,
|
||||
MIN(idsc.ins_deelsrtcontrole_key) min_idsckey
|
||||
FROM ins_deelsrtcontrole idsc
|
||||
WHERE idsc.ins_deelsrtcontrole_status IN (0, 6)
|
||||
AND idsc.ins_scenario_key = 1
|
||||
GROUP BY idsc.ins_deel_key,
|
||||
ins_srtcontrole_key)
|
||||
WHERE aantal > 1) xx
|
||||
WHERE xx.aantal >= 2
|
||||
AND EXISTS
|
||||
(SELECT ins_deelsrtcontrole_key
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
WHERE idsc2.ins_deel_key = xx.ins_deel_key
|
||||
AND idsc2.ins_srtcontrole_key = xx.ins_srtcontrole_key
|
||||
AND idsc2.ins_scenario_key = 1
|
||||
AND idsc2.ins_deelsrtcontrole_status = 0)
|
||||
AND xx.laatste_status = 6);
|
||||
|
||||
------ 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