JCL 帮助文档
- 格式:doc
- 大小:150.00 KB
- 文档页数:77
JCL 帮助文档
1) 日记一
登陆:TSO 帐号
解禁键盘: left ctrl
[创建数据集][SDS:顺序数据集 ;PDS:分区数据集(必须拥有成员才能访问。数据集名+(成员名):有则打开,无则创建。)]
进入3.2
输入dataset name :'st018.sds.data' [加单引号:不让系统自动命名前缀(PREFIX功能)] option: a (不只是这里,Mainframe里很多操作都要设置好option的选项才能回车) 输入数据集相关信息
ps.{
if (data set==SDS) then directory blocks=0; else if(data set==PDS)
then directory blocks=1;
end if;
}
[编辑数据集]
主命令:
CANCEL:取消所做的编辑并退出编辑环境;
CAPS ON/OFF:退出编辑环境后系统自动将所有字母转换为大写/小写。
CHANGE(RCHANGE):替换字符,RCHANGE表示重复上次的替换。格式:CHANGE ** **
[ALL]
FIND(RFIND):查找字符串。
RECOVERY ON/OFF:设置编辑方式,ON表示用户可以通过UNDO命令取消上一次编辑操作。
RESET:重置编辑器,清除不需要的信息。
SAVE:保存当前修改,并继续编辑。
SORT:对文档行按字典顺序排序。
SUBMIT:提交作业;若作业是一段JCL程序,则通过该命令可以提交作业程序。
UNDO:取消上一次编辑(仅当在RECOVERY ON编辑方式下)
CREATE:用行命令确定一个拷贝区域,通过该命令将拷贝区域保存于一个新建的数据集中去。
COPY:用行命令确定拷贝区域,通过该命令将拷贝区域复制到指定位置。
REFRESH:刷新
s(setup)+member:创建新成员(PDS)
行命令:
C、CC、Cxx:拷贝命令。与其他行命令(A、B)或主命令结合使用。C 拷贝当前行,CC拷贝多行,用两个CC来定位,Cxx拷贝多行,XX表示行数。
I、IXX:插入命令。执行一次插入命令后,可直接按回车(ctrl)换行。 D、DD、Dxx:删除。
R、RR、Rxx:复制。
A:定位于当前行之前。
B:定位于当前行之后。
X、XX、Xxx:隐藏。
S、Sxx:显示隐藏的内容。
COLS:屏幕的刻度标尺。
UC、UCxx:转换成大写
LC、LCxx:转换成小写
(, (xx:将当前行左移一列或xx列。
), )xx :将当前行右移一列或xx列。
TS:将一行文本切分为两行。
TF:将多行文本合并为一行。
[主机和PC的文件传输]
1、文件上传到主机的TSO卷上,而非USER卷。 2、下载的文件名可以是相对文件名也可以是绝对文件名 3、必须进入操作界面6
4、用PCom提供的工具,可以直接在PC和主机间对选择的区域进行复制、粘贴。不过,
操作范围只局限当前屏幕。
[给其他用户发送消息]
1、进入6(COMMAND)操作界面
2、指令格式: send '发送内容'user(用户ID) PS: 用户ID=* 的话,即表示消息广播
2) 日记二
作业控制语言JCL(类似UNIX下的shell语言)是批处理作业的用户与操作系统的接口 。 作业(作业步1,作业步2,„„,作业步n),作业步1„„作业步n是顺序执行的 。 作业由以下三步组成:
(1)、编译 (2)、连接编辑(3)、执行
JCL语句的分类:
[基本语句] (必须以“//”开头)
1、作业语句(JOB):标识一个作业的开始,提供必要的运行参数。
2、执行语句(EXEC):标识一个作业步的开始,定义本作业步所要执行的程序或过程。 3、数据定义语句(DD):描述应用程序所需要的数据文件。
[附加语句]
4、/*:流内数据结束或调用JES控制语句。
5、//*:注释语句,注释内容写在第4列到第80列。
6、PROC:流内过程或编目过程的起始标记。
7、PEND:标志一个流内过程的结束。
8、Command:在输入流中写入操作命令。
JCL语法规则:
[JCL字符集]
26个大写字母+10个数字+10个特殊字符+6个通配符+EBCDIC可打印字符集(X‘40’~X’FE‘)
其中,特殊字符的相关说明如下:
",": 分隔参数、分隔子参数JOB (2000,100,300),GOND=(9,LT) "=":分隔关键字参数与它的值CLASS=A
"(b)":括起子参数列表或PDS、PDSE的成员名
"&" :标志一个符号参数&LIB
"&&": 标志一个临时数据集命&&TEMPDS标志一个流内或系统输出数据集命&&PAYOUT "." : 分隔受限数据集名字的各个部分ST018.PDS.DATA
分隔一些特定参数与子参数的各部分erid "*" : 提及一条先前的语句 OUTPUT=*.name在特定语句内标志特定功能//ddname DD* " ' ":括起含有特殊字符的参数值william'lin应该转换为'william''lin' "(空格)":划分域
[JCL语句格式规范]
语句80列:标识符区(//或/*或//*)+名字区(1~8列)+空格+操作符区(JOB ....)+空格+参数区+说明区
需要注意的地方:
1、为免混淆,仅当参数出现时才能写说明信息.
2、参数区的书写详见下面的[参数规则]
3、JCL只允许参数区和说明区有续行。当需要续行时,在当前行的第71列前必须将某个参数或某个子参数以及参数后的逗号写完整,且下一行第1、2列为“//”,第3列为空格,续行的内容只能从第4~16列开始(16列后开始的话将被认为是注释语句的续行)。 //DATA DD DSN=SYS1。FORTLIB,
// DISP=OLD
4、注意用空格来划分区域~
[JCL参数规则]
位置参数:与其他参数保持相对位置的参数
关键字参数:由一个关键字和等号后面的数据组成
1、位置参数和关键字参数之间用逗号隔开,不允许有空格,切记切记。 2、关键字参数必须写在同一级别的关键字参数之后。
3、缺省(不等于没有)某个位置参数或某个子参数时,必须用逗号指明所在位置 若缺省的是最后一个位置参数,则逗号可以省略
//EXP JOB (2000,,9),CLASS=A
//SYSTEM JOB ,SYSTEM,CLASS=S,MSGLEVEL=(0,0) 4、如果没有任何位置参数,则不必书写任何内容表示//EXP JOB CLASS=A 5、含有特殊字符的参数一般要用“' ”将其括起来。其中,'用''表示,&用&&表示.... 6、位置参数和关键字参数最多只能有两级子参数。
[JCL语法实例]
//EXPJOB JOB,'USERNAME',MSGLEVEL=(1,1),EXAMPLE #作业语句,EXAMPLE为注释 //MSGGLASS=Q,CLASS=A #作业语句续行
//****************** #注释语句
//*IT'S AN EXAMPLE*
//******************
//STEP1 EXEC PGM=IEFBR14 #执行语句
//DD1 DD DSN=MJSN.TEAM01.ONE,DISP=(,GATLG), #DD语句
//SPACE=(TRK,(5,2)),UNIT=SYSDA #DD 语句续行 //DD1 DD
DSN=MJSN.TEAM01.TWO,DISP=(,KEEP), #DD语句
//SPACE=(TRK,(1,1)),UNIT=SYSDA #DD语句续行 JOB语句:
语句格式://作业名 JOB 位置参数[,关键字参数][,关键字参数]...[注释说明]
作业名建议为USERID+数字或字符
[位置参数]
1、记帐信息:提供用户使用系统的合法性、机时及纸张收费管理等。 格式:([account-number][,accounting-information]...)
account-number:用户帐号
accounting-information:附加记帐信息,如部门..等
//ST018A JOB (ST018,'6/7/2006',PGMBIN) //ST018B JOB ST018
2、程序员名:表示作业的所有者(owner)信息,长度不得超过20个字符
//ST018A JOB 2006,W.I.L.L.I.A.M //ST018B JOB 2006,WILLIAM
//ST018C JOB 2006,'WILLIAM''LIN' 例子:
全部位置参数: //ST018EXP JOB (20006,60),WILLIAM,CLASS=S,....
缺省记帐信息: //ST018EXP JOB ,WILLIAM,CLASS=S,.... 不带位置参数:
//ST018EXP JOB CLASS=S,.... [关键字参数]
1、ADDRSPC:指明作业 所需之存储类型。有两个子参数:VIRT(缺省)、REAL。前者表示作业请求页式存储,后者表示作业请求实存存储空间。
2、BYTES:指明打印作业的系统输出数据集的最大千字节数,并指出当超过所为最大字节数时系统对作业的处理方式。处理方式包括:CANCEL(取消且不转储)、
DUMP(取消且转储)、WARNING(继续作业且发出警告信息)。类似BYTES(千数)的关键字参数有:CARDS(卡数)、LINES(行数)、 PAGES(页数)。
3、CLASS:规定作业的类别,JCL可选的作业类别有36个,用字母A~Z、数字0~9表示。相同类别处于同一输入队列等待执行。
4、MSGCLASS:对作业日志(job log:与作业相关信息的记录)设置输出类别。类别种类和CLASS中的类别一样。
5、MSGLEVEL:控制JCL作业输出清单的内容。格式:
MSGLEVEL={[statements][,messages]}。其中,statements、messages的说明如下: statements=0:仅打印出作业的JOB语句
=1:打印出作业中包括过程语句在内的所有JCL语句
=2: 打印出输入流中的所有控制语句
messages=0:仅当作业 异常终止时,才打印出有关JCL、JES、操作员及SMS的处理信息 =1:无论作业是否异常终止,都打印出有关JCL、JES操作员及SMS的处理信息。 例如://EXMP JOB ,MSGLEVEL=(2,1)
//EXMP JOB ,JSGLEVEL=0
//EXMP JOB ,MSGLEVEL=(,0)
6、NOTIFY:请求系统在后台作业处理完毕时给指定用户发信息。NOTIFY={USERID} 7、PRTY:为输入队列设置优先级。PRTY=priority。priority的取值范围:0~15(JES2)、0~14(JES3)。对于同一优先级的作业,采用FIFO的方法执行。