Si vous définissez la sortie du serveur en mode ON avant tout le code, cela fonctionne, sinon put_line() ne fonctionnera pas. Essayez !
Le code est,
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;
Et ensuite appelez la fonction telle quelle :
DECLARE
amount NUMBER;
BEGIN
PROC1(1000001, amount);
dbms_output.put_line(amount);
END;