You'll have to raise an exception. In your case, replace
DBMS_OUTPUT.PUT_LINE('ERROR: QUANTITY ' || :NEW.QUANTITY
|| ' EXCEEDS INVENTORY ONHAND [' || TO_CHAR(v_onhand_quantity) || ']' );
by
raise_application_error (-20001,''ERROR: QUANTITY ' || :NEW.QUANTITY
|| ' EXCEEDS INVENTORY ONHAND [' || TO_CHAR(v_onhand_quantity) || ']' );