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的方法执行。