Joined: 16 Jan 2016 Posts: 1 Location: United Kingdom
I have an iseries job that sends files to Mainframes via NDM (Connect Direct). CDSND and CDRUNJOB commands for this purpose.
Although my Copy and Run tasks complete successfully, there is an issue with the Mainframe job not getting into the initiator queue and not getting a slot to be executed. Say, I have 5 iseries jobs to be executed in an order and the 3rd job does not get executed and somehow the 4th job gets a slot and gets executed, this causes issues in my final output as the jobs have to be executed in the same order.
The purpose of these NDM jobs is to upload a file on to a web portal.So, the file is sent from iseries to Mainframe and then to the web portal.
Mainframe team has come back with a reason that the transmission job does not get an initiator immediately due to a loaded system and this causes a delay in executing a job.
Is there any way I could get a response from Mainframes to iseries after a job got into the initiator queue and got a slot and executed successfully.
Joined: 06 Jun 2008 Posts: 8491 Location: Dubuque, Iowa, USA
You need to work with your mainframe support group to design and implement a solution. z/OS has two job entry subsystems, JES2 and JES3, and they do NOT guarantee that jobs will execute in the order they are submitted. In other words, the fourth job submitted running before the third job submitted is a normal and expected occurrence on the mainframe.
The usual ways of handling sequence issues is to use the system job scheduler or to have one job submit the next in sequence. There are other possible solutions depending upon the site (for example, Dependent Job Control if the site is using JES3).
Nice try, but perhaps an iSeries forum would be better to pick up a bunch of suggestions? Still don't expect any of them to be bought by your Mainframe guys (many will not be possible, some will be stupid).
As I said before, you need to talk to the Mainframe people. I know you've not got far with them yet. If your own stick isn't big enough, you need to find someone with a bigger stick.
As an interim, how about sending yourself a file from the Mainframe when the JOB finishes?
What job scheduler do you use? Certainly with TWS it would be possible to submit the iSeries job and then track the mainframe job, even if that is submitted by the iSeries job rather than the scheduler. Then when it has completed, the next iSeries job can be run.
I'm sure other schedulers would have similar functionality.