FCLT#82178 once script om verwijderde reserveringen te 'resurrecten'
svn path=/Customer/; revision=63478
This commit is contained in:
108
onces/COMMON/FCLT#82178.sql
Normal file
108
onces/COMMON/FCLT#82178.sql
Normal file
@@ -0,0 +1,108 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Als gevolg van FCLT#81770 zijn veel gekoppelde reserveringen aan de Facilitor kant verwijderd
|
||||
-- Dit script wil die reserveringen, inclusief voorzieningen & catering, herstellen
|
||||
-- Omdat de 'koppelingen onder water' nog in tact zijn kunnen we met dit once script de artikelen, delen en rsv_ruimtes 'undeleten'
|
||||
-- om zo zo dicht mogelijk bij de herstelde situatie te komen
|
||||
-- Bezoekers bij reserveringen zijn wel onherroepelijk verwijderd
|
||||
|
||||
-- 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 = 'FCLT#82178.SQL'
|
||||
DEFINE dbuser = '^ALKM|^ASPN|^EBNF|^LBRN|^WELK|^WZUV|^AAIT|^ALLR|^CVGZ|^PROR'
|
||||
|
||||
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 resurrect IS
|
||||
SELECT res_rsv_ruimte_key, res_reservering_key, res_rsv_ruimte_volgnr
|
||||
FROM res_rsv_ruimte rrr,
|
||||
prs_perslid p,
|
||||
fac_tracking tr,
|
||||
fac_srtnotificatie str
|
||||
WHERE res_rsv_ruimte_verwijder BETWEEN TO_DATE (
|
||||
'06-02-2024 13:00',
|
||||
'DD-MM-YYYY HH24-MI')
|
||||
AND TO_DATE (
|
||||
'06-02-2024 13:15',
|
||||
'DD-MM-YYYY HH24-MI')
|
||||
AND res_ruimte_opstel_key = 521
|
||||
AND res_rsv_ruimte_externnr IS NOT NULL
|
||||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = tr.fac_tracking_refkey(+)
|
||||
AND tr.prs_perslid_key IS NULL
|
||||
AND tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key
|
||||
AND str.fac_srtnotificatie_code = 'RESDEL'
|
||||
AND tr.fac_tracking_datum BETWEEN TO_DATE (
|
||||
'06-02-2024 13:00',
|
||||
'DD-MM-YYYY HH24-MI')
|
||||
AND TO_DATE (
|
||||
'06-02-2024 13:15',
|
||||
'DD-MM-YYYY HH24-MI');
|
||||
BEGIN
|
||||
FOR rec IN resurrect
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE res_rsv_deel
|
||||
SET res_rsv_deel_verwijder = NULL
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key
|
||||
AND res_rsv_deel_verwijder =
|
||||
(SELECT res_rsv_ruimte_verwijder
|
||||
FROM res_rsv_ruimte
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key);
|
||||
|
||||
UPDATE res_rsv_artikel
|
||||
SET res_rsv_artikel_verwijder = NULL
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key
|
||||
AND res_rsv_artikel_verwijder =
|
||||
(SELECT res_rsv_ruimte_verwijder
|
||||
FROM res_rsv_ruimte
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key);
|
||||
|
||||
UPDATE res_rsv_ruimte
|
||||
SET res_rsv_ruimte_externsyncdate = SYSDATE,
|
||||
res_rsv_ruimte_verwijder = NULL,
|
||||
res_status_fo_key = 2
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX
|
||||
THEN -- Er bestaat al een reservering met dit externnr
|
||||
DBMS_OUTPUT.PUT_LINE (
|
||||
'externnr van r'
|
||||
|| rec.res_reservering_key
|
||||
|| '/'
|
||||
|| rec.res_rsv_ruimte_volgnr
|
||||
|| ' reeds overschreven.');
|
||||
CONTINUE;
|
||||
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
|
||||
Reference in New Issue
Block a user