DECLARE
   CURSOR c
   IS
      SELECT r.*,
             a.*,
             ro.*,
             st.*,
             1321 prs_kostenplaats_key,
             90503 invoerder_key
        FROM aads_tmp_res r,
             res_activiteit a,
             res_ruimte_opstelling ro,
             res_status_fo st,
             res_opstelling o
       WHERE r.activiteit = a.res_activiteit_omschrijving
         AND r.key = ro.res_ruimte_key
         AND r.opstelling = o.res_opstelling_omschrijving
         AND ro.res_opstelling_key = o.res_opstelling_key
         AND r.status = st.res_status_fo_omschrijving;

   v_reservering_key   NUMBER;
   v_rsv_ruimte_key    NUMBER;
   v_errormsg          VARCHAR (1000);
   oracle_err_num      NUMBER;
   oracle_err_mes      VARCHAR2 (1000);
   v_errorhint         VARCHAR2 (1000);
   v_van DATE;
   v_tot DATE;
BEGIN
   BEGIN
      fac.initsession ('NL');
   END;


   FOR rec IN c
   LOOP
      BEGIN
         v_errorhint :=
               'Reservering: '
            || rec.naam
            || '-'
            || rec.begindatum
            || '-'
            || rec.begintijd
            || '-'
            || rec.omschrijving;

         INSERT INTO res_reservering (res_reservering_verwijder)
             VALUES (NULL)
          RETURNING res_reservering_key
               INTO v_reservering_key;

         dbms_output.put_line (rec.begindatum || ' ' || rec.begintijd);
         dbms_output.put_line (rec.einddatum || ' ' || rec.eindtijd);
         dbms_output.put_line (TO_DATE (rec.begindatum || ' ' || rec.begintijd, 'dd-mm-yyyy hh24:mi:ss'));
         dbms_output.put_line (TO_DATE (rec.einddatum || ' ' || rec.eindtijd, 'dd-mm-yyyy hh24:mi:ss'));

         v_van := TO_DATE (rec.begindatum || ' ' || rec.begintijd, 'dd-mm-yyyy hh24:mi:ss');
         v_tot := TO_DATE (rec.einddatum || ' ' || rec.eindtijd, 'dd-mm-yyyy hh24:mi:ss');

         INSERT INTO res_rsv_ruimte (res_reservering_key,
                                     res_rsv_ruimte_volgnr,
                                     res_rsv_ruimte_omschrijving,
                                     prs_kostenplaats_key,
                                     res_rsv_ruimte_contact_key,
                                     res_rsv_ruimte_host_key,
                                     res_ruimte_opstel_key,
                                     res_activiteit_key,
                                     res_rsv_ruimte_van,
                                     res_rsv_ruimte_tot,
                                     res_rsv_ruimte_bezoekers,
                                     res_status_bo_key,
                                     res_status_fo_key)
             VALUES (v_reservering_key,
                     1,
                     SUBSTR(rec.omschrijving,1,60),
                     rec.prs_kostenplaats_key,
                     rec.invoerder_key,
                     rec.invoerder_key,
                     rec.res_ruimte_opstel_key,
                     rec.res_activiteit_key,
                     v_van,
                     v_tot,
                     rec.aantal,
                     2,
                     rec.res_status_fo_key)
          RETURNING res_rsv_ruimte_key
               INTO v_rsv_ruimte_key;

         RES.set_ruimte_dirty (v_rsv_ruimte_key);

         FAC.trackaction ('RESNEW',
                      v_rsv_ruimte_key,
                      6524,
                      SYSDATE,
                      'Door import aangemaakt');
      EXCEPTION
         WHEN OTHERS
         THEN
            oracle_err_num := SQLCODE;
            oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
            v_errormsg := SUBSTR(
                  v_errormsg
               || ' ORACLE (error '
               || oracle_err_num
               || '/'
               || oracle_err_mes
               || ')',1,400);
            fac.writelog ('IMPORT_RES',
                          'E',
                          v_errormsg,
                          v_errorhint);
      END;
   END LOOP;
   COMMIT;
END;
/