Calling A UBE, but doesn't return

jdebill

Active Member
Calling A UBE, but doesn\'t return

Hi All,
I've got a problem I could use your advice on.

I have a custom application that calls a UBE (non-async) and I expect to have control returned after the call to do more processing depending on the results of the UBE call.

Now the problem is it works perfectly when the UBE is mapped to run locally, HOWEVER when it is running on the server, the UBE does not communicate back the results of the call. It acts like it was called with the async option checked!

Could anyone offer why this is happening?

Thank You,
Bill
Windows NT, SQL 7, XE 17.0
 
Re: Calling A UBE, but doesn\'t return

Hi Bill,

What about to communicate through a record in a custom table instead of via report interconnect?

Let me do not detail this solution now, it is too late here (10:46 PM) and I suppose, you can figure out the details. If not, then let us know.

Regards,

Zoltán

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
Re: Calling A UBE, but doesn\'t return

Hi Zoltan,

The idea of using a file is great, and will certainly work for me. I'll just do a while loop file I-O not = success looking for the record, including some kind of mechanism to end loop with error msg if record "never" found (UBE died).

However, I was thinking (and will test shortly) that if I create a NER which must run on the server, to call the UBE which is running on the server, maybe that will allow the UBE to be successfully called without the asynchronously option checked thereby returning data through the Report Interconnect which I can then return to the application that called the NER. I will tell all if this works.

The main question I have though is if a UBE is running on the Server and is called by an application why doesn't the asynchronously option NOT CHECKED work?

Thank You,
Bill
Windows NT, SQL 7, XE 17.0
 
Re: Calling A UBE, but doesn\'t return

Hi Bill,

Your BSFN bridge idea is very interesting and I am curiously waiting for your test results.

About the table solution:

You can solve it with a single table which recod structure is identical with the report interconnect and contains a plus status flag field. APPL set the flag to 0 before calling the UBE, UBE turn it to 1 when finished. You have to check the changes of the flag in your APPL.

If you want it to be able to run multiple concurrent instances of the UBE then you can include a next number into the primary unique index or any unique identification datas like UserID+MachineID+Date+Time.
You can pass the unique identifier(s) to the UBE through the report interconnect and your APPL can delete the record when it finished.

Regards,

Zoltán



B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
Re: Calling A UBE, but doesn\'t return

Hi Zoltan and All,

Sadly, the idea of having the NER call the UBE didn't work any better than calling the UBE direct.
So I just had the called UBE write a record to a file and had the application check for it. Works, but I think it would be better if the non-asynchronous call to the UBE worked as it is "supposed" to.



Thank You,
Bill
Windows NT, SQL 7, XE 17.0
 
Back
Top