55 lines
1.7 KiB
SQL
55 lines
1.7 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script om melding bij rondleidingen af te melden als alle opdracht ook afgewezen of afgemeld zijn.
|
|
--
|
|
DEFINE thisfile = 'KMMO#77565.sql'
|
|
DEFINE dbuser = '^KMMO'
|
|
|
|
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 c IS
|
|
SELECT mld_melding_key
|
|
FROM mld_melding m, mld_stdmelding std
|
|
WHERE m.mld_melding_status IN (2, 3, 4) -- Nieuw, Te accepteren, In behandeling
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = 361 -- Rondleidingen
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM mld_opdr o
|
|
WHERE o.mld_melding_key = m.mld_melding_key AND o.mld_statusopdr_key NOT IN (6, 1)) -- afgemeld en afgewezen
|
|
AND mld_melding_einddatum < TO_DATE ('20230601', 'yyyymmdd');
|
|
BEGIN
|
|
FOR rec IN c
|
|
LOOP
|
|
mld.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- afgemeld
|
|
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
|