@Andreas
Lies doch noch mal den Text:
If a RETURN statement with a specified return value is used to return from a
procedure then the SQLCODE, SQLSTATE, and message length in the SQLCA or
diagnostics area are initialized to zeros, and message text is set to blanks
. An
error is not returned to the caller.


Also entweder RETURN weglassen oder den Return-Wert weglassen!
Ein RETURN -1 kann nur per GET DIAGNOSTIC ausgelesen werden da kein SQLCODE zurückgegeben wird.
Das ist aber nicht "State of the art" da man normalerweise den SQLCODE abfragt (ggf. noch den SQLSTATE).