spool conn#665.log commit; DECLARE CURSOR c_cursor IS SELECT d.ins_deel_key,ins_srtdeel_key, ins_deel_omschrijving, SUBSTR(ins_deel_omschrijving,2,8) ins_deel_omschrijving_new FROM ins_deel d WHERE 1=1 AND d.ins_deel_verwijder IS NULL AND ins_srtdeel_key = 43401 AND fac.safe_to_number (SUBSTR (ins_deel_omschrijving, 2, 8)) > 0 AND LENGTH(SUBSTR (ins_deel_omschrijving, 2, 8)) = 8 ORDER BY 3; next_record c_cursor%ROWTYPE; oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_errormsg VARCHAR2 (1024); v_teller INTEGER; c_halte_code INTEGER := 501; c_commit_buffer INTEGER := 1000; c_zero INTEGER := 0; BEGIN v_teller := c_zero; FOR next_record IN c_cursor LOOP BEGIN v_teller := v_teller + 1; v_errormsg := 'Verwijder eventueel aanwezig flexibel kenmerk'; delete from ins_kenmerkdeel where ins_kenmerkdeel_verwijder is null and ins_kenmerk_key = c_halte_code and ins_deel_key = next_record.ins_deel_key; -- c_halte_code v_errormsg := '--C-- flexprops Halte code'; INSERT INTO ins_kenmerkdeel ( ins_kenmerk_key , ins_deel_Key , ins_kenmerkdeel_waarde) VALUES(c_Halte_code , next_record.ins_deel_key , next_record.ins_deel_omschrijving_new); IF (v_teller > c_commit_buffer) THEN v_teller := c_zero; commit; END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); v_errormsg := '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog ('CONN#665', 'Halte codes toevoegen', 'E', v_errormsg, to_char(next_record.ins_deel_key) ); END; END LOOP; commit; END; / spool off commit;