Question:
I’ve noticed that I cannot get any values returned to my Power Objects application from a PL/SQL block. How can I get around this?
Answer:
The inability to get returned values from a PL/SQL block has been acknowledged as a bug by the Power Objects team. The bug will be fixed in version 2.0.
In the meantime, you have two possible solutions – one of them very ugly. You could modify your PL/SQL procedure so that it wrote return values to a temporary table in the database and then query the table after the completion of the procedure. This workaround would require an additional query being sent to the database, which would not be that much extra overhead, and it might require you to develop two versions of the same PL/SQL routine – one for all the applications that already use the procedure and expect results to be returned and another for your Power Objects applications. Not very nice.
The second workaround will only apply if you can live with a single numeric value returned from the procedure. You can accomplish this by sending back the value as a fake exception code. Of course, you will have to come up with a different and mutually exclusive way to return real exception codes. As I said, very ugly and not recommended, but there it is if you want it.