I use same JOBQ for all the other jobs, a JOBQ set to only run one task at 
a time.
If there is SBMJOB inside of SBMJOB & if some of these jobs could be 
legitimately called by unrelated application tasks, then the architecture 
needs to have whatever JOBQ to use passed down as a parameter.
If job-1 loads up JOBQ with jobs-A B C D E F to run in sequence
and if job-A submits job A1, default is to place it after F, but maybe it 
needs to run before B, so you need to tinker with the priorities, so that 
it is inserted in right place.
A CL can have a WAIT setup, where it is waiting for some event condition, 
in this case information that a particular step has completed, which can be 
via message, or use a shared data area where each program updates flag ... 
I am active, I am finished ... of maybe outer CL have an IF ACTIVE name of 
previous launched program.
I have a string of batch jobs that create various intermediate work files, 
that are then input to later work files.  Each one uses a shared MSGQ
"Whatever job I am got started"
"Whatever job I am completed"
so if anything goes haywire, I check one place & rapidly identify which 
batch joblog will contain info on what broke.
The architecture is that there is one very simple CL that basically says:
SBMJOB this batch job
SBMJOB this batch job
again and again like 20 times
NONE of these batch jobs has any SBMJOB where the called work needs to be 
run in any particular sequence
they all end up in same single threaded JOBQ
The controlling CL that has the SBMJOB list
it also runs in same JOBQ
so that the first in the string does not start until the controlling guy is 
finished
I have found performance issues when there's a bunch of different JOBQ 
concurrently active, so I have
* one JOBQ for ordinary BPCS stuff and quickies (tasks that should be over 
in a few minutes)
* one JOBQ for long running complicated stuff that can reasonably be 
expected to take upwards of an hour to get done
A CL program that runs several batch jobs, one after the other
A CL  program is calling several  other CLs, many of which have SBMJOB
commands in them.   The next CL can not be run until the previous CL is
completed.
It is entirely possible that I am making too big a deal out of this.  Is
there an easy way to make it run one step at a time?
--
---------------------------------
Booth Martin
http://www.Martinvt.com
---------------------------------
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.