根据上一步的 RC,提交另一个 JCL 作为主 JCL 的一个步骤 {via Internal Reader}

Submit another JCL as a step from main JCL based on RC of the previous step {via Internal Reader}

我有一个要求,其中我必须提交 10 个 JCL。每个 JCL 都被编码为在完成时给出 MAXXCC=0。

我想从主 JCL 调用所有 JCL,这样我就不必手动提交所有 JCL。

如果通过内部 reader 无法做到这一点,请提出任何其他解决方法。

这是我目前的编码方式:

//*************************************************************
//* STEP 1: Run job 2
//*************************************************************
//*                                                            
//STEP02   EXEC PGM=IEBGENER                                   
//SYSUT1   DD   DISP=SHR,DSN=HLQ.MYPDS(JCL2)   
//SYSUT2   DD   SYSOUT=(,INTRDR)                               
//SYSPRINT DD   SYSOUT=*                                       
//SYSIN    DD   DUMMY                                          
//*                                                            
//*************************************************************
//* STEP 3: Run job 3
//*************************************************************
//*                                                            
//STEP03   EXEC PGM=IEBGENER,COND=(0,EQ,STEP0)                                   
//SYSUT1   DD   DISP=SHR,DSN=HLQ.MYPDS(JCL3)   
//SYSUT2   DD   SYSOUT=(,INTRDR)                               
//SYSPRINT DD   SYSOUT=*                                       
//SYSIN    DD   DUMMY                                          
//*                                                    

调度系统

正如其他人所建议的使用调度系统,我认为所有大型机系统 会有某种调度程序。 运行 按顺序工作是否有面包和黄油 调度系统。

您确实需要了解 scheduling systems 并且越早越好。 上班问!!!

确实存在其他选项

JCL Chaining - 每个作业提交下一个作业

基本上你可以让每个作业提交下一个作业 例如

作业 1:

// --- Job 1 JCL
//*
// --- JCL to submit Job 2

作业 2:

// --- Job 2 JCL
//*
// --- JCL to submit Job 3

如果你使用这种方法,我会创建一个 JCL proc(比如 SUBNEXT)

// --- Job 1 JCL
//*
//   EXEC SUBNEXT,NEXT=JOB2

您可以使用 JCLLIB 声明使用您自己的 PROCLIB(您存储 SUBNEXT 的 PDS)。要使用 JCLLIB:

//MYJOB1   JOB     ...
//MYLIBS1  JCLLIB  ORDER=MY.PROCS.JCL

Jes 3 调度

如果使用 Jes-3;有内置的作业控制。只用这个 如果您知道自己在做什么,则可以选择其他方式,否则操作人员会不高兴。 基本上确保你使用冲洗选项