-- -- $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