如何从主 jcl 安排子 jcl
How to schedule a sub jcl from main jcl
例如,在执行和 运行 一个 cobol db2 程序时,我们需要提交 mutilpe jcl,因此需要将所有这些子 jcl 放在我的主 jcl 下,这样我只需要提交一个 jcl并编译和执行完成。
main jcl
- - -
- - -
jcl1 jcl2 jcl3
约束:
我无法更新 jcl1、jcl2 和 jcl3。
JOBLIB
或 STEPLIB
是包含可执行文件(即程序)的库列表。它们不包含作业,即 JCL。
从操作的角度来看,没有子 JCL 这样的东西。每个作业都是一组单独的 JCL 语句,可以作为 JCL 库的成员存储,也可以由程序生成。
如果您的 COBOL 程序需要决定何时以及提交哪个作业,它需要知道每个作业的库和成员。然后它可以从库中读取成员并将记录写入 INTRDR 数据集。 COBOL 程序的 JCL 可以,例如三个作业中的每一个的 contian DD 语句和一个 INTRDR DD 来提交作业。
//jobname JOB ....
...
//stepname EXEC PGM=your-cobol-pgm
//...
//JOB1 DD DISP=SHR,DSN=your.jcl.lib(JOB1)
//JOB2 DD DISP=SHR,DSN=your.jcl.lib(JOB2)
//JOB3 DD DISP=SHR,DSN=your.jcl.lib(JOB3)
//SUBMIT DD SYSOUT=(A,INTRDR)
...
我不是 COBOL 程序员,所以我不会尝试给出示例代码。在 COBOL 代码中,您为每个作业声明文件,即 JOB1、JOB2 和 JOB3,并为 INTRDR 声明一个文件,即 SUBMIT
(注意 DD 名称 SUBMIT是任意选择的;它几乎可以是您想要的任何名称)。
当提交作业 1 时,您打开文件 JOB1
和 SUBMIT
,然后从 JOB1
读取每条记录并立即将其写入 SUBMIT
.最后,关闭这两个文件,关闭 SUBMIT
就是告诉 JES 处理作业。
您可能想要探索 JES2 Execution Control Statements,这将使您能够使用 JCL 完成所有这些工作。
例如,在执行和 运行 一个 cobol db2 程序时,我们需要提交 mutilpe jcl,因此需要将所有这些子 jcl 放在我的主 jcl 下,这样我只需要提交一个 jcl并编译和执行完成。
main jcl
- - -
- - -
jcl1 jcl2 jcl3
约束: 我无法更新 jcl1、jcl2 和 jcl3。
JOBLIB
或 STEPLIB
是包含可执行文件(即程序)的库列表。它们不包含作业,即 JCL。
从操作的角度来看,没有子 JCL 这样的东西。每个作业都是一组单独的 JCL 语句,可以作为 JCL 库的成员存储,也可以由程序生成。
如果您的 COBOL 程序需要决定何时以及提交哪个作业,它需要知道每个作业的库和成员。然后它可以从库中读取成员并将记录写入 INTRDR 数据集。 COBOL 程序的 JCL 可以,例如三个作业中的每一个的 contian DD 语句和一个 INTRDR DD 来提交作业。
//jobname JOB ....
...
//stepname EXEC PGM=your-cobol-pgm
//...
//JOB1 DD DISP=SHR,DSN=your.jcl.lib(JOB1)
//JOB2 DD DISP=SHR,DSN=your.jcl.lib(JOB2)
//JOB3 DD DISP=SHR,DSN=your.jcl.lib(JOB3)
//SUBMIT DD SYSOUT=(A,INTRDR)
...
我不是 COBOL 程序员,所以我不会尝试给出示例代码。在 COBOL 代码中,您为每个作业声明文件,即 JOB1、JOB2 和 JOB3,并为 INTRDR 声明一个文件,即 SUBMIT
(注意 DD 名称 SUBMIT是任意选择的;它几乎可以是您想要的任何名称)。
当提交作业 1 时,您打开文件 JOB1
和 SUBMIT
,然后从 JOB1
读取每条记录并立即将其写入 SUBMIT
.最后,关闭这两个文件,关闭 SUBMIT
就是告诉 JES 处理作业。
您可能想要探索 JES2 Execution Control Statements,这将使您能够使用 JCL 完成所有这些工作。