-- Script containing customer specific db-configuration for PHBF.
-- (c) 2014 SG|facilitor bv
--
-- Support: +31 53 4800700
set echo on
spool xphbf.lst

/* Formatted on 2-3-2010 21:00:14 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW phbf_v_thema_vloerafw
(
   alg_ruimte_key,
   waarde,
   waarde_key
)
AS
   SELECT   a.alg_ruimte_key,
            COALESCE (b.vloerafw, '[Onbekend]'),
            COALESCE (b.vloerafw_key, -1)
     FROM      (SELECT   r.alg_ruimte_key
                  FROM   alg_v_aanwezigruimte r) a
            LEFT JOIN
               (SELECT   ok.alg_onrgoed_key,
                         ud.fac_usrdata_omschr vloerafw,
                         ud.fac_usrdata_key vloerafw_key
                  FROM   alg_onrgoedkenmerk ok, fac_usrdata ud
                 WHERE       ok.alg_kenmerk_key = 1020       -- Vloerafwerking
                         AND ok.alg_onrgoed_niveau = 'R'
                         AND ok.alg_onrgoedkenmerk_verwijder IS NULL
                         AND ok.alg_onrgoedkenmerk_waarde =
                               ud.fac_usrdata_key) b
            ON a.alg_ruimte_key = b.alg_onrgoed_key
   UNION ALL
   SELECT   NULL,
            ud.fac_usrdata_omschr vloerafw,
            ud.fac_usrdata_key vloerafw_key
     FROM   fac_usrdata ud
    WHERE   ud.fac_usrtab_key = 21
            AND NOT EXISTS
                  (SELECT   1
                     FROM   alg_onrgoedkenmerk ok
                    WHERE   ok.alg_kenmerk_key = 1020        -- Vloerafwerking
                            AND ok.alg_onrgoedkenmerk_waarde =
                                  ud.fac_usrdata_key);

/* Formatted on 28-3-2014 15:48:12 (QP5 v5.136.908.31019) */
CREATE OR REPLACE TRIGGER phbf_t_thema_vloerafw_i_iu
   INSTEAD OF INSERT OR UPDATE
   ON phbf_v_thema_vloerafw
BEGIN
   IF UPDATING           -- oude hard weggooien; dus DELETE (lekker opruimen)!
   THEN
      DELETE FROM alg_onrgoedkenmerk
            WHERE     alg_kenmerk_key = 1020                 -- Vloerafwerking
                  AND alg_onrgoed_key = :new.alg_ruimte_key
                  AND alg_onrgoedkenmerk_waarde <> TO_CHAR (:new.waarde_key);
   END IF;

   BEGIN
      IF :new.waarde_key <> -1
      THEN
         INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
                                         alg_onrgoed_niveau,
                                         alg_kenmerk_key,
                                         alg_onrgoedkenmerk_waarde)
             VALUES (:new.alg_ruimte_key,
                     'R',
                     1020,
                     TO_CHAR (:new.waarde_key));
      END IF;
   EXCEPTION
      WHEN DUP_VAL_ON_INDEX                                 -- was al aanwezig
      THEN
         NULL;
   END;
END;
/

BEGIN adm.systrackscriptId('$Id$', 0); END;
/
BEGIN fac.registercustversion('PHBF', 0); END;
/
COMMIT;
spool off
