Need to have a UBE call other UBEs that run on another server

TheOriginalOne

Active Member
Hello JDEListers,

We need to call a UBE that exists on a System i via a RUNUBE CL command which then needs to invoke other UBEs that exist on a Windows server for the purposes of sending the UBE output to users via Email. So far, everything we've tried ends in failure. Although the CNC config appears to be correct (main UBE on System i, other UBEs mapped to Windows server), the switch-over does not take place. Additionally, we tried starting the Windows UBEs through BSFN B91300C. In using B91300C, we first let the BSFN use CNC to find the Windows server, then we explicitly declared the server to use when taking the "default to CNC" setting did not work.

Does anyone know how to do this? Also, while I know I posted this to a development forum (I am a developer tasked to pull off the above), I was wondering if this really is a dev question or if this should go to JDEList's CNC forum. I am not going to be a "forum hog" and post to both without cause, so please let me know.

We are running OneWorld B7334 Service Pack 23 Revision 8.

Thanks!
-T.O.O.
 
Hi Sebastian,

We can't because the first job needs to run on the System i. It then needs to call jobs on the Windows server for Emailing reports. We can't Email from the System i. Also, the first UBE is called from a RUNUBE command which is itself called by a process external to JDE.

Thanks,
T.O.O.
 
I was thinking that same thing!
cool.gif
 
Hi Sebastian,

It looks like my earlier reply did not post. To explain, from a JDE standpoint the process begins with the CLP that calls the RUNUBE which then calls the UBEs on a Windows server. We need the UBEs to run on the Windows server because the UBE output needs to be Emailed. We can't do that from a System i, but we can do that from the Windows box since we have a custom Email UBE on that server for Emailing reports. As for the reverse, we can't run everything on the Windows box because the process that calls the CLP which then calls the RUNUBE is absolutely unable to make such a call to the Windows server. It can only "talk" to the System i.

Thanks,
T.O.O.
 
Hi Craig,

The System i is not enabled for Email. Why? The reason pre-dates me. I just know that the situation I detailed is what we are facing. Would it be better to Email straight from the Enterprise server? Of course! But, we can't. Here we are setup for Emailing purely from the Windows server. If it has to be Emailed, then it has to run on Windows.

Thanks,
T.O.O.
 
Hi.

1. What errors do you get on the ES logs when you submit the UBE from your iSeries ES to your Intel ES?
2. A workaround may be to FTP the iSeries UBE output to Windows, so Windows may pick it up and email it.
 
Hi Sebastian,

No errors. Then again, logging is turned off for the sake of performance. As for number 2, we have no means of accomplishing that given our current technology and infrastructure. If it needs to be FTP'd, Emailed, Faxed, or any have other kind of transmission done to the output of a UBE, then it must run on the Windows server.

Don't shoot me, folks. I'm just the messenger.
tongue.gif
I'm also the guy who has to come up with an answer. And before anyone asks, the System i is at release V5R4M0. The Windows server runs Windows Server 2003 (Standard).

Thanks,
T.O.O.
 
I can think of a couple of things to try. Sounds like you have looked at OCM mappings for the called UBEs but make sure that you look at the server mappings and not just the system mappings.

You could always make a custom BSFN that launches the UBEs and then map that BSFN to the server where you want it to run (again, make sure that you have this set in the server mappings as well as system). Then call the BSFN from the driver UBE instead of straight UBE interconnects.

Driver UBE (system i)
|
Custom BSFN (windows server)
|
Email UBE (windows server)
 
I think I can help you. There is an iSeries command RUNRMTCMD that can start a batch file or most anything else on a windows server. You have to have the setup proper on the windows server to receive the command. We use it a lot, including kicking RUNUBE off on our windows enterprise server from our iSeries and starting our Cognos ETL process. Send me a private message with some contact info and I can give you a call.
laugh.gif
 
Other than Brian's suggestions, I wonder if the call to the second UBE is marked as Synchronous? Perhaps that would force the execution on the same host.

Craig
 
I think Brians option of using a bsfn to launch the other UBE on the Windows server is your only choice.
Standard JDE functionality does not look at OCM to determine where to launch a UBE when it is launched from another UBE. The child UBE will also launch on the same server as the parent UBE. This is standard JDE functionality.
 
Thanks for the ideas, everyone! Unfortunately, so far nothing has worked.

I'd like to take a brand-new approach to this: Is it possible to setup a process on the Windows server that runs the UBEs we need? We are System i-centric here, so essentially doing on a Windows box what RUNUBE does on a System i is not in our wheelhouse.

Also, I know there is a function called "PRINTUBE". Could that be of use? We've never used it, but at this point we'll try anything to get this done!
mad.gif


Can the above be done? If so, how (or could you point me rock-solid "how to" documentation)?

Thanks!
-T.O.O.
 
I am pretty sure the OCM mapped BSFN thing will work. In this fashion the called UBE has no "knowledge" that it was called from another UBE and as such won't inherent any of the parent UBE's properties.
 
There are weird happenings when I view this thread. Michael McClure's response appeared long after others did (as I see things). Regardless, I forwarded my contact info to him and I am awaiting his call. As for the "wrap another layer around the BSFN" suggestion, that was a smart idea and I agree that it should work, but on this system it did not.
confused.gif
My only other hope -- if Michael McClure can't help -- is to see if there is something in the Interoperability Guide that could be of use. Who knows? In the meanwhile, if you have an idea then please send it in!

My sincere thanks to all for your time and input.

-T.O.O.
 
I think you should go back to why you cannot email out the report from the iseries.

There are plenty of tools inside JDE or on the iseries which allow the system to send emailed with the PDF Attachment. Yes you might have to make a small configuration change on the mail server to allow you access. But that should not be a big deal.

I have it running to send out weekly open ar reports to the managers. And we just change the way we run financials to email out the PDF reports in one big stream. One CLP Kicks off one UBE Which runs all the reports and emails them out to the right person.
 
We got it! My thanks to all. A special shout-out to Michael P. McClure who went above and beyond in trying to help us.
laugh.gif
<font color="blue">As it turns out, the "wrap it in a BSFN" idea initially suggested by Brian Oster finally worked. Thanks, Brian! We hereby nominate today to be Brian Oster day!</font>

Now, why did it not work before? Because there was a recent OCM mapping issue that was introduced and went undetected until today. As for the questions of why don't I fax from the iSeries: folks, if I owned the box I would. However, I don't. Those who own it and those who control it say otherwise. There is nothing I can do. Regardless, WE GOT IT!!!

JDEListers, take a bow! Take 10 of 'em!

With best regards and deepest thanks,
T.O.O.
 
Back
Top