-- Customer specific once-script SBSH#24076. -- -- (c) 2012 SG|facilitor bv -- $Revision$ -- $Id$ -- -- Support: +31 53 4800700 SET ECHO ON SPOOL xsbsh#24076.lst SET DEFINE OFF SET SERVEROUTPUT ON size 1000000; -- SBSH#24076 - Alles voor 1/10/2012 correct bevriezen! -- Catering /* DECLARE oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (255); v_errormsg VARCHAR2 (1024); v_errorhint VARCHAR2 (1024); BEGIN FOR rc IN ( SELECT '[' || TO_CHAR (ra.res_rsv_artikel_levering, 'yyyy-mm-dd hh24:mi') || '/' || TO_CHAR (rr.res_reservering_key) || '/' || TO_CHAR (rr.res_rsv_ruimte_volgnr) || '/' || a.res_artikel_omschrijving || '] ' aanduiding, ra.res_rsv_artikel_key, ra.res_artikel_key, ra.res_rsv_artikel_verwijder, ra.res_rsv_artikel_prijs old_prijs, DECODE ( TO_CHAR (ra.res_rsv_artikel_levering, 'D'), 1, -- Zondag DECODE ( a.res_artikel_kostenpersoneel, 2, ra.res_rsv_artikel_aantal * a.res_artikel_prijs * 1.25, 3, ra.res_rsv_artikel_aantal * a.res_artikel_prijs * 1.5, ra.res_rsv_artikel_aantal * a.res_artikel_prijs ), 7, -- Zaterdag DECODE ( a.res_artikel_kostenpersoneel, 2, ra.res_rsv_artikel_aantal * a.res_artikel_prijs * 1.25, 3, ra.res_rsv_artikel_aantal * a.res_artikel_prijs * 1.5, ra.res_rsv_artikel_aantal * a.res_artikel_prijs ), ra.res_rsv_artikel_aantal * a.res_artikel_prijs ) new_prijs FROM res_rsv_artikel ra, res_artikel a, res_rsv_ruimte rr WHERE ra.res_rsv_artikel_verwijder IS NULL --AND ra.res_status_bo_key = 5 AND ra.res_artikel_key = a.res_artikel_key AND a.res_artikel_prijs_vast = 1 AND ra.res_rsv_artikel_levering < TO_DATE ('01-10-2012', 'dd-mm-yyyy') AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key AND rr.res_rsv_ruimte_verwijder IS NULL ORDER BY 1) LOOP BEGIN v_errormsg := 'Fout bij bijwerken res_rsv_artikel_prijs'; IF (rc.old_prijs <> rc.new_prijs) THEN UPDATE res_rsv_artikel ra SET ra.res_rsv_artikel_prijs = rc.new_prijs WHERE ra.res_rsv_artikel_key = rc.res_rsv_artikel_key; DBMS_OUTPUT.PUT_LINE( rc.aanduiding || 'Prijs van: ' || TO_CHAR (rc.old_prijs) || ' naar: ' || TO_CHAR (rc.new_prijs)); ELSE DBMS_OUTPUT.PUT_LINE (rc.aanduiding || 'Prijs ongewijzigd!'); END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errorhint := v_errormsg; v_errormsg := rc.aanduiding || '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')'; DBMS_OUTPUT.PUT_LINE ( 'Error: ' || v_errormsg || '; Hint: ' || v_errorhint ); END; END LOOP; END; / COMMIT; */ -- Voorzieningen /* DECLARE oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (255); v_errormsg VARCHAR2 (1024); v_errorhint VARCHAR2 (1024); BEGIN FOR rc IN ( SELECT '[' || TO_CHAR (rd.res_rsv_deel_van, 'yyyy-mm-dd hh24:mi') || '/' || TO_CHAR (rr.res_reservering_key) || '/' || TO_CHAR (rr.res_rsv_ruimte_volgnr) || '/' || TO_CHAR (d.res_deel_key) || '] ' aanduiding, rd.res_rsv_deel_key, rd.res_deel_key, rd.res_rsv_deel_verwijder, rd.res_rsv_deel_prijs old_prijs, DECODE ( rr.res_activiteit_key, 10, 0, -- Voorzieningen gratis bij interne boeking! COALESCE ( (rd.res_rsv_deel_tot - rd.res_rsv_deel_van) * 24 * d.res_deel_prijs, 0 ) ) new_prijs FROM res_rsv_deel rd, res_deel d, res_rsv_ruimte rr WHERE rd.res_rsv_deel_verwijder IS NULL --AND rd.res_status_bo_key = 5 AND rd.res_deel_key = d.res_deel_key AND d.res_deel_prijs_vast = 1 AND rd.res_rsv_deel_van < TO_DATE ('01-10-2012', 'dd-mm-yyyy') AND rd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key AND rr.res_rsv_ruimte_verwijder IS NULL AND rr.res_ruimte_opstel_key IS NOT NULL ORDER BY 1) LOOP BEGIN v_errormsg := 'Fout bij bijwerken res_rsv_deel_prijs'; IF (rc.old_prijs <> rc.new_prijs) THEN UPDATE res_rsv_deel rd SET rd.res_rsv_deel_prijs = rc.new_prijs WHERE rd.res_rsv_deel_key = rc.res_rsv_deel_key; DBMS_OUTPUT.PUT_LINE( rc.aanduiding || 'Prijs van: ' || TO_CHAR (rc.old_prijs) || ' naar: ' || TO_CHAR (rc.new_prijs)); ELSE DBMS_OUTPUT.PUT_LINE (rc.aanduiding || 'Prijs ongewijzigd!'); END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errorhint := v_errormsg; v_errormsg := rc.aanduiding || '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')'; DBMS_OUTPUT.PUT_LINE ( 'Error: ' || v_errormsg || '; Hint: ' || v_errorhint ); END; END LOOP; END; / COMMIT; */ -- Ruimten DECLARE oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (255); v_errormsg VARCHAR2 (1024); v_errorhint VARCHAR2 (1024); BEGIN FOR rc IN ( SELECT '[' || TO_CHAR (x.res_rsv_ruimte_van, 'yyyy-mm-dd hh24:mi') || '/' || TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) || '/' || TO_CHAR (x.res_ruimte_opstel_key) || '] ' aanduiding, x.res_rsv_ruimte_key, x.res_rsv_ruimte_verwijder, x.res_rsv_ruimte_prijs old_prijs, x.aantal * DECODE ( y.tarief, 'Profit', -- Profit = Prijs bij middag! DECODE (TO_CHAR (x.res_rsv_ruimte_van, 'D'), 1, -- Zondag DECODE (x.pa, 2, x.pm * 2.3, x.pm * 1.2), 7, -- Zaterdag DECODE (x.pa, 2, x.pm * 2.3, x.pm * 1.2), x.pm), DECODE ( -- Non-profit = Prijs bij ochtend! TO_CHAR (x.res_rsv_ruimte_van, 'D'), 1, -- Zondag DECODE (x.pa, 2, x.po * 2, x.po * 1.2), 7, -- Zaterdag DECODE (x.pa, 2, x.po * 2, x.po * 1.2), x.po) ) new_prijs FROM (SELECT a.prs_afdeling_key, rr.res_rsv_ruimte_van, rr.res_reservering_key, rr.res_rsv_ruimte_volgnr, rr.res_ruimte_opstel_key, rr.res_rsv_ruimte_key, rr.res_rsv_ruimte_verwijder, rr.res_rsv_ruimte_prijs, (rr.res_rsv_ruimte_tot - rr.res_rsv_ruimte_van) * 24 aantal, -- Duur in uren DECODE (rr.res_activiteit_key, 10, 0, -- Ruimte gratis bij interne boeking! r.res_ruimte_prijs_ochtend) po, -- Non-profit tarief DECODE (rr.res_activiteit_key, 10, 0, -- Ruimte gratis bij interne boeking! r.res_ruimte_prijs_middag) pm, -- Profit tarief r.res_ruimte_prijs_avond pa -- Welke weekend-factor FROM res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro, res_ruimte r, prs_perslid p, prs_afdeling a WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key AND ro.res_ruimte_key = r.res_ruimte_key AND rr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key AND rr.res_rsv_ruimte_van < TO_DATE ('01-10-2012', 'dd-mm-yyyy') AND rr.res_ruimte_opstel_key IS NOT NULL) x LEFT JOIN (SELECT prs_link_key, ud.fac_usrdata_omschr tarief FROM prs_v_aanwezigkenmerklink, fac_usrdata ud WHERE prs_kenmerk_key = 1000 -- Tarief AND fac.safe_to_number (prs_kenmerklink_waarde) = ud.fac_usrdata_key) y ON x.prs_afdeling_key = y.prs_link_key ORDER BY 1) LOOP BEGIN v_errormsg := 'Fout bij bijwerken res_rsv_ruimte_prijs'; IF (rc.old_prijs <> rc.new_prijs) THEN UPDATE res_rsv_ruimte rr SET rr.res_rsv_ruimte_prijs = rc.new_prijs WHERE rr.res_rsv_ruimte_key = rc.res_rsv_ruimte_key; DBMS_OUTPUT.PUT_LINE( rc.aanduiding || 'Prijs van: ' || TO_CHAR (rc.old_prijs) || ' naar: ' || TO_CHAR (rc.new_prijs)); ELSE DBMS_OUTPUT.PUT_LINE (rc.aanduiding || 'Prijs ongewijzigd!'); END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errorhint := v_errormsg; v_errormsg := rc.aanduiding || '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')'; DBMS_OUTPUT.PUT_LINE ( 'Error: ' || v_errormsg || '; Hint: ' || v_errorhint ); END; END LOOP; END; / COMMIT; BEGIN adm.systrackscript('$Workfile: sbsh#24076.sql $', '$Revision$', 1); END; / SPOOL OFF