Call Interactive App from a UBE

ayubak

Member
Hello Freinds,

Is it possible to call an interactive application from a UBE and pass the result of the UBE to the application like for example "Journal Entry" applicaton and create a batch automatically. All the comments are most welcomed.

Thanx in advance

Best Regards,
Ayub

Note: OneWorld XE, SQL Server 2000, Win 2000 Server
 
This mail was scanned by Interscan Virus Wall of Mailserver2 at SNR, TCS, Chennai
 
I do not think there is a way to call an interactive application directly from a UBE.

However if you are trying to create a Journal entry the best way is to load the F0911Z1 file and use the Batch Journal entry process. I suppose it is then possible to call a version of R09110Z ( the batch journal processor) to edit and move the batch to the F0911 table.

Good Luck.
 
You're right. You can't call an interactive application from an UBE (an UBE might be a scheduled batch process without any interaction from a user, so there's no point on calling an interactive app).

If you want to create a record into a transactional table, specially the master tables, you should use z-file and the proper UBE OR you can use the MBFs (Master Business Function). MBFs are better because you get the result instantly.
 
False
You could create a specific B.Function which use an API like :

StartFormDynamicVersion("p57182.dll" , "W57182B" , lpBhvrCom->hDlg , &dsDW57182B, "T57182" , lpDS->szVersion);

Even, it's very dangerous :
First the UBE and Applicativ doesn't work on the same machine.
Second, the trhead system is not the same.
third, the two process doesn't share the same memory, as two UBE chained does.
and finally, it's not very easy to synhcronize.
 
I modify my answer
The solution is to create an applicate wich launch your batch using an BF. The BF have to be mapped on the same server as the batch and synchronize with the UBE execution. Then the UBE set the result give the result using the Report Datastructure and your first applicative gan call the second with transmission of such results.
 
I acknowledge that your answer is correct, ie, it can be done. But I don't see the point on it. As you've mentioned, there are just too many 'ifs' that could spoil the fun, such as different mapping, different threads, synchronization issues.

I've done that once (to get Sales Order automation without using a workflow). It was a real pain.

An interactive application would call a NER that would read a table that contained a sequence of UBEs to be launched by a BSFN using jdeLaunchUBEEx to print immediate. The problem was that the BSFN would launch the first UBE and would not be synchronized, so it would finish execution without waiting for the UBE to finish, go back to the NER and step to the next UBE to be launched (and meanwhile the first UBE was still running and the second was relying on data updated into the first one). I had to synchronize everything and also dodge the OCM and server mapping.
 
Serge, while that works in Xe / ERP 8, it was deprecated a long time ago, and it is no longer possible in the new Unicode enabled product (8.9, is it?)- a BSFN on a server calling a UBE can only do so asynchronously now, because JDE/PSFT don't want long running UBEs tying up their call object kernels and running outside of the job queueing / load balancing mechanism. In the new product, calling a synchronous UBE from a server BSFN gives an error and a log message saying that it won't work anymore.
 
Arrrggghhhhh!

Thanks for passing that on Seg. We begin our 8.9 migration in a month and i'm sure I would have beaten my head against a wall on this issue if you hadn't been kind enough to share it.

Thanks,
 
Back
Top