83 lines
2.7 KiB
SQL
83 lines
2.7 KiB
SQL
-- Customer specific once-script UWVA#33167.
|
|
-- $Id$
|
|
|
|
SET ECHO ON
|
|
SPOOL xuwva#33167.lst
|
|
SET DEFINE OFF
|
|
|
|
SET SERVEROUTPUT ON size 1000000;
|
|
|
|
-- Zoekt voor alle res_ruimtes met standaard-bez_actie "Oproepen" de bezoekersafspraken met een
|
|
-- ophaal-actie of geen actie. Voor die afspraken wordt de bez_actie op "Ophalen" gezet.
|
|
-- (Merk op dat dit gebeurt voor alle oproep-res_ruimtes, ongeacht de locatie)
|
|
DECLARE
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (255);
|
|
v_aanduiding VARCHAR2 (255);
|
|
v_errormsg VARCHAR2 (1024);
|
|
v_errorhint VARCHAR2 (1024);
|
|
|
|
CURSOR c
|
|
IS
|
|
SELECT ac.bez_actie_omschrijving actie_oproep
|
|
,ac.bez_actie_key
|
|
,rr.res_ruimte_nr ruimte
|
|
,rrr.res_rsv_ruimte_key
|
|
,rrr.res_reservering_key||'/'||rrr.res_rsv_ruimte_volgnr deelres
|
|
,rrr.res_rsv_ruimte_van van
|
|
,a.bez_afspraak_key
|
|
,a.bez_actie_key actie_oud
|
|
FROM bez_actie ac
|
|
,res_ruimte rr
|
|
,res_ruimte_opstelling ro
|
|
,res_rsv_ruimte rrr
|
|
,bez_afspraak a
|
|
WHERE BITAND(ac.bez_actie_flags, 1) = 1
|
|
AND rr.bez_actie_key = ac.bez_actie_key
|
|
AND ro.res_ruimte_key = rr.res_ruimte_key
|
|
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
|
AND a.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
|
AND a.bez_afspraak_datum > TRUNC(SYSDATE)
|
|
AND ( a.bez_actie_key != ac.bez_actie_key
|
|
OR a.bez_actie_key IS NULL);
|
|
BEGIN
|
|
FOR r IN c
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding := 'Afspraak '||r.bez_afspraak_key
|
|
||' bij res '||r.deelres
|
|
||' ('||r.res_rsv_ruimte_key
|
|
||') in "'||r.ruimte
|
|
||'" op '||TO_CHAR(r.van, 'dd-mm-yyyy hh24:mi');
|
|
|
|
v_errorhint := 'Update bez_actie bij bez_afspraak';
|
|
|
|
UPDATE bez_afspraak
|
|
SET bez_actie_key = r.bez_actie_key
|
|
WHERE bez_afspraak_key = r.bez_afspraak_key;
|
|
|
|
DBMS_OUTPUT.PUT_LINE (v_aanduiding);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errorhint := v_errormsg;
|
|
v_errormsg :=
|
|
v_aanduiding
|
|
|| '(ORACLE error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
DBMS_OUTPUT.PUT_LINE ('Error: '||v_errormsg||'; Hint: '||v_errorhint);
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
BEGIN adm.systrackscriptId('$Id$'); END;
|
|
/
|
|
COMMIT;
|
|
SPOOL OFF
|