Dave Salt wrote:
I'm starting to think that maybe I can allow the existing process to generate
the JCL, but my process would pass it a switch that tells it not to submit the
job. A fraction of a second later my process would call the existing process to
generate the next job, and the switch would tell the existing process to add
the next job (with no job card) to the bottom of the previous job (and so on).
When my process calls the existing process to generate the last job, it would
set the switch to tell the existing process to submit the generated job.
The only messy part might be ensuring the step names are unique throughout the job, but other than that I think this might be the best solution?
Also, watch for the 255 step limit per job.
We use JES3 DJC for all of our product builds. There are some jobs that
run serially, and some that run in parallel. The compile jobs have a
couple of hundred steps each and run in parallel. When we add many new
steps, we re-balance the steps per job so they all complete around the
same time. If we go past the 255 step limit, we add another job.
Here is one of our DJC Network diagrams:
//* D. J. C. NETWORK DIAGRAM */
//* */
//* --------------------- */
//* | EJES00 | */
//* | DELETE & ALLOCATE | */
//* | THE LIBRARIES | */
//* --------------------- */
//* | */
//* V */
//* --------------------- */
//* | EJES10 | */
//* | IEBCOPY/IEBGENER | */
//* | MACROS/SOURCE/ETC | */
//* --------------------- */
//* | */
//* V */
//* /--------------------------------------------\ */
//* | | | | */
//* V V V V */
//* ------------ ------------ ------------ ------------ */
//* | EJES20 | | EJES21 | | EJES22 | | EJES23 | */
//* | ASSEMBLE | | ASSEMBLE | | ASSEMBLE | | ASSEMBLE | */
//* | (E)JES | | (E)JES | | PHOENIX | | PHOENIX | */
//* | MODULES | | MODULES | | MODULES | | MODULES | */
//* ------------ ------------ ------------ ------------ */
//* | | | | */
//* | V V | */
//* \---------------------------------------/ */
//* | */
//* V */
//* --------------------- */
//* | EJES30 | */
//* | IEBCOPY/IEBGENER | */
//* |ISPF DIALOG ELEMNTS| */
//* | COMPILE NON-ISPF | */
//* | HELP PANELS | */
//* | COMPILE MESSAGES | */
//* --------------------- */
//* | */
//* V */
//* --------------------- */
//* | EJES40 | */
//* | LINK-EDIT AND | */
//* | FINAL COPIY STEPS | */
//* --------------------- */
The job cards and JECL are shown below. Note the '/*ROUTE XEQ' JES2 JECL
card. That's to be sure the jobs are sent to a JES3 node--in case
they're accidentally submitted under JES2.
//EJES00 JOB 1,'EJES GENERATION',REGION=256M,MSGCLASS=E
/*ROUTE XEQ PHXHQ
//*NET ID=EJESGENR,RL=EJES10 OPHOLD=YES
//*MAIN CLASS=GENERATE,LINES=(100,W)
.
.
//EJES10 JOB 1,'EJES GENERATION',REGION=256M,MSGCLASS=E
/*ROUTE XEQ PHXHQ
//*NET ID=EJESGENR,NHOLD=1,RL=(EJES20,EJES21,EJES22,EJES23)
//*MAIN CLASS=GENERATE,LINES=(100,W)
.
.
//EJES20 JOB 1,'EJES GENERATION',REGION=256M,MSGCLASS=E
/*ROUTE XEQ PHXHQ
//*NET ID=EJESGENR,NHOLD=1,RL=EJES30
//*MAIN CLASS=GENERATE,LINES=(300,W)
.
.
//EJES21 JOB 1,'EJES GENERATION',REGION=256M,MSGCLASS=E
/*ROUTE XEQ PHXHQ
//*NET ID=EJESGENR,NHOLD=1,RL=EJES30
//*MAIN CLASS=GENERATE,LINES=(300,W)
.
.
//EJES22 JOB 1,'EJES GENERATION',REGION=256M,MSGCLASS=E
/*ROUTE XEQ PHXHQ
//*NET ID=EJESGENR,NHOLD=1,RL=EJES30
//*MAIN CLASS=GENERATE,LINES=(600,W)
.
.
//EJES23 JOB 1,'EJES GENERATION',REGION=256M,MSGCLASS=E
/*ROUTE XEQ PHXHQ
//*NET ID=EJESGENR,NHOLD=1,RL=EJES30
//*MAIN CLASS=GENERATE,LINES=(600,W)
.
.
//EJES30 JOB 1,'EJES GENERATION',REGION=256M,MSGCLASS=E
/*ROUTE XEQ PHXHQ
//*NET ID=EJESGENR,NHOLD=4,RL=EJES40
//*MAIN CLASS=GENERATE,LINES=(150,W)
.
.
//EJES40 JOB 1,'EJES GENERATION',REGION=256M,MSGCLASS=E
/*ROUTE XEQ PHXHQ
//*NET ID=EJESGENR,NHOLD=1
//*MAIN CLASS=GENERATE
--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[email protected]
http://www.phoenixsoftware.com/
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html