コード全体の前にサーバー出力を ON モードに設定すると機能しますが、それ以外の場合は put_line() は機能しません。試してみてください!
コードは、
set serveroutput on;
CREATE OR REPLACE PROCEDURE PROC1(invoicenr IN NUMBER, amnt OUT NUMBER)
AS BEGIN
SELECT AMOUNT INTO amnt FROM INVOICE WHERE INVOICE_NR = invoicenr;
END;
そして、そのまま関数を呼び出します:
DECLARE
amount NUMBER;
BEGIN
PROC1(1000001, amount);
dbms_output.put_line(amount);
END;