query.append("CALL OPP_DIRDEBS.SET_DEBIT_STATUS(?,?,?,?)");

statement = connection.prepareCall(query.toString());
statement.setLong(1, directDebitKey.getKey().longValue());
statement.setInt(2, status.getCode());
statement.setString(3, userContext.getUser().getUserName());
statement.registerOutParameter(4, Types.INTEGER);
statement.executeQuery();
System.out.println("after procedure call @@@@@@@@@" + statement.getLong(4));
return new Long(statement.getLong(4));