Prueba con
* when SQLCODE -803 do SUSPEND ;
* when EXCEPTION SUPERA_IMPORTE DO SUSPEND ;
Cada vez que un procedimiento encuentra un suspend, devuelve los valores que tenga en el RETURNS() y espera a que le pidan el siguiente.
Aunque no devuelvas nada, el SUSPEND hará que devuelva el control a tu programa y puedas hacer un commit o rollback, según te convenga.
|