Files
Customer/onces/FMHN/FMHN#73172_2.sql
Robin Stoker f2c6319070 FMHN#73172 -- Correctie op nog openstaande meldingen
svn path=/Customer/; revision=56481
2022-07-05 13:39:06 +00:00

420 lines
11 KiB
SQL

--
-- $Id$
--
-- Customer specific once-script FMHN#73172_2.sql.
DEFINE thisfile = 'FMHN#73172_2.sql'
DEFINE dbuser = '^FMHN'
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 c1 -- meldingen
IS
SELECT m.mld_melding_key,
m.mld_melding_status,
(SELECT MIN (f.fac_tracking_datum)
FROM fac_tracking f, fac_srtnotificatie fn
WHERE f.fac_srtnotificatie_key = fn.fac_srtnotificatie_key
AND fn.fac_srtnotificatie_xmlnode = 'melding'
AND fac_tracking_refkey = m.mld_melding_key)
datum
FROM mld_melding m
WHERE m.mld_melding_status <> 5
AND mld_melding_key IN
(38173,
41706,
41705,
34219,
34218,
38178,
38177,
43864,
41817,
41816,
41814,
40111,
42384,
39273,
42383,
43669,
43668,
41087,
39026,
41086,
39276,
40244,
39278,
41641,
28260,
36912,
36911,
41640,
43273,
34223,
44480,
34226,
32826,
56265,
70221,
70383,
70468,
70485,
70588,
70717,
24814,
25394,
25428,
51660,
49169,
53987,
17575,
35048,
18674,
21914,
22311,
18123,
17485,
18987,
18131,
22537,
38339,
38342,
38214,
39033,
18888,
15445,
39405,
6840,
54403,
19215,
23288,
17179,
17180,
54437,
54471,
54472,
23427,
18697,
18145,
23483,
23532,
18154,
23593,
18155,
6951,
17586,
17587,
41975,
42108,
17601,
17600,
42075,
17610,
17609,
42632,
54538,
19004,
23942,
18754,
23915,
18736,
23986,
42462,
43204,
24149,
18718,
43278,
42977,
43197,
18126,
24215,
18125,
24212,
14005,
14006,
54702,
54692,
9318,
11947,
11948,
54699,
24760,
25373,
54798,
44466,
44426,
54818,
54883,
50484,
50485,
51304,
49033,
51358,
49032,
54920,
52002,
50910,
45396,
52983,
51528,
52985,
53126,
52986,
52987,
52988,
52989,
52990,
52991,
18818,
12098,
12680,
28693,
18791,
14468,
14450,
14319,
18904,
14666,
10480,
10489,
18898,
18817,
15857,
16503,
42651,
17138);
CURSOR c2
IS
SELECT o.mld_opdr_key,
o.mld_statusopdr_key,
(SELECT MIN (f.fac_tracking_datum)
FROM fac_tracking f, fac_srtnotificatie fn
WHERE f.fac_srtnotificatie_key = fn.fac_srtnotificatie_key
AND fn.fac_srtnotificatie_xmlnode = 'opdracht'
AND fac_tracking_refkey = o.mld_opdr_key)
datum
FROM mld_opdr o
WHERE o.mld_statusopdr_key <> 6 -- afgemeld
AND o.mld_melding_key IN
(38173,
41706,
41705,
34219,
34218,
38178,
38177,
43864,
41817,
41816,
41814,
40111,
42384,
39273,
42383,
43669,
43668,
41087,
39026,
41086,
39276,
40244,
39278,
41641,
28260,
36912,
36911,
41640,
43273,
34223,
44480,
34226,
32826,
56265,
70221,
70383,
70468,
70485,
70588,
70717,
24814,
25394,
25428,
51660,
49169,
53987,
17575,
35048,
18674,
21914,
22311,
18123,
17485,
18987,
18131,
22537,
38339,
38342,
38214,
39033,
18888,
15445,
39405,
6840,
54403,
19215,
23288,
17179,
17180,
54437,
54471,
54472,
23427,
18697,
18145,
23483,
23532,
18154,
23593,
18155,
6951,
17586,
17587,
41975,
42108,
17601,
17600,
42075,
17610,
17609,
42632,
54538,
19004,
23942,
18754,
23915,
18736,
23986,
42462,
43204,
24149,
18718,
43278,
42977,
43197,
18126,
24215,
18125,
24212,
14005,
14006,
54702,
54692,
9318,
11947,
11948,
54699,
24760,
25373,
54798,
44466,
44426,
54818,
54883,
50484,
50485,
51304,
49033,
51358,
49032,
54920,
52002,
50910,
45396,
52983,
51528,
52985,
53126,
52986,
52987,
52988,
52989,
52990,
52991,
18818,
12098,
12680,
28693,
18791,
14468,
14450,
14319,
18904,
14666,
10480,
10489,
18898,
18817,
15857,
16503,
42651,
17138);
BEGIN
FOR rec IN c2 -- We doen eerst de opdrachten, anders geeft die cursor straks geen resultaat meer omdat de meldingen zijn afgemeld
LOOP
BEGIN
UPDATE mld_opdr
SET mld_statusopdr_key = 6 -- Afgemeld
WHERE mld_opdr_key = rec.mld_opdr_key;
fac.trackaction ('#ORDAFM',
rec.mld_opdr_key,
3,
rec.datum,
'Afgemeld door systeem');
END;
END LOOP;
FOR rec IN c1
LOOP
BEGIN
UPDATE mld_melding
SET mld_melding_status = 5 -- Afgemeld
WHERE mld_melding_key = rec.mld_melding_key;
fac.trackaction ('#MLDAFM',
rec.mld_melding_key,
3,
rec.datum,
'Afgemeld door systeem');
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