Tu idea es buena pero no veo por que el uso de sql code ya que en el ejemplo que planteas este te devolvera cero ya que no ubo error. Sqlcode se usa ver si hubo o no error en tu caso deverias hacer un select saldo into from ... into : "N";
entonces verificas si n tiene un valor diferente al deseado y enviar tu error.
El uso de sql code es po ejemplo para tratar de hacer un insercion y si sqlcode = 802 (vilocaion de primary key o foereing key) entonces haces un uddate
ejmp.
Código SQL
[-]insert into ... values..
when sqlcode 802 do
update ...
Segun veo y entiendo este es el uso que quieres darle.