#ifdef  RES
/*
 * $Revision$
 * $Id$
 */

AUDIT_BEGIN(res_disc_params)
AUDIT_VALUE(res_disc_params, res_disc_params_preposttime)
AUDIT_VALUE(res_disc_params, res_disc_params_notify)
AUDIT_VALUE(res_disc_params, res_disc_params_kosten)
AUDIT_VALUE(res_disc_params, res_disc_params_noti_dagen)
AUDIT_VALUE(res_disc_params, res_disc_params_expire_dagen)
AUDIT_VALUE(res_disc_params, res_disc_params_expire_tijd)
AUDIT_VALUE(res_disc_params, res_disc_params_cancel_dagen)
AUDIT_VALUE(res_disc_params, res_disc_params_remoteurl)
AUDIT_VALUE(res_disc_params, res_disc_params_maxduur)
AUDIT_END()

CREATE_TRIGGER(res_t_res_disc_params_b_iu)
BEFORE INSERT OR UPDATE ON res_disc_params
FOR EACH ROW
BEGIN
   UPDATE_PRIMARY_KEY(res_disc_params_key, res_s_res_disc_params_key);
END;
/

CREATE_TRIGGER(res_t_res_reservering_B_IU)
BEFORE INSERT OR UPDATE ON res_reservering
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_reservering_key, res_s_res_reservering_key);
  SET_VERWIJDER_CHILDREN(res_rsv_ruimte, res_reservering_key, res_reservering_verwijder,res_rsv_ruimte_verwijder,res_reservering);
END;
/

CREATE_TRIGGER(res_t_res_ruimte_B_IU)
BEFORE INSERT OR UPDATE ON res_ruimte
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_ruimte_key, res_s_res_ruimte_key);
  UPDATE_UPPER(res_ruimte_nr, res_ruimte_upper,res_ruimte);
  IF :new.res_ruimte_verwijder IS NOT NULL AND :old.res_ruimte_verwijder IS NULL THEN
    DECLARE dummy CHAR;
    BEGIN
      -- Een res_ruimte mag niet inactief worden als er nog *openstaande geldige* reserveringen zijn...
      SELECT 'x' INTO dummy
      FROM res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro
      WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
        AND rr.res_rsv_ruimte_dirtlevel = 0
        AND ro.res_ruimte_key = :old.res_ruimte_key
        AND res_rsv_ruimte_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
        AND rr.res_status_bo_key IN (2,3,4,7);
      raise_application_error(-20000,'res_m035');
    EXCEPTION
      WHEN NO_DATA_FOUND THEN NULL;
      WHEN TOO_MANY_ROWS THEN
        raise_application_error(-20000,'res_m035');
    END;
    -- inactivate corresponding reference(s) to alg_ruimte
    BEGIN
      UPDATE res_alg_ruimte
         SET res_alg_ruimte_verwijder = :new.res_ruimte_verwijder
       WHERE res_ruimte_key = :old.res_ruimte_key
         AND res_alg_ruimte_verwijder IS NULL;
    END;
   END IF;
END;
/

CREATE_TRIGGER(res_t_alg_ruimte_B_IU)
BEFORE INSERT OR UPDATE ON res_alg_ruimte
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_alg_ruimte_key, res_s_alg_ruimte_key);
  /* Het is niet aan deze tabel om afspraken te controleren */
  IF :NEW.alg_ruimte_key <> :OLD.alg_ruimte_key
  THEN
      UPDATE bez_afspraak ba
         SET alg_onrgoed_keys = :NEW.alg_ruimte_key
       WHERE ba.res_rsv_ruimte_key IN (
                 SELECT rrr.res_rsv_ruimte_key
                   FROM res_rsv_ruimte rrr, res_ruimte_opstelling rro
                  WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
                        AND rro.res_ruimte_key = :NEW.res_ruimte_key)
         AND ba.alg_onrgoed_keys = :OLD.alg_ruimte_key;
  END IF;
END;
/

CREATE_TRIGGER(res_t_res_opstelling_B_IU)
BEFORE INSERT OR UPDATE ON res_opstelling
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_opstelling_key, res_s_res_opstelling_key);
  UPDATE_UPPER(res_opstelling_omschrijving, res_opstelling_upper,res_opstelling);
  CHECK_NOG_REFERENCES(res_opstelling, res_opstelling_verwijder, res_ruimte_opstelling,
                       res_opstelling_key, 'res_m038');
END;
/


CREATE_TRIGGER(res_t_res_ruimte_opstel_B_IU)
BEFORE INSERT OR UPDATE ON res_ruimte_opstelling
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_ruimte_opstel_key, res_s_res_ruimte_opstel_key);
END;
/

CREATE_TRIGGER(res_t_res_deel_B_IU)
BEFORE INSERT OR UPDATE ON res_deel
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_deel_key, res_s_res_deel_key);
  UPDATE_AANMAAKDATUM(res_deel, res_deel_aanmaak);
   IF :NEW.res_deel_verwijder IS NOT NULL AND :OLD.res_deel_verwijder IS NULL
   THEN
      DECLARE
         dummy   NUMBER;
      BEGIN
         -- Een res_deel mag niet inactief worden als er nog *openstaande* reserveringen zijn.
         SELECT ''
           INTO dummy
           FROM res_v_aanwezigrsv_deel rs
          WHERE rs.res_deel_key = :OLD.res_deel_key
            AND rs.res_rsv_deel_dirtlevel = 0
            AND res_rsv_deel_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
            AND rs.res_status_bo_key IN (2, 3, 4, 7);

         raise_application_error (-20000, 'res_m034');
      EXCEPTION
        WHEN NO_DATA_FOUND THEN NULL;
        WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'res_m034');
      END;
   END IF;
END;
/

CREATE_TRIGGER(res_t_res_artikel_B_IU)
BEFORE INSERT OR UPDATE ON res_artikel
FOR EACH ROW
BEGIN
  UPDATE_AANMAAKDATUM(res_artikel, res_artikel_aanmaak);
  UPDATE_PRIMARY_KEY(res_artikel_key, res_s_res_artikel_key);
  IF :new.res_artikel_verwijder IS NOT NULL AND :old.res_artikel_verwijder IS NULL
   THEN
     DECLARE
        lCount NUMBER;
      BEGIN
      -- Een res_deel mag niet inactief worden als er nog *openstaande* reserveringen zijn...
      SELECT COUNT(*)
      INTO   lCount
        FROM res_v_aanwezigrsv_artikel rs
       WHERE rs.res_artikel_key = :old.res_artikel_key
         AND rs.res_rsv_artikel_dirtlevel = 0
         AND res_rsv_artikel_levering > SYSDATE-14 -- na 14 dagen niet meer klagen
         AND rs.res_status_bo_key IN (2,3,4,7);
       IF lCount > 0 THEN
          APPLICATION_ERROR_GOTO(-20000,'res_m033');
       END IF;
     END;
   END IF;
END;
/

CREATE_TRIGGER(res_t_res_rsv_artikel_B_IU)
BEFORE INSERT OR UPDATE ON res_rsv_artikel
FOR EACH ROW
BEGIN
  IF :old.res_status_bo_key=6 THEN raise_application_error(-20000, 'Reserveringsgegevens zijn verwerkt; wijzigen is niet meer toegestaan.'); END IF;
  UPDATE_PRIMARY_KEY(res_rsv_artikel_key, res_s_res_rsv_artikel_key);
  IF :new.res_status_bo_key = 5 AND :old.res_status_bo_key <> 5
  THEN
    :new.res_rsv_artikel_afgemeld := SYSDATE;
  END IF;
  IF :new.res_status_bo_key = 6 AND :old.res_status_bo_key <> 6
  THEN
    :new.res_rsv_artikel_verwerkt := SYSDATE;
  END IF;
  IF UPDATING ('res_rsv_artikel_aantal')
  THEN
     :new.res_rsv_artikel_mutatie := SYSDATE;
  END IF;
END;
/

CREATE_TRIGGER(res_t_res_rsv_deel_B_IU)
BEFORE INSERT OR UPDATE ON res_rsv_deel
FOR EACH ROW
BEGIN
  IF :old.res_status_bo_key=6 THEN raise_application_error(-20000, 'Reserveringsgegevens zijn verwerkt; wijzigen is niet meer toegestaan.'); END IF;
  UPDATE_PRIMARY_KEY(res_rsv_deel_key, res_s_res_rsv_deel_key);
  IF :new.res_status_bo_key = 5 AND :old.res_status_bo_key <> 5
  THEN
    :new.res_rsv_deel_afgemeld := SYSDATE;
  END IF;
  IF :new.res_status_bo_key = 6 AND :old.res_status_bo_key <> 6
  THEN
    :new.res_rsv_deel_verwerkt := SYSDATE;
  END IF;
  IF UPDATING ('res_rsv_deel_aantal') OR UPDATING ('res_rsv_deel_van') OR UPDATING ('res_rsv_deel_tot')
  THEN
      :new.res_rsv_deel_mutatie := SYSDATE;
  END IF;
END;
/
CREATE_TRIGGER(res_t_res_cyclus_B_IU)
BEFORE INSERT OR UPDATE ON res_cyclus
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_cyclus_key, res_s_res_cyclus);
END;
/

CREATE_TRIGGER(res_t_res_activiteit_B_IU)
BEFORE INSERT OR UPDATE ON res_activiteit
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_activiteit_key, res_s_res_activiteit_key);
  UPDATE_UPPER(res_activiteit_omschrijving, res_activiteit_upper,res_activiteit);
  -- Mag niet verwijderen als er nog actieve reserveringen zijn
  IF :new.res_activiteit_verwijder IS NOT NULL AND :old.res_activiteit_verwijder IS NULL
  THEN
      DECLARE
          dummy   CHAR;
      BEGIN
          SELECT 'x'
            INTO dummy
            FROM res_v_aanwezigrsv_ruimte
           WHERE res_activiteit_key = :new.res_activiteit_key
             AND res_rsv_ruimte_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
             AND res_status_bo_key IN (2, 3, 4, 7);
          raise_application_error (-20000, 'res_m999 Reservations exist');
      EXCEPTION
          WHEN NO_DATA_FOUND
          THEN
              DELETE_CHILDREN(res_activiteitdiscipline, res_activiteit_key);
          WHEN TOO_MANY_ROWS
          THEN
              raise_application_error (-20000, 'res_m999 Reservations exist');
      END;
  END IF;
END;
/

CREATE_TRIGGER(res_t_res_srtactiviteit_B_IU)
BEFORE INSERT OR UPDATE ON res_srtactiviteit
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_srtactiviteit_key, res_s_res_srtactiviteit_key);
END;
/

CREATE_TRIGGER(res_t_res_srtkenmerk_b_iu)
BEFORE INSERT OR UPDATE ON res_srtkenmerk
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_srtkenmerk_key, res_s_res_srtkenmerk_key);
  UPDATE_UPPER(res_srtkenmerk_omschrijving, res_srtkenmerk_upper,res_srtkenmerk);
  UPDATE_AANMAAKDATUM(res_srtkenmerk, res_srtkenmerk_aanmaak);
  IF (:new.res_srtkenmerk_verwijder IS NOT NULL AND :old.res_srtkenmerk_verwijder IS NULL AND
    :new.res_srtkenmerk_systeem = 1)
  THEN
    raise_application_error(-20003, 'RES_C_RES_SRTKENMERK_SYSTEEM');
  END IF;
  --
  IF :new.res_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.res_srtkenmerk_lengte IS NULL
  THEN
    raise_application_error(-20000, 'res_C_res_SRTKENMERK_LENGTE');
  END IF;
  -- Numeriek mag niet te lang zijn (numeric overflow)
  IF :new.res_srtkenmerk_kenmerktype IN ('N', 'B') AND :new.res_srtkenmerk_lengte > 20
  THEN
     :new.res_srtkenmerk_lengte := 20;
  END IF;
  --
  IF  :new.res_srtkenmerk_kenmerktype IN ('N', 'B') AND :old.res_srtkenmerk_key IS NOT NULL
  THEN
    IF :old.res_srtkenmerk_nmin <> :new.res_srtkenmerk_nmin
    OR (:old.res_srtkenmerk_nmin IS NULL AND :new.res_srtkenmerk_nmin IS NOT NULL)
    THEN
      DECLARE
        Dummy CHAR;
      BEGIN
        SELECT 'X'
        INTO   Dummy
        FROM   res_kenmerkwaarde
        WHERE  FAC.SAFE_TO_NUMBER(res_kenmerkreservering_waarde) < :new.res_srtkenmerk_nmin
        AND    res_kenmerk_key IN
              (SELECT res_kenmerk_key
               FROM   res_kenmerk
               WHERE  res_srtkenmerk_key = :old.res_srtkenmerk_key
              );
        raise_application_error(-20000, 'res_C_res_SRTKENMERK_MIN');
      EXCEPTION
        WHEN NO_DATA_FOUND
          THEN NULL;
        WHEN TOO_MANY_ROWS
          THEN raise_application_error(-20000, 'res_C_res_SRTKENMERK_MIN');
      END;
    END IF;
    --
    IF :old.res_srtkenmerk_nmax <> :new.res_srtkenmerk_nmax
    OR (:old.res_srtkenmerk_nmax IS NULL AND :new.res_srtkenmerk_nmax IS NOT NULL)
    THEN
      DECLARE
        Dummy CHAR;
      BEGIN
        SELECT 'X'
        INTO   Dummy
        FROM   res_kenmerkwaarde
        WHERE  FAC.SAFE_TO_NUMBER(res_kenmerkreservering_waarde) > :new.res_srtkenmerk_nmax
        AND    res_kenmerk_key IN
              (SELECT res_kenmerk_key
               FROM   res_kenmerk
               WHERE  res_srtkenmerk_key = :old.res_srtkenmerk_key
              );
        raise_application_error(-20000, 'res_C_res_SRTKENMERK_MAX');
      EXCEPTION
        WHEN NO_DATA_FOUND
          THEN NULL;
        WHEN TOO_MANY_ROWS
          THEN raise_application_error(-20000, 'res_C_res_SRTKENMERK_MAX');
      END;
    END IF;
  END IF;
END;
/

CREATE_TRIGGER(res_t_res_rsv_ruimte_B_IU)
BEFORE INSERT OR UPDATE ON res_rsv_ruimte
FOR EACH ROW
BEGIN
  IF :old.res_status_bo_key=6 THEN raise_application_error(-20000, 'Reserveringsgegevens zijn verwerkt; wijzigen is niet meer toegestaan.'); END IF;
  UPDATE_PRIMARY_KEY(res_rsv_ruimte_key, res_s_res_rsv_ruimte_key);
  BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL OR (:new.res_rsv_ruimte_verwijder IS NULL AND :old.res_rsv_ruimte_verwijder IS NOT NULL) THEN UPDATE res_rsv_artikel SET res_rsv_artikel_verwijder = :new.res_rsv_ruimte_verwijder WHERE res_rsv_artikel.res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND res_rsv_artikel.res_rsv_artikel_verwijder IS NULL; END IF; END;
  BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL OR (:new.res_rsv_ruimte_verwijder IS NULL AND :old.res_rsv_ruimte_verwijder IS NOT NULL) THEN UPDATE res_rsv_deel SET res_rsv_deel_verwijder = :new.res_rsv_ruimte_verwijder WHERE res_rsv_deel.res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND res_rsv_deel.res_rsv_deel_verwijder IS NULL; END IF; END;
  BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL THEN DELETE FROM bez_afspraak WHERE bez_afspraak.res_rsv_ruimte_key = :new.res_rsv_ruimte_key; END IF; END;
  BEGIN IF :new.res_rsv_ruimte_host_key <> :old.res_rsv_ruimte_host_key THEN UPDATE bez_afspraak set bez_afspraak_host_key = :new.res_rsv_ruimte_host_key WHERE res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND bez_afspraak_host_key IS NOT NULL; END IF; END;
  BEGIN IF :new.res_rsv_ruimte_contact_key <> :old.res_rsv_ruimte_contact_key THEN UPDATE bez_afspraak set bez_afspraak_contact_key= :new.res_rsv_ruimte_contact_key WHERE res_rsv_ruimte_key =:new.res_rsv_ruimte_key; END IF; END;
END;
/

CREATE_TRIGGER(res_t_res_kenmerk_b_iu)
BEFORE INSERT OR UPDATE ON res_kenmerk
FOR EACH ROW
BEGIN
   -- FSN#13902: we tolereren het achteraf verplicht maken
  UPDATE_PRIMARY_KEY(res_kenmerk_key, res_s_res_kenmerk_key);
  UPDATE_AANMAAKDATUM(res_kenmerk, res_kenmerk_aanmaak);
END;
/

CREATE_TRIGGER(res_t_res_kenmerkwaarde_b_iu)
BEFORE INSERT OR UPDATE ON res_kenmerkwaarde
FOR EACH ROW
BEGIN
    -- Controleer eerst of de ingevulde waarde goed is.
    --
    IF    :new.res_kenmerkreservering_waarde <> :old.res_kenmerkreservering_waarde
       OR:old.res_kenmerkreservering_waarde IS NULL
       OR:new.res_kenmerkreservering_waarde IS NULL
    THEN
        DECLARE
            srtkenmerkomschr   res_srtkenmerk.res_srtkenmerk_omschrijving%TYPE;
            srtkenmerktype     res_srtkenmerk.res_srtkenmerk_kenmerktype%TYPE;
            srtkenmerklengte   res_srtkenmerk.res_srtkenmerk_lengte%TYPE;
            srtkenmerkdec      res_srtkenmerk.res_srtkenmerk_dec%TYPE;
            srtkenmerknmin     res_srtkenmerk.res_srtkenmerk_nmin%TYPE;
            srtkenmerknmax     res_srtkenmerk.res_srtkenmerk_nmax%TYPE;
            kenmerkverplicht   res_kenmerk.res_kenmerk_verplicht%TYPE;
            numberwaarde       NUMBER (25, 5);
            formatmask         VARCHAR2 (60);
            kenmerkreswaarde   res_kenmerkwaarde.res_kenmerkreservering_waarde%TYPE;
        BEGIN
            kenmerkreswaarde := :new.res_kenmerkreservering_waarde;

            --
            SELECT res_sk.res_srtkenmerk_omschrijving,
                   res_sk.res_srtkenmerk_kenmerktype,
                   res_sk.res_srtkenmerk_lengte,
                   res_sk.res_srtkenmerk_dec,
                   res_sk.res_srtkenmerk_nmin,
                   res_sk.res_srtkenmerk_nmax,
                   res_k.res_kenmerk_verplicht
              INTO srtkenmerkomschr,
                   srtkenmerktype,
                   srtkenmerklengte,
                   srtkenmerkdec,
                   srtkenmerknmin,
                   srtkenmerknmax,
                   kenmerkverplicht
              FROM res_srtkenmerk res_sk, res_kenmerk res_k
             WHERE res_sk.res_srtkenmerk_key = res_k.res_srtkenmerk_key
                   AND res_k.res_kenmerk_key = :new.res_kenmerk_key;

            --
            -- Controleer eerst of het verplichte veld ingevuld is.
            --
            IF kenmerkverplicht IS NOT NULL AND kenmerkreswaarde IS NULL
            THEN
                raise_application_error (-20004, 'res_m240,' || srtkenmerkomschr);
            --
            -- Kijk welk KenmerkType gebruikt wordt.
            -- Aan de hand daarvan moet een controle uitgevoerd worden.
            --
            ELSIF srtkenmerktype = 'C'
            THEN
                -- CHAR
                -- Controleer of de lengte te groot of goed is.
                IF LENGTH (kenmerkreswaarde) > srtkenmerklengte
                THEN
                    raise_application_error (
                        -20004,
                        'res_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
                END IF;
            ELSIF srtkenmerktype IN ('N', 'B')
            THEN
                -- NUMBER
                -- Controleer of er een numerieke waarde ingevuld is.
                IF srtkenmerkdec IS NULL OR srtkenmerkdec = 0
                THEN
                    formatmask := RPAD ('9', srtkenmerklengte, '9');
                ELSE
                    formatmask :=
                           RPAD ('9', srtkenmerklengte - srtkenmerkdec, '9')
                        || 'D'
                        || RPAD ('9', srtkenmerkdec, '9');
                END IF;

                --
                BEGIN
                    numberwaarde := TO_NUMBER (kenmerkreswaarde);
                EXCEPTION
                    WHEN OTHERS
                    THEN
                        formatmask := REPLACE (formatmask, '9', '#');
                        formatmask := REPLACE (formatmask, '0', '#');
                        formatmask := REPLACE (formatmask, 'D', '.');
                        raise_application_error (
                            -20004,
                            'res_m242,' || srtkenmerkomschr || ',' || formatmask);
                END;

                -- Controleer of de waarde binnen NMin en NMax ligt.
                IF (srtkenmerknmin IS NOT NULL AND numberwaarde < srtkenmerknmin)
                   OR (srtkenmerknmax IS NOT NULL AND numberwaarde > srtkenmerknmax)
                THEN
                    raise_application_error (
                        -20004,
                           'res_m243,'
                        || srtkenmerkomschr
                        || ','
                        || TO_CHAR (srtkenmerknmin)
                        || ','
                        || TO_CHAR (srtkenmerknmax));
                ELSE
                    --  Controleer of de waarde aan het formaat voldoet.
                    kenmerkreswaarde := LTRIM (TO_CHAR (numberwaarde, formatmask));

                    IF INSTR (kenmerkreswaarde, '#') <> 0
                    THEN
                        formatmask := REPLACE (formatmask, '9', '#');
                        formatmask := REPLACE (formatmask, '0', '#');
                        formatmask := REPLACE (formatmask, 'D', '.');
                        raise_application_error (
                            -20004,
                            'res_m242,' || srtkenmerkomschr || ',' || formatmask);
                    END IF;
                END IF;

                -- Zet de geconverteerde waarde terug.
                :new.res_kenmerkreservering_waarde := kenmerkreswaarde;
            ELSIF srtkenmerktype = 'D'
            THEN
                -- DATUM
                kenmerkreswaarde := TO_CHAR (TO_DATE (kenmerkreswaarde, 'DD-MM-YY'), 'DD-MM-YYYY');
                -- Zet de geconverteerde waarde terug.
                :new.res_kenmerkreservering_waarde := kenmerkreswaarde;
            END IF;
        END;

        UPDATE_PRIMARY_KEY(res_kenmerkwaarde_key, res_s_res_kenmerkwaarde_key);
    END IF;
END;
/

CREATE_TRIGGER(res_t_res_srtartikel_og_B_IU)
BEFORE INSERT OR UPDATE ON res_srtartikel_onrgoed
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(res_srtartikel_onrgoed_key, res_s_res_srtartikel_og_key);
END;
/

CREATE_TRIGGER(res_t_notificatie_res_reserv)
   AFTER DELETE
   ON res_reservering
   FOR EACH ROW
BEGIN
   fac.clrnotifications ('RES%', :OLD.res_reservering_key);
END;
/

CREATE_TRIGGER(res_t_res_activiteitdisc_B_IU)
BEFORE INSERT OR UPDATE ON res_activiteitdiscipline
FOR EACH ROW
BEGIN
    UPDATE_PRIMARY_KEY(res_activiteitdiscipline_key, res_s_res_activiteitdisc_key);
END;
/

REGISTERRUN('$Id$')

#endif // RES
