? ? ? 这玩意比LINUX命令行难多了,IBM的设计体系还是比较完善的,毕竟国际商用机器,就是那么牛。
? ? ? JCL就是把一个个PGM,以数据流的形式串起来跑。作业流(JOB STREAM),作业是用JCL(JOB CONTROL LANGUAGE)。作业中有三个基本的语句,分别是:JOB,EXEC,DD
? ? ? ?JOB:标识一个作业的开始,提供必要的运行参数(这玩意大概率一个JCL就一个)
? ? ? ?EXEC:和作业STEP有关,基本上每个STEP代表一个PGM,定义要执行的程序嘛
? ? ? ?DD:JCL的目的是跑数据流,增增改改,就是写一些输入输出的数据文件
? ? ? ?
//COPYDATA JOB (),'ERIC',
// TIME=1440,
// NOTIFY=&SYSUID,
// REGION=0M,
// CLASS=A,
// MSGCLASS=X,
// MSGLEVEL=(1,1)
//* 这个地方加了个注释区
//* COPY DATASET
//CPYLOAD EXEC PGM=IEBCOPY,PARM='SIZE=1M'
//SYSPRINT DD SYSOUT=*
//IN1 DD DISP=SHR,DSN=DEVP124.JCL
//OUT1 DD DISP=SHR,DSN=DEVP124.SRC
//SYSIN DD *
COPY I=IN1,O=OUT1
S MEMBER=((JCLSMP1,,R))
/*
? ? ?这个代码的含义是,把“JCLSMP1”从一个分区数据集拷贝到另一个分区数据集,这玩意就相当于那个C命令。拷贝一个没有权限复制的文件,它的提示就是,DECOPY FAIL
? ? ?看完数据流图后写JCL,一般都是找一个即存的JCL,S它的详细信息之后,3.2新建一个,或者说直接C一个即存的JCL文件。,一般JCL的必须是定长(RECFM=FB),且LRECL=80字节。
? ? 如果自己的JCL头指明自己的大机号,就只能SD;LOG,看动态更新的LOG,这得想明白JCL的头主要干什么,主要就是控制输出LOG的形态? ?
? ? 调试JCL,主要看LOG,首先就是看是ERROR,ABEND,还是COND CODE=0000。ABEND最为难搞,这个码非常的多,最简单就是SB37,就是说自己卷的空间不足。
? ? JCL的LOG,分为JESMSGLG,JESJCL,JESYSMSG,这三个区域:
? ? JESMSGLG:主要存放各部的返回值和统计信息,JESJCL里面存放用户提交的JCL语句,JESYSMSG里面存放的JES运行JCL时发生的详细信息,按照我的经验。出现ERROR搜NOT,搜MESSAGE;ABENDEND,难搞一点。
? ?里头有种类似于目录的创建方式,可以在里面添加JCL文件
? ? 另外一种方式是只能放测试数据或者就是类似于JCL文件
? ? PS:顺序数据集,DIRECTORY BLOCKS=0,这个里头没有MEMBER
? ? PDS: 分区数据集,就是上头哪个不等于0? ? ?这个里面才会有成员
? ? 数据集名字的长度区分也是1到8位
? ? ?对数据集:E\V\D\,R重命名,I,查看信息,CO拷贝,Z压缩(有时候JCL保存不了,会报SB37)
? ? ? 对成员,操作差不多,PDS(MEMBER),里面有成员,
? ? ? ?START 3.2: 跳到3.2界面里面
? ? ? ?F9: 切换屏幕 ,NUM数字+F9(这个意思是说,定位切换到哪个屏幕里面)
? ? ? ?REF,RES:刷新文件夹,和刷新文件里的内容
? ? ? ?SUB:提交,这玩意很有特点,要么进JCL里SUB,要么直接在填选项哪个地方
? ? ? ?I:插入一行,I+NUM,就是若干行
? ? ? ?D:删除若干行,D+NUM,就是删除若干行
? ? ? ?DD~~DD:删除代码块
? ? ? ?R:重复一行,R+NUM,删除若干行
? ??
? ? ? ?
? ? ? ?