create or replace package body print as g_nr number := 0; g_nvl varchar(1) := '#'; function check_nvl (p_a varchar2) return varchar2 is begin if not p_a in ('#', ';', '\', ':') then raise_application_error(-20000, 'Ongeldig NULL-teken.'); end if; return p_a; end check_nvl; procedure set_nvl (p_a varchar2) is begin g_nvl := check_nvl(p_a); end set_nvl; procedure pr (p_tekst varchar2, p_dest varchar2 := 'S') is v_output varchar2(255) := substr(p_tekst, 1, 255); begin if v_output is null then v_output := g_nvl; end if; if upper(p_dest) like '%S%' then dbms_output.put_line(v_output); end if; if upper(p_dest) like '%T%' then g_nr := g_nr + 1; insert into meldingen (nr, melding) values (g_nr, v_output); end if; end pr; procedure cleanup is begin delete from meldingen; g_nr := 0; end cleanup; end print;