TSO$ISPF入门 (怎么进入UNIX 从 ISPF)

TSO$ISPF入门 (怎样进入UNIX 从 ISPF)

主机文件基础知识

主机DATASET(就是PC的文件)  

名字hlq.xxxx.xxxx.xxxx

eg: IBMUSER.UTIL.JCLLIB

名称全长不超过44个字符,每个小数点间的字符最多8个,不能以数字开头。第一段是hlq, 比如IBMUSER.

主机上常用的dataset 组织形式有两类:

PS, PDS. PS就是顺序文件, PDS就是分区数据集,在他里面可以存放多个MEMBER,常用来作为程序,JCL, LOAD库。

纪录模式有多种,

常用的是FB固定长度BLOCKED, VB变长blocked. U不定长,用于LOAD库。

主机的文件系统是通过CATALOG来管理的。

如果你定义一个dataset,  会最终分配在某个磁盘卷.,在这个磁盘卷的VTOC会增加这个dataset的信息,在没有catalog管理的时候,我们都需要访问这个dataset需要指定这个卷的信息。这一点类试现在的windows系统。但对于主机存放大量数据, 没有管理很容易数据很混乱,不知道data到底在哪个卷,就引入catalog.

通过catalog, 系统直接通过dataset的hlq在catalog就知道是会分配在哪几个卷上,再到那几个卷去查找相应的dataset就可以了。 Catalog有两种,一种是master catalog, 存放系统dataset信息和user catalog, 所有sys1.**都存放在master catalog, 这样查找就会直接找到, 系统启动的时候也会在loadxx参数制定master catalog。一种是user catalog,  可以用户自己定义,管理, 一般用于管理用户自己数据集.

对于某个dataset要了解它在哪个catalog可以使用listcat.

Eg: listcat entries('ibmuser.jcllib').

 

[原创]TSO入门1--创建和删除DATASET篇

TSO 是TIME SHARING SYSTEM,是MVS的命令输入处理器 。

用户从终端LOGON以后,开始使用TSO环境。在TSO终端上,用命令形式操纵和管理计算机的资源和应用。使用LOGOFF命令退出TSO操作环境。我们在如何登陆主机的时候,提到TSO环境下有两种模式:命令行模式和ISPF模式。

TSO 命令行模式 如下,可以在光标处输入MVS命令。


此主题相关图片如下:


命令行模式下分配data set, 输入command:

ALLOCATE DATASET('IBMUSER.UTIL.JCLLIB') FILE(DD1) NEW CATALOG DIR(10) DSORG(PO)

VOLUME(USER01) SPACE(10,10) RECFM(F,B) LRECL(80) BLKSIZE(8000) .

换行用ENTER, 输入命令按CTRL.

如下,成功执行后并没有信息回显,只是又有个ready显示。


此主题相关图片如下:

一般来说,LINE MODE下很少用,因为使用ISPF图形界面让一切日常操作变得非常简单。LINE MODE下输入ISPF命令就进入ISPF界面。

TSO ISPF模式如下:
此主题相关图片如下:

在ISPF下,提供了6  Command       Enter TSO or Workstation commands    可以输入TSO command,相当于line mode。

在option = => 6

输入后如下


此主题相关图片如下:

下面介绍最常用的操作, 在option 输入3 Utilities  


此主题相关图片如下:

最最常用的就是2 Data Set, 4  Dslist, 12 SuperC, 14 Search-For

option输入2


此主题相关图片如下:

可以在这个界面分配dataset, 删除dataset。

分配data set

在option输入A, dataset name输入想分配的dataset和volume(可以不输入)。Eg:


此主题相关图片如下:

按CTRL后显示弹出panel, 要求输入data set属性。Panel会显示上一次分配,显示的值,如果是一样的,我们就可以直接确认,如果有不一样的属性,直接修改就好了。

Eg中,我们输入如下。

Space units . . . . . TRKS    **分配空间的单位, 3390-3, 1TRKS= 56664 bytes.

Primary quantity  . . 10       **初次分配10个。

Secondary quantity    10     **每次扩展分配10个。

Directory blocks  . . 10        ** directory 10 trks

Record format . . . . FB       ** fix blocked. 说明纪录长度是定长的,VB是变长。

Record length . . . . 80         ** 纪录长度为80, 一般适合程序,JCL.

Block size  . . . . . 8000        ** Block size= n* record length.


此主题相关图片如下:

按ctrl会回到Data Set Utility   Panel, 在右上角显示Data set allocated。

删除dataset , 在option输入d , dataset输入名字就好。


此主题相关图片如下:

可能会弹出确认窗口,确认按ctrl, cancel按PF3就可以了。确认删除还会返回到Data Set Utility, 在右上角显示Data set deleted。

现在我们来谈4  Dslist 用于浏览数据集。 OPTION输入4


此主题相关图片如下:

在dsname level输入需要浏览的data set name, 支持通配府 ‘*’ ‘?’.

‘*’表示多个符号

‘?’表示一个符号。

输入SYS1.*.PARMLIB


此主题相关图片如下:

按CTRL显示所有满足SYS1.*.PARMLIB的库。


此主题相关图片如下:

SYS1的库是系统库,不能乱作修改。我们用PF3退回到Data Set List Utility窗口,输入IBMUSER.JCLLIB进入如下:在IBMUSER.JCLLIB前输入/


此主题相关图片如下:

按ctrl将弹出一个窗口


此主题相关图片如下:

说明了所有可以在这个dataset选择的操作。比如编辑,浏览,压缩等。

我们pf3退出, 直接在IBMUSER.JCLLIB前输入E(代表操作EDIT).

对于PS文件将直接进入编辑,对于PDS将显示所有的MEMBER.


此主题相关图片如下:

选择其中的一个MEMBER, 可以在Command == ==> L IEFBR14将直接找到MEMBER IEFBR14或者与它最匹配的MEMBER. 在IEFBR14前面输入E.如下:


此主题相关图片如下:

将进入ISPF EDITOR环境, 当前编辑的DATASET就是IBMUSER.JCLLIB(IEFBR14)。


此主题相关图片如下:

我们将继续将如何编辑DATASET...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[原创]TSO入门2--编辑dataset篇

拷贝dataset, 对于PDS MEMBER, PS前用C,


此主题相关图片如下:

 

按ctrl


此主题相关图片如下:

在DATA SET NAME处,填写目标DATASET,对于PDS, 需要在NEW member name填写member name. 如上图。 按ctrl。 成功返回会在前一个的图的promt显示’*Copied’, 注意Replace option:如果’/’,存在就会replace.

在name还可以输入’D’删除dataset, 请大家自行操作。

我们在VIEW IBMUSER.JCLLIB窗口的command line输入REF, 刷新窗口,然后L TEST1, 在TEST1前的OP处输入E(EDIT)命令开始编辑dataset.


此主题相关图片如下:

看到上图的在line 3, line 6输入DD,表示删除000003-000006。按ctrl, 就会删除。

DD0003

000004

000005

DD0006

插入:如下图,在000003输入I, 结果将会插入一行, 如果要插入多行,输入Innn, nnn为要插入的行数。


此主题相关图片如下:

ctrl后输入ABCD.

拷贝操作:在LINE 4, LINE 6输入CC, 如下,按ctrl后会在右上端显示””MOVE/COPY is pending”


此主题相关图片如下:

然后找到要插入的行,eg 10. 输入A, 表示after, B 表示before. 以A为eg, B自己试试。


此主题相关图片如下:

按CTRL后,行数就COPY过来了。

MOVE, 移动, 与COPY操作一样。

修改后,在COMMAND处输入SAVE,就保存下来。


此主题相关图片如下:

对于JCL,我们可以输入SUBMIT, 就可以提交JOB.

与另外的member compare, 可以用3.12 Compare data sets.分别输入新旧dataset. 也可以在EDIT窗口直接用compare command. 如下:


此主题相关图片如下:

按CTRL后显示如下:


此主题相关图片如下:

其中====表示在新的里面没有,老的有,就是新的删除了,.

OAAAA表示第一个增加的。接下来就是OAAAB --- OAAAD.

在右上角显示Changes are shown, 如果两个文件相同的,显示File Are Same.

还有常用的在command处的命令是hex,就是16进制的显示,CREATE用COPY的数据创建DATASET, replace等。这些就大家慢慢学习吧。

常用的行命令还有col, 显示出列数。如下:


此主题相关图片如下:

到现在为止,基本的ISPF操作就介绍完了, 其实还有一大堆操作和命令没有介绍, 高手和低手操作ISPF的效率是不一样的哦, 这篇文章只能是带大家进入TSO, ISPF这个殿堂,继续的努力就要*大家自己了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[原创]TSO入门贴

1. TSO命令(ISPF输入)
通过P.6可以进入TSO COMMAND,输入TSO命令。可以输入的常见命令是:
ALLOCATE分配数据集;FREE;
TIME输出当前时间;
SEND 'hehe' user(zhpl037) now发送信息给用户;
CALL调用程序;EXEC运行REXX,CLIST;
TSO HELP **,获得命令帮助。如TSO HELP OMVS;
XMIT(TRANSMIT)压缩一个PDS到PS文件,并传送到其他用户。
RECEIVE可以接收。
OMVS进入MVS UNIX环境。
LISTDS命令 显示数据集属性
LISTCAT(LISTC)命令  参看LSTDS
ALTLIB DISPLAY可以查看当前搜索的EXEC,PROC.

支持一些网络命令,比如使用PING,NETSTAT。

一些产品软件也会扩展TSO COMMAND,如    
如DB2也增加了如:-xxxx START DB2; xxxx是subsytem名字;这个命令就是启动某个DB2 SUBSTEM.

2. TSO命令(作业流输入)

类似一般作业流使用PGM=IKJEFT01,只是在SYSTSIN中输入COMMNAD就可以,如TIME;对于SDSF中的命令,可以使用PGM=SDSF.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

eg:

//TIMEJCL     JOB (0000,0000),                                         00001000

//             MSGCLASS=X,                                             00002000

//             MSGLEVEL=(1,1),                                         00003000

//             NOTIFY=&SYSUID,                                         00005000

//             TIME=1440,                                              00006000

//             REGION=6500K,

//             RESTART=*,

//             CLASS=A,

//             PRTY=15

//JOBLIB  DD  DSN=SYS1.DSN710.SDSNEXIT,DISP=SHR                        00260000

//        DD  DSN=DSN710.SDSNLOAD,DISP=SHR                             00270000

//        DD  DSN=ELA.V1R2M0.SELALMD,DISP=SHR                          00270000

//TIME      EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT)                  01300000

//SYSTSPRT DD SYSOUT=*                                                 01320000

//SYSPRINT DD SYSOUT=*                                                 01330000

//PRINTER  DD SYSOUT=*

//SYSUDUMP DD SYSOUT=*                                                 01340000

//SYSOUT   DD SYSOUT=*                                                 01350000

//REPORT   DD SYSOUT=*                                                 01360000

//SYSIN    DD *                                                        01390000

//SYSTSIN  DD *                                                        01390000

 TIME                                                                  01400000

/*                                                                     01730002

 

 

 

 

 

 

 

 

 

 

ISPF基本操作-建立一个新的DATA SET

进入到TSO/ISPF里面,在命令输入行输入P.3.2,按下执行键,就直达了操纵数据集的窗口。

在‘Data Set Name’栏输入新Data Set的名称(需用左右单引号包括),在‘Option’栏输入命令‘a’,输入文件格式参数,CTRL即可.DATASET每个段只能是字符开始,不能是数字.参数解释如下(DMS下)

1、Volume serial: 数据集所在的卷(就当是分到哪个卷)
2、Generic unit: (一般不填)
3、Space units: 空间分配的单位(是块、磁道、柱面、KB、MB还是BYTES)
4、Primary quantity: 空间分配的初始数值(第一次分配几块、几磁道等)
5、Secondary quantity: 空间分配的增长数值(空间不够时一次追加分配几块、几磁道等)6、Directory blocks: 允许几个目录块(0表示QSAM文件)
7、Record format: 记录格式(定长F,FB、变长V,VB)
8、Record length; 记录长度(对于定长格式是每个记录的长度. 对于变长记录,是最大长度。系统操作时需要4个字节,所以是程序中文件最大长度+4)
9、Block size: 数据块的大小
10、Expiration date: 失效日期(是指在失效日期前,不能覆盖,删除这个文件)

在SMS环境下,
一般有MANAGECLASS, STORAGECLASS等,系统会自动安装这些class定义的rule,来分配到哪个卷,以及什么时候过期,什么时候migrate到tape.

ISPF基本操作--浏览/编辑文件

命令:P.3.4+V(VIEW)/E(EDIT)

操作:

在初始界面下输入命令:P.3.4  回车

在‘Data Set List Utility’界面的‘Dsname Level’栏输入文件所在的Data Set的全名,然后回车(如果不输入全名,会显示输入目录的下一级目录,移动光标至相应目录后回车,重复做直到显示‘Data Set List Actions’界面为止);

在‘Data Set List Actions’界面选择2后回车(一般选择2即可)进入‘VIEW’界面;在要浏览的文件前面的横线上输入命令‘V’,回车后即可浏览该文件,若输入命令‘E’则可修改该文件

在Data Set Command Panel上, 可以输入以下两个常用命令,对于忘记确切dataset name,查找起来很方便

Find '  ' Find字符串匹配的dataset

MEMBER   可以在所有的PDS中查找相应MEMBER名

 

 

 

 

 

 

 

ISPF基本操作--拷贝文件

方法一:P.3.3

操作:

在初始界面下输入命令:P.3.3  回车

在‘Move/Copy Utility’ 界面的‘Data Set Name’栏输入源Data Set的名称,在‘Option’栏输入命令‘c’,然后回车;

在‘COPY FROM’界面的‘Data Set Name’栏输入目的Data Set的名称,回车进入下一个界面;在要复制的文件左侧的圆点处输入字母‘s’(可在多个文件前输入s),再回车即可

 

方法二:C(即COPY PDS MEMBER)

操作:

在‘VIEW‘界面下,在要复制的文件左侧横线上输入命令‘c’(可在多个文件前输入c),然后回车,进入‘COPY Entry Panel’界面;在‘Data Set Name’栏输入目的Data Set的名称,回车即可

注:要移动一组文件,只要把命令‘c’改为命令‘m’即可

 

方法三:CO(COPY PS文件和PDS)

在P.3.4显示出Dataset Name前CO, 对于PS文件,直接输入目的数据集,对于PDS文件,选择相应需要COPY的MEMBER,全选使用S *, 然后输入目的数据集.

 

ISPF界面的基本概念:

最上面是action bar,在action bar上按CNTL就会弹出下拉菜单可以选择。

面板选项:比如0--setting 1--view, 2--edit等。

命令行:一般在最底部,可以输入TSO REXX,CLIST命令,也可以输入选项。

功能键:在最底下,显示F1--HELP,F2-SPLIT等。通过快捷键能执行某种指定的功能。

还有point-and-short属性,就是说你把光标在上面按CNTL后就相当于选择该选项,在ISPF MAIN MENU的选项就有这种属性。

弹出窗口:就是弹出个窗口在现有面板上,比如消息。弹出窗口分模式窗口和非模式窗口。模式窗口就会把FOCUS转动它的窗口上,用户必须于它交互后才能返回到原来的PANEL。非模式窗口就不需要。

 

ISPF界面属性设置常用命令:

FKA  控制function key的显示。FKA ON显示FK, FKA OFF关闭FK。

KEYS 显示当前function key的定义。

PFSHOW 和FKA功能一样。

COLOR 当前ISPF COLOR配置。

CUAATTR 当前ISPF CUA属性。

PSCOLOR 当前ISPF point on short属性的颜色配置。

ENVIRON 当前环境配置,可以查看你使用的TERMINAL的属性,是否支持彩色等。

PANELID ISPF界面显示PANEL ID的开关。

SCRNAME ISPF界面显示screen name的开关。

ISPF EDIT常用命令说明

1,FIND命令

FIND characterstring 定位和显示下一个charaterstring.

FIND characterstring ALL 定位和显示所有的charaterstring.

FIND C' characterstring' 定位和显示下一个charaterstring,但区分大小写。

FIND characterstring startcolum endcolum 在开始列到结束列中查找charatersting.

FIND characterstring NEXT | PREV | FIRST | LAST: next往下找,PREV,往上找,FIRST找第一个,LAST找最后一个。

RFIND 重复上一个FIND命令。

2,Bounds(简写BNDS) & Exclude(简写X)

BOUNDS leftcolumn rightcolumn 为以后的编辑命令设置左右边界。

BOUNDS leftcolumn * 只设置左边的起始边界。

BOUNDS Reset 重置,恢复默认边界。一般的PROFILE就是没有。

作用是:eg, 可以先设置边界,然后查找就只会在边界内查找。

EXCLUDE characterstring 排除下一个包括characterstring的行。

EXCLUDE characterstring startcolumn endcolumn 排除在startcolumn,endcolumn间出现characterstring的行

EXCLUDE characterstring ALL  排除所有包括characterstring的行
EXCLUDE "*" column 排除在某个列含有字符的行。

3, SORT命令

SORT startcolumn endcolumn sequence 按照(startcol, endcol)sequence(A,D)排序记录.

SORT major1 major2 seq1 minor1 minor2 seq2  先按照(major1 major2) seq1然后再按照(minor1,minor2,seq2)排序.

缺省的SEQUENCE是A 升序.

最多可以知道5个排序字段.

4, change命令

CHANGE findstring replacestring 用replacestring change下一个findstring

CHANGE findstring replacestring ALL 用replacestring change所有的findstring

CHANGE findstring replacestring leftcolumn rightcolumm  在指定的(lefcol, rightcol)中的findstring change成replacestring.

CHANGE x'hexfindstring' x'hexreplacestring' 匹配16进制的字符串值进行change.

RCHANGE 重复上一个change的动作.

5, locate, reset, renum, unnumber

locate--使用locate可以让你定位于具体行 locate 1000.定位到1000行.

reset--可以重置一些特殊显示.

RENUM--重新计算行数,一般以100为增长.

UNNUMBER(UNN)--关闭数字模式,将所有的顺序场置为空,可以使用这个在COBOL,JCL中将72列以后的字符置为空, 这个作用特别好.