Files
Customer/onces/UWVA/uwva#33167.sql
Peter Koerhuis dccdeb7a9b UWVA#33167 KOS script voor omzetten ophaal- naar oproepactiviteit in LEES0
svn path=/Customer/; revision=25568
2015-07-01 15:57:48 +00:00

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