E9.2 MergeWait or jdeSleepSeconds not working on Linux Server


VIP Member
Oh Gurus!

I processing Sales Orders through many states (525 - 555) via 7 sections of a UBE. On some of these sections, the SOA middleware is sending data to a third party vendor - that returns additional data (the SOA monitors tables and triggers based on a control table). The UBE currently runs section D and then runs section E BEFORE the SOA middleware has completed it's messaging/data transfer - causing section E to run and do nothing. I've tried to put in a wait bsfn (B98700 or B984056) between calling section D and calling section E but neither bsfns show any delay. I've also tried running the UBE twice (from an application - with the wait bsfn in between the 2 UBE calls) and it works when running on localhost but not on the Webclient. Even the webclient doesn't process the bsfn.

I have only been told that the server is Linux and nothing more. Trying to get additional information.

Can anyone suggest anything that they have tried?

Ben Again,
E920 -

Kim Schmidt

Active Member
The B98700 business function is Client Only, but B984056 is Client and Server, so that *should* work for you. Having said that, B984056 has a conditional compile that causes it to call the internal jdeSleepMilliSeconds() function if running on an AS400, otherwise it calls jdeSleepSeconds(). I can't predict how it might work on a Linux server though. If you have the magnificent PatWel ObjectBrowser tool, you can test BSFNs in local client or various server locations. If that doesn't help, you can always create code in your UBE's event rules that gets the initial current time, and then has a while loop that keeps fetching the current time until it is sufficiently greater that the initial time.
Good luck!