For a Retrieval SP - that is correct.
For an Insert, Update or Delete SP - just a return code is normally sent back. Normally, ASE will just return a Zero (0) at the end of your SP unless you specify something else in your code by using the RaiseError command. For example:
IF @@error != 0 // Built in variable like PB's error object ![]()
BEGIN
RAISERROR 30100 " The insert for the GIMMY table failed"
RETURN -1
END