Files
Customer/onces/WELK/WELK#75628.sql
Sander Schepers fe8468f0af WELK#75628 opschonen geschiedenis Facilitor
svn path=/Customer/; revision=61244
2023-07-19 14:44:40 +00:00

107 lines
3.4 KiB
SQL

--
-- $Id$
--
-- Dit script schoont de reserveringen en meldingen die zijn afgemeld voor 01-01-2021 (zet ze in het archief). Korte beschrijving wat het script doet
-- Voor dbuser invullen: - indien script voor 1 klant is: 'AADS' (de klantcode, zoals vermeld in fac_version_cust)
-- - script is voor meerdere klanten: 'AAXX' (de groepcode, zoals vermeld in fac_version_group)
-- - script is voor meerdere klanten met naam volgens een bepaald patroon: '^AA|^ASMS|^GULU|^NMMS|^RABO|^ZKHM'
--
DEFINE thisfile = 'WELK#75628.SQL'
DEFINE dbuser = 'WELK'
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_mld IS
SELECT m.mld_melding_key
FROM mld_melding m
WHERE m.mld_melding_status = 5 --Afgemeld
AND TRUNC (m.mld_melding_datum) <
TO_DATE ('01012021', 'DDMMYYYY');
CURSOR c_opdr IS
SELECT m.mld_melding_key,
o.mld_opdr_key,
o.mld_opdr_bedrijfopdr_volgnr
FROM mld_melding m, mld_opdr o
WHERE m.mld_melding_key = o.mld_melding_key
AND m.mld_melding_status IN (5,6) --Afgemeld/Verwerkt
AND o.mld_statusopdr_key = 6 --Afgemeld
AND TRUNC (m.mld_melding_datum) <
TO_DATE ('01012021', 'DDMMYYYY');
CURSOR c_res IS
SELECT res_rsv_ruimte_key, res_reservering_key, res_rsv_ruimte_van
FROM res_rsv_ruimte
WHERE res_status_bo_key IN (2, 5)
AND res_rsv_ruimte_verwijder IS NULL
AND TRUNC (res_rsv_ruimte_van) <
TO_DATE ('01012021', 'DDMMYYYY');
BEGIN
FOR rec IN c_mld
LOOP
UPDATE mld_melding
SET mld_melding_status = 6
WHERE mld_melding_key = rec.mld_melding_key;
fac.trackaction ('MLDVER',
rec.mld_melding_key,
4,
NULL,
'Administratief verwerkt');
END LOOP;
FOR rec IN c_opdr
LOOP
UPDATE mld_opdr
SET mld_statusopdr_key = 7
WHERE mld_opdr_key = rec.mld_opdr_key;
fac.trackaction (
'ORDVER',
rec.mld_opdr_key,
4,
NULL,
'Opdracht ' || rec.mld_opdr_key || ' is geheel verwerkt');
END LOOP;
FOR rec IN c_res
LOOP
UPDATE res_rsv_ruimte
SET res_status_bo_key = 6
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
fac.trackaction ('RESVER',
rec.res_rsv_ruimte_key,
4,
NULL,
'Administratief verwerkt');
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