JCL学习

JCL:

JCL全名:Job Control language

在S/390系统中,当用户需要使用计算机完成某项任务时,用户需要准备一个作业流(Job Stream),作业流中包含一个或者多个作业(Job),作业是用JCL(Job Control language)书写的。JCL是用户与操作系统的接口,用户通过JCL相应的语句来与操作系统通讯,获得作业所需的资源等等,按自己的意图来控制作业的执行。

JCL由几个语句组成么,对于一个作业,JCL为被执行的任务引导操作系统,并说明所需的全部I/O设备,在一个作业中,每一个程序的执行被称为一个作业步,一个作业可以包含多个作业步。一个作业步中的各步是顺序执行的,因此一个作业步的输出可以作为下一个作业步的输入。

作业都必须包含三个JCL的基本语句,它们分别为:

1 作业语句 Job:标识一个作业的开始,提供必要的运行参数。

2 执行语句 EXEC:标识一个作业步的开始,定义本作业步所要执行的程序或过程。

3 数据定义语句 DD:用于描述应用程序所需要的数据文件。

系统规定这三种语句必须以“//”开头。


接下来看一个JCL的小栗子:

JCL学习

上面这个小栗子,它的功能是把“JCLSMP1”从一个分区数据集拷贝到另一个分区数据集。


 

为JCL分配数据集:

JCL必须作为一个成员(Member)存储在分区数据集(PDS)中。使用ISPF3.2(ISPF:就是S/390系统的主菜单)的功能为JCL分配一个分区数据集,其格式必须是定长(RECFM=FB)并且记录长度80字节(LRECL=80)

编辑JCL:

在上面建立的PDS里面创建一个成员(Member),使用ISPF的编辑功能编辑JCL。

提交JCL:

编辑好之后就可以提交JCL给JES2去运行,有三种常见的提交方式:

1  在JCL编辑界面里,下面的命令行上输入  SUB 命令

JCL学习

在ISPF 3.4的成员列表中,在JCL前直接写SUB命令:

JCL学习

3 直接使用TSO命令SUBMIT提交,可以在ISPF中任意地点发出命令:

JCL学习