1.10 系统例程功能——选项3
ISPF/PDF主菜单中的选项3是例程功能显示屏(Utilities Selection Panel),可以使用ISPF提供的工具对各种数据集操作。如图1.73所示,例程功能显示屏(Utilities Selection Panel)提供的功能如下。
● 库(Library):打印数据集作业的索引或数据集、压缩数据集、显示数据集信息。
● 数据集(Data Set):对一个数据集进行分配、重命名、删除、编目、释放编目,并显示数据集的信息,它也具备一些VSAM的功能。
● 移动/复制(Move/Copy):移动或复制一个数据集。
● 清单显示(Dslist):根据数据集的编目,或从VTOC的入口显示并/或打印数据集名的成员清单。
● 重置(Reset):删除或重新设定ISPF库的统计资料。
● 打印复制(Hardcopy):打印数据集。
● 传送(Transfer):从服务器接收数据集或传送数据集到服务器上。
● 输出清单(Outlist):作业的处理结果,也就是对作业结果的显示、删除、打印、输出的功能。
● 命令集(Commands):创建/变更应用命令表。
● 格式(Format):用双字节字符集(Double-byte Character Set——DBCS)支持IBM 5550终端。
● 超级比较(SuperC):快速比较两个数据集。
● 超级比较扩展版(SuperCE):超级比较会话的扩展版。
● 搜索(Search-For):在数据集中搜索字符串。
● 搜索扩展版(Search-ForE):搜索字符串会话的扩充版。
图1.73 例程功能显示屏主菜单
1.10.1 库维护选项(3.1)
图1.74显示的是库维护选项的菜单。
图1.74 库维护选项的菜单
库维护例程的主要目的就是为了维护分区数据集。它可以压缩和打印整个数据集,打印数据集的索引,同时可以对库中的成员改名、删除、显示和打印等。在图1.74所示的界面上,你可以选择以下介绍的功能。
1.10.1.1 BLANK——显示分区数据集中的成员清单
如图1.75所示,系统将库文件(分区数据集)中的所有成员以列表的形式显示出来,供你选择要操作的成员并对其操作。
图1.75 显示分区数据集的成员清单
在图1.75的界面中,你可以选定要操作的成员,然后使用下列命令对其操作。
● B——浏览(BROWSE)选定的成员。
● D——删除(DELETE)选定的成员。
● P——打印(PRINT)选定的成员。
● R——重命令(RENAME)选定的成员。
● E——编辑(EDIT)选定的成员。
● V——查看(VIEW)选定的成员。
首先我们来看看如何浏览成员的内容。假定我们想要查看成员COPY1中的内容,可以如图1.76所示,在列表中找到成员COPY1并在其前面输入命令B。
图1.76 成员浏览(B)命令的使用示意图
按下Enter键后,系统就会将成员COPY1的内容显示出来,如图1.77所示。
图1.77 被浏览成员的内容
你也可以如图1.78所示,使用V命令查看成员的内容。
图1.78 成员查看(V)命令的使用示意图
按下Enter键后,系统就会将选定成员的内容以查看方式显示出来,如图1.79所示。
图1.79 被查看(V)的成员的内容
浏览(B)和查看(V)命令都只能查看成员中的内容,但不能修改它们。如果你想修改成员中的内容,就要使用编辑(E)命令。如图1.80所示,在你想编辑的成员名字前面输入命令E。
图1.80 成员编辑(E)命令的使用示意图
按下Enter键后,系统就会将选定成员的内容以编辑的形式显示出来,供你修改。这时,你可以像前面在编辑部分所介绍的那样使用行命令或基本命令对其操作。图1.81显示的是你要编辑成员的内容。
图1.81 被编辑(E)的成员的内容
如果你想删除某个成员,你可以在选定成员前输入删除(D)命令,如图1.82所示。
按下Enter键后,系统就会显示下面的删除确认界面,如图1.83所示,供你选择,如果你确实要删除该成员,就再次按下Enter键,否则,按下PF3功能键就可以放弃删除操作。
如果你想将成员的内容输出到打印机上,就可以在选定的成员前面输入打印(P)命令,如图1.84所示。
图1.82 成员删除(D)命令的使用示意图
图1.83 成员删除(D)命令的确认界面
图1.84 成员打印(P)命令使用示意图
按下Enter键后,系统就会将该成员的内容输出到打印机上,并像图1.85 所示的那样,将已打印(*printed)信息显示在界面上。
图1.85 成员打印(P)命令执行后的系统提示信息
如果你想将某个成员改名,就可以在选定的成员前面输入改名(R)命令,如图1.86所示。
图1.86 成员改名(R)命令使用示意图
按下Enter键后,系统就会出现一个新界面并要求你输入成员的新名字,如图1.87所示。我们输入的新名字为MYSUB3,即将原来的成员MYSUB2改名为MYSUB3。再次按下Enter键,原来的成员名就变成MYSUB3了。如果你不想改名字,可以按功能键PF3退出。
1.10.1.2 C——压缩数据集
这是主机上类似于PC上的磁盘整理功能,即将所有文件按照一种合理的方式存放到一起,并将分散的磁盘碎片连接起来,形成较大的自由空间,使得系统可以更好地利用它们存储更多的大文件。数据集压缩(C)命令必须在命令行输入并必须指定要压缩的数据集的命令,如图1.88所示。指定数据集的名字的方法,跟我们前面在编辑选项1 中介绍的一样,既可以使用三段论的命名方法,即如图1.89 所示的指定PROJECT、GROUP和TYPE,同时也可以在DATA SET NAME栏输入不是三段的文件名如IBMUSER. TEST.JCL.NEWMAN等。当文件名在两个地方同时出现时,依然是以DATA SET NAME栏的名字优先。
图1.87 成员改名(R)命令的下一级菜单
图1.88 数据集压缩(C)命令使用示意图
图1.89显示的是数据集IBMUSER.DB2.COBOL压缩前的状况,请注意我们在方框内标出的部分,我们可以看到,该数据集一共使用了15 个扇区(Tracks),一共扩充了5 次(Extents),使用了2 个目录块(Blocks)。这些信息会与压缩后的比较,以理解压缩命令的功能。
图1.89 数据集压缩前的状态
按下Enter键后,系统就会帮我们进行数据集的压缩,完成后,在右上角显示压缩成功的信息,如图1.90所示。
图1.90 数据集压缩(C)命令执行后的系统提示信息
现在我们再看看压缩以后的数据集的磁盘使用情况。从图1.91 我们可以发现,该数据集使用的扇区(Tracks)数由原来的15变成了现在的3,减少了12个扇区;扩充(Extents)次数由原来的5变成了2,换句话说,原来占用了5块区域,现在只占用了2块;而占用的目录块(Blocks)则没有变,依然是2。这是因为,该数据是与数据集中成员的个数相关的,一般来说,一个目录块可以存放4个成员,而数据集压缩前后,数据集内成员的个数是一样的。
图1.91 数据集压缩后的状态
1.10.1.3 E——编辑数据集成员
编辑数据集成员既可以像前面介绍的那样,直接在显示的成员清单前面输入编辑命令(E),也可以像我们现在这样,在命令行输入编辑(E)命令,并在数据名部分提供所要编辑的数据集的成员名。在图1.92中,我们要编辑的成员是IBMUSER.TEST.COBOL(CALL1)。
图1.92 数据集编辑(E)命令的使用示意图
按下Enter键后,系统就会将要编辑的成员按照编辑的格式显示出来,如图1.93所示。然后你就可以使用前面介绍的行命令或基本命令对它操作了。
图1.93 数据集编辑(E)命令执行后的结果
1.10.1.4 V——查看数据集成员内容
跟编辑数据集成员一样,我们既可以像前面介绍的那样,直接在显示的成员清单前面输入查看命令(V)也可以像我们现在这样,在命令行输入查看(V)命令,并在数据名部分提供所要查看的数据集的成员名。在图1.94中,我们要查看的成员是IBMUSER.TEST.COBOL(CALL1)。
按下Enter键后,系统就会将所要查看的成员按照查看的格式显示出来,如图1.95所示。然后你就可以使用功能键PF7/PF8上下翻动来查看它的内容了。
1.10.1.5 R——为数据集成员改名
跟编辑数据集成员一样,我们既可以像前面介绍的那样,直接在显示的成员清单前面输入改名(R)命令,也可以像我们现在这样,在命令行输入改名(R)命令,并在数据名部分提供所要改名的数据集的成员的旧名字和新名字。如果没有提供新名字,系统就会在右上角显示错误信息,并要求你提供完整的信息。在图1.96中,我们要改名的成员是IBMUSER.TEST.COBOL(MOVE1),它的新名字是MOVE2。
图1.94 数据集查看(V)命令的使用示意图
图1.95 数据集查看(V)命令执行后的结果
图1.96 数据集改名(R)命令使用示意图
按下Enter键后,系统就会完成改名工作并在右上角显示改名成功的信息,如图1.97所示。
图1.97 数据集改名(R)命令执行后的结果
1.10.1.6 D——删除数据集成员
跟编辑数据集成员一样,我们既可以像前面介绍的那样,直接在显示的成员清单前面输入删除(D)命令,也可以像我们现在这样,在命令行输入删除(D)命令,并在数据名部分提供所要删除的数据集的成员名。如果没有提供成员名,系统就会在右上角显示错误信息,并要求你提供完整的信息。在图1.98中,我们要删除的成员是IBMUSER.TEST.COBOL(CALL1)。
图1.98 数据集成员删除(D)命令的使用示意图
按下Enter键后,系统就会显示如图1.99所示的确认界面,如果你确实要删除该成员,就可以再按Enter键删除;否则,可以按功能键PF3取消删除成员。
1.10.1.7 P——打印数据集成员内容
打印(P)命令用来打印分区数据集中成员的内容,你必须指定要打印的分区数据集名和成员名。如果如图1.100所示,没有输入成员名,系统就会在右上角提示错误信息。
图1.99 数据集成员删除(D)命令的确认界面
图1.100 数据集成员打印(P)命令的出错信息
这时,你可以如图1.101所示输入成员。
图1.101 数据集成员打印(P)命令使用示意图
按下Enter键后,系统就会将该成员的内容打印到你的默认打印机中,并在右上角显示打印成功的信息,如图1.102所示。
图1.102 数据集成员打印(P)命令执行后的系统提示信息
1.10.1.8 X——打印数据集索引
数据集索引打印(X)命令用来打印分区数据集的索引,使用该命令你必须指定要打印的顺序数据集或分区数据集的名字。在图1.103中,我们要打印的是IBMUSER.TEST.COBOL数据集的索引。
图1.103 数据集索引打印(X)命令使用示意图
按下Enter键后,系统就会将该数据集的索引打印到你的打印机中,并在右上角显示成功信息,如图1.104所示。
1.10.1.9 L——打印整个数据集
数据集打印(L)命令用来将整个数据集的内容打印到你的打印机上。如图1.105所示的界面是用来打印数据集IBMUSER.TEST.COBOL的。
图1.104 数据集索引打印命令执行后的系统提示信息
图1.105 数据集打印(L)命令使用示意图
按下Enter键后,系统就会将数据集的内容发送到打印机上,并在右上角显示打印成功信息,如图1.106所示。
图1.106 数据集打印(L)命令执行后的提示信息
1.10.1.10 I——显示数据集信息
如果你想知道你所操作的数据集的特性,可以使用数据集信息显示(I)命令来查看它的特性。如图1.107所示,我们在命令行输入命令I并输入要查看的数据集IBMUSER.TEST.COBOL的名字。
图1.107 显示数据集信息(I)命令使用示意图
按下Enter键后,系统就会将该数据集的信息显示出来。从图1.108中我们可以看到,数据集的名字是IBMUSER.TEST.COBOL,文件存放的磁盘(设备类型为3390)的卷DMTP02上,文件的组织形式为PO,即分区数据集,记录格式为定长(F)分块(B)的,记录的长度为80,块的大小为6160,文件建立时分配3个扇区(1st Extent Tracks)。当第1次分配的空间用完以后,每次再增加分配3个扇区(Secondary Tracks),数据集的类型为PDS即分区数据集,系统一共为该数据集分配了48个扇区,总共分配了16次,最大的目录块(dir. Blocks)是30,即最多可以存放大约120(4×30)个成员。
该数据集目前使用了39个扇区,扩展了14次(最多可以扩展16次),使用的目录块为12个,目前有71个成员。该数据集的建立日期为2007/05/29,没有指定到期日即可一直存在,最后访问该数据集的时间为2010/08/03。
图1.108 数据集属性显示界面
1.10.1.11 S——显示数据集简要信息
显示数据集简要信息命令S与上面的I命令几乎一样,只是所显示的信息简短一些而已。下面我们显示数据集IBMUSER.TEST.COBOL的信息,如图1.109所示。
图1.109 数据集简要属性显示(S)命令使用示意图
按下Enter键后,如图1.110所示,系统将下面的信息显示出来,读者可以自己比较它与上面的I命令的异同,我们这里就不做进一步的介绍了。
图1.110 数据集简要属性信息
1.10.2 数据集例程选项(3.2)
数据集例程选项的主要目的就是维护数据集。它具有分配新数据集、为数据集改名、删除已有数据集和显示数据集信息、编目数据集(将数据集信息登记到VTOC中)和解除数据集编目(将数据集信息从VTOC中移除)等功能,如图1.111所示。在该例程选项上提供了以下的功能选项。
● A:分配新的数据集。
● R:为数据集改名。
● D:删除数据集。
● BLANK:显示数据集信息。
● C:登目数据集,即将数据集的信息登记到VTOC中。
● U:解除数据集编目,即将数据集从VTOC中删除。
● S:简要显示数据集信息。
● V:提供VASM数据集的处理功能。
图1.111 数据集例程功能主菜单
1.10.2.1 分配新数据集
在命令行输入分配新数据集(A)命令就可以分配新的数据集,如图1.112所示。
图1.112 分配新数据集(A)命令使用示意图
如图1.113所示,分配新数据集需要设定以下参数值。
● 管理类别(Management class):用来指定分配数据集相关的数据管理方面的信息(比如迁移、备份和有效期之类的信息)。如果你对管理类别没有特别的要求,可以将该栏位留空。但你应该知道公司可能定义了一个默认的管理类别,它甚至会覆盖(Override)你指定的管理类别。
● 存储类别(Storage class):用来指定新分配数据集存储相关的信息,比如卷名(Volume Serial)等。除非你指定的存储类别有Guaranteed Space=Yes属性,否则,你在卷名栏位输入的卷序列号都会忽略掉。Guaranteed Space=Yes属性对于所分配的数据集需要多个卷时就是非常有用的。
● 数据类别(Data class):用来得到新分配数据集分配数据方面的信息,包括分配空间的单位(Space Units)、第1 次分配的空间数量(Primary Quantity)、每次扩展增加的空间数量(Secondary Quantity)、目录块(Directory Block)的数量、记录格式(Record Format)、记录长度(Record Length)和数据集类型等。
● Volume serial:指定数据集的卷序列号(名字)。
● Space unit:申请空间的单位TRACK(扇区)/CYLINDER(柱面)/BLOCK(块)。
● Primary quantity:第1次分配空间的数量,按照空间单位分配。
● Secondary quantity:每次增加分配空间的数量,按照空间分配单位分配。
● Directory block:登录名簿的分配空间数量。分区数据集即带有成员的数据集,其值必须大于0;顺序数据集其值一定为0。
● Record format:记录格式。其中,F(定长)/V(变长)/U(格式未定)/B(分块)/A(带有打印属性)/FB(定长、分块),VB(变长、分块),FBA(定长、分块、打印属性)等。
● Record length:记录长度,即逻辑记录长度,必须大于0。
● Block size:分块大小,如果记录格式为F,即定长记录,分块大小必须为记录长度的倍数。如果将该栏位留空,操作系统的存储管理系统会为你的数据集计算效率最高的分块大小。
● Expiration date:数据集到期日,即可删除数据集的日期。
● Data set name type:数据集类型,PDS、PDSE都是分区数据集。一般该栏位都是留空的。
图1.113 分配新数据集需要设置的参数
填好上面的栏位后,按下Enter键,系统就会为我们生成新的数据集并在右上角显示数据集建立成功的信息,如图1.114所示。
1.10.2.2 为数据集改名
如果你想为数据集改名,就可以在命令行输入改名(R)命令及要改名的数据集的名字,如图1.115所示。
图1.114 分配新数据集(A)命令执行后的系统提示信息
图1.115 为数据集改名(R)命令使用示意图
按下Enter键后,系统会要求你为数据集指定新的名字,如图1.116所示。
图1.116 为数据集指定新的名字界面
再次按下Enter键,系统就会显示数据集改名成功的信息,如图1.117所示。
图1.117 数据集改名(R)命令执行后的系统提示信息
1.10.2.3 删除数据集
如果你想删除数据集,就可以在命令行输入删除(D)命令及要删除的数据集的名字,如图1.118所示。
图1.118 数据集删除(D)命令使用示意图
按下Enter键后,系统就会显示删除数据集的确认界面,如图1.119所示。如果你确实要删除,就再次按下Enter键;若不要删除,按功能键PF3退出删除操作。
1.10.2.4 将未登目数据集登目(Catalog)
你可以使用登目(C)命令将指定的数据集登记到系统目录中。对于该选项,你必须指定数据集所在的卷名(Volume Serial),跟以前一样,数据集的名字既可以是以三段论的格式(PROJECT、LIBRARY和TYPE)指定或在DATA SET NAME栏指定另一个数据集,如图1.120所示,要登目的数据集必须存在于指定的卷上。
如果你的数据集存放在操作系统的SMS(Storage Management Subsystem)卷上,由于这些数据集在分配时总是自动登目的,你就不能使用登目(C)命令将数据集登目。这时,按下Enter键后,系统会在右上角显示错误信息,如图1.121所示;如果你的数据集不是存放在SMS管理的卷上的,就可以成功登目。
图1.119 数据集删除确认界面
图1.120 将数据集登目(C)命令使用示意图
图1.121 SMF数据集登目不成功时的系统提示信息
1.10.2.5 将数据集从目录中移除(Uncatalog)
你可以使用从目录中移除(U)数据集命令将已登目数据集从目录中移除(Uncataloged)。如果要移除的数据集带有到期日(Expiration Date),系统就会显示相关的信息并要求你确认,这时,你可以按下Enter键从目录中移除数据集,也可以使用功能键PF3放弃移除操作。图1.122是使用移除操作的界面。
图1.122 从目录中移除数据集(U)命令的使用示意图
注意,移除(Uncatalog)目录不可以对跨卷(Multivolume)数据集操作。你也不可以使用该选项移除存放于SMS系统管理的卷上的数据集,如果你试图对这类数据集操作,就会出现如图1.123所示的出错信息。但是,对于SMS管理的数据集,当你删除它们的时候,就会自动从目录中移除。如果你想删除它们,可以使用前面介绍的选项D或使用我们将在后面介绍的数据集清单例程(Data Set List Utility),即选项(3.4)来做。
图1.123 数据集移除不成功时的系统提示信息
1.10.2.6 显示数据集简短信息
该功能与前面介绍的3.1中的功能是一样的,你也可以像图1.124所示的那样,在命令行输入命令(S)并输入你要查看的数据集名字。
按下Enter键后,系统就会将该数据集的信息显示出来,相信你对图1.125中显示的信息应该很熟悉了。
图1.124 查看数据集简短信息(S)命令使用示意图
图1.125 数据集简短信息显示界面
1.10.2.7 VSAM例程
VSAM例程命令(V)用来对系统中的VSAM文件进行操作。如果你想操作VSAM文件,就可以像图1.126所示的那样,在命令行输入命令(V)。
图1.126 VSAM例程(V)命令使用示意图
按下Enter键后,系统就会出现VSAM例程子菜单,供你选择所要做的操作,如图1.127所示。关于VSAM部分的概念,我们会在本书的后面做专门的介绍,这里就不详细介绍了。
图1.127 VSAM例程子菜单
1.10.3 数据集移动和复制选项(3.3)
如图1.128所示,数据集移动和复制选项你可以使用下面的功能。
● C——复制数据集或数据集成员。
● M——移动数据集或数据集成员。
● CP——复制和打印数据集或数据集成员。
● MP——移动和印刷数据集或数据集成员。
你可以在ISPF主菜单上使用选项(3.3)进入下面的数据集移动和复制选项界面。
图1.128 数据集移动和复制选项主菜单
现在我们以复制(C)命令来说明该选项的用法。复制命令用来将一个数据集或分区数据集中的全部或部分成员复制到另一个数据集中。在图1.129中,我们在命令行输入复制(C)命令并使用三段法指定要复制的数据集的名字为IBMUSER.TEST.COBOL,它是复制动作中的源数据集(FROM DATA SET)。
图1.129 数据集复制(C)命令指定源数据集的示意图
按下Enter键后,如图1.130所示,系统会出现下面的界面指定目的地数据集(To Data Set),这次我们在DATA SET NAME栏指定了目的地数据集IBMUSER.TEST.NEWSET2,并选定了REPLACE LIKE-NAMED MEMBERS选项。该选项的含义是,如果目的地数据集中有的成员与要复制的成员同名,就覆盖它。如果你不想覆盖,可以将该选项前面的斜杠(/)去掉。
图1.130 数据集复制(C)命令指定目的地数据集的示意图
再次按下Enter键后,系统就会出现如图1.131所示的界面,要求你选择要复制的成员。如果你要复制所有成员,可以在命令栏输入(S *)选择所有成员;也可以在你需要复制的成员前面使用S行命令,选择该行的成员作为复制的对象。你可以使用LOCATE命令来定位所要复制的成员。
如图1.131所示,我们选定了3个要复制的成员,它们的名字分别是ACCEPT1、BKUPD2和COPY1。
再次按下Enter键后,系统就会完成成员的复制,并将结果如图1.132 一样显示出来。请注意,在ACCEPT1 中的信息是*REPL,表示在目的地数据集中已经存在同名成员,系统将源数据集中的成员覆盖它。BKUPD2和COPY1中的信息为*COPIED,表示复制成功。
图1.131 数据集复制(C)命令选定要复制成员的示意图
图1.132 数据集复制(C)命令执行后的系统提示信息
数据集的备份是我们经常要做的工作,下面我们来看看如何将IBMUSER.TEST.COBOL中的所有成员备份到另一个数据集中,如图1.133所示,我们仍然在命令行输入复制(C)命令并指定要备份的数据集名字。
图1.133 使用数据集复制(C)命令备份源数据集的示意图
按下Enter键后,如图1.134所示,系统就提示我们输入目的地数据集的名字,这次,我们指定的数据集名字为IBMUSER.TEST.COBOL.BKUP。
图1.134 使用数据集复制(C)命令指定目的地数据集的示意图
由于目的地数据集IBMUSER.TEST.COBOL.BKUP在系统中不存在,如图1.135所示,系统就提示我们是否要按照源数据集的格式生成目的地数据集(选项1)或指定其他的数据集特性(选项2)。由于我们在做备份,所以选择选项1,即按照IBMUSER.TEST.COBOL的属性定义我们的目的地数据集IBMUSER.TEST.COBOL.BKUP。
图1.135 按照源数据集格式分配新数据集的示意图
再次按下Enter键后,如图1.136所示,系统提示我们选择要复制的成员清单,既然是备份,当然要选择所有的成员,这样我们就在命令行输入(S *)来选择复制所有的成员到备份数据集中。
再次按下Enter键后,系统就完成了整个数据集的复制,如图1.137所示。
由于移动(MOVE)命令的功能与复制命令几乎一样,唯一不同的是复制命令会将源数据集中的成员保持不变,而移动则会将源数据集中的成员全部移动到目的地数据集中,它们的操作是完全一样的。我们这里就不做进一步的介绍了。至于CP和MP命令也只是在复制或移动的同时还要打印输出,而命令的操作则是一样的,这里也不做详细的介绍了。
图1.136 选定数据集所有成员的示意图
图1.137 数据集复制(C)命令备份数据集后的系统提示信息
1.10.4 数据集清单列表选项(3.4)
在数据集清单列表选项上,我们可以使用以下的功能选项。
● BLANK——显示数据集成员清单。
● V——显示VTOC信息。
● P——打印数据集清单。
● PV——打印VTOC信息。
1.10.4.1 数据集成员显示、打印和操作
选项空格(BLANK)和P是用来显示指定数据集的成员清单的,如图1.138所示。在命令栏留空并在Dsname Level栏位输入要操作的数据集的名字IBMUSER.TEST.JCL。
按下Enter键后,系统将所有以Dsname Level指定的值(这里是IBMUSER.TEST.JCL)开头的数据集全部显示出来,你可以直接使用下列命令对数据集进行操作。
● B:浏览数据集。
● E:编辑数据集。
● V:查看数据集。
● R:重命名数据集。
● D:删除数据集。
● C:编目数据集。
● CO:复制数据集。
● MO:移动数据集。
● I/S:数据集信息。
● P:打印数据集。
● Z:压缩数据集。
图1.138 显示数据集成员清单命令示意图
你可以使用斜杠(/)让系统显示所有可用的操作,然后再选定你所要操作的,如图1.139所示。
图1.139 显示数据集操作菜单(/)命令的示意图
这时,如图1.140所示,系统将显示你能对该数据集做的所有操作,包括:
● 1.编辑数据集(Edit)。
● 2.查看数据集(View)。
● 3.浏览数据集(Browse)。
● 4.显示成员清单(Member list)。
● 5.删除数据集(Delete)。
● 6.重命名数据集(Rename)。
● 7.显示数据集信息(Info)。
● 8.简要列出数据集信息(Short Info)。
● 9.打印数据集内容(Print)。
● 10.编目数据集到VTOC中(Catalog)。
● 11.从编目数据集中删除(Uncatalog)。
● 12.压缩数据集(Compress)。
● 13.释放数据集未使用的空间(Free)。
● 14.打印索引清单(Print Index)。
● 15.重置统计信息(Reset)。
● 16.移动数据集或成员(Move)。
● 17.复制数据集或成员(Copy)。
图1.140 数据集操作选项菜单
现在我们在选项栏输入1表示要编辑该数据集,系统就会将该数据集的使用成员显示出来,如图1.141所示。
这时,我们就可以像前面介绍的那样,对指定的成员操作了。由于这些操作我们在前面的章节中都有涉及,这里只是将它们集中到了一起,所以,我们对它们就不做进一步的介绍了。
在该数据集成员清单上,我们可以使用下面的基本命令。
● REF:(REFRESH)重新刷新当前的LIST。
● SAVE:转存DATASET LIST到一个FILE中,例如,SAVE TEMP ==> UESRID.TEMP.DATASETS。
● 定位(Locate):将成员列表中的某个成员显示在列表的最前面,比如,如图1.142 所示,输入命令(L COMP5)。
图1.141 数据集编辑菜单选项(1)的使用示意图
图1.142 数据集成员定位(L)命令使用示意图
按下Enter键后,系统就会将COMP5显示在列表清单的第1行,如果要找的成员不存在,系统会将与其名字最接近的成员显示在第1行,如图1.143所示。
图1.143 数据集成员定位(L)命令执行后的结果
1.10.4.2 VTOC信息的显示和打印
正如我们在前面介绍过的,VTOC是系统中的一个顺序数据集,存放在磁盘的0 柱面0 磁道之后,65535 磁道之前。它记录了存储设备上所有数据集的属性,如数据集名、定位信息、长度、记录格式、使用情况、建立日期等。VTOC由DSCB(Data Set Control Block)组成,每个DSCB存放对应一个数据集,或者对应于驻留于该卷上的VSAM数据集的定位信息和未分配的磁道。对应于数据集的DSCB和反映VSAM数据集在该卷上的空间占用情况的DSCB描述了数据集的特性,而描述未分配空间的DSCB则指出了未分配磁道的位置。每个DSCB的记录长度为140 字节,格式为:44字节的关键字,记录数据集的名字;96 字节的数据区(FMT)记录数据集在磁盘中的位置。一个磁盘VTOC区中DSCB的个数基本确定了可以存在这个磁盘上的数据集的个数。
VTOC的位置在磁盘的第0柱面的第0磁道上,以及MVS的UCB(Unit Control Block)。每一个磁盘上均有一个VTOC用于定位其上的数据集。
我们可以通过数据集清单选项(3.4)的显示VTOC信息(V)命令,来显示磁盘的VTOC信息,要查看的磁盘卷名必须填写在VOLUME SERIAL栏位,如图1.144所示,我们要查看的卷为DMTP01。
图1.144 显示VTOC信息(V)命令使用示意图
按下Enter键后,系统就会将该磁盘卷的VTOC信息显示出来,如图1.145所示。
图1.145 显示VTOC信息(V)命令执行后的结果
从方框最后的显示信息我们可以看到,查看的卷名是DMTP01,设备类型为3390。该卷总共有50085个扇区,已用的扇区百分比为57%,每个柱面有15个扇区。VTOC数据集本身分配了60个扇区,已用的扇区百分比为13%,还有2618个可用的数据集控制块(DSCBS)。该卷上一共有21087个未使用的扇区,未使用的柱面为1380个,一共有79个未使用的区间,其中,自由空间中最大的一块有6967个扇区,以柱面来说,最大的一块自由空间有464个柱面。
1.10.5 重置(RESET)统计信息选项(3.5)
该选项用来重置(RESET)数据集成员的统计信息,你可以通过3.5进入下面的数据集重置选项。在该菜单下,你可以如图1.146所示的那样使用选项R(RESET)重置数据集的ISPF统计信息,也可以使用选项(D)删除数据集的统计信息。
图1.146 重置数据集的统计信息(R)命令的示意图
如果选择重置(R)统计信息,必须指定要重置的成员名,如果没有指定系统,会在右上角显示出信息,如图1.147所示。
图1.147 重置数据集统计信息(R)命令出错信息
输入正确的成员名并按下Enter键后,系统就会将该数据集成员的统计信息重置,并在右上角显示重置成功的信息,如图1.148所示。
图1.148 重置数据集统计信息(R)命令执行后的结果
1.10.6 数据集打印选项(3.6)
该选项用来打印数据集或数据集成员的内容,其选项如下。
● PK——打印并保存数据集。
● PD——打印并删除数据集。
假定我们要用批处理作业的方式打印IBMUSER.TEST.JCL(AIX)中的内容,可以在选项栏输入1,表示打印并保留该成员的内容,打印模式(Print Mode)选项BATCH、SYSOUT CLASS选择A,所有的输入项如图1.149所示。
图1.149 数据集打印选项主菜单
按下Enter键后,系统就会为我们生成一个打印作业流,并在右上角显示作业流生成成功的信息,如图1.150所示。如果你确实要打印,可以按下功能键PF3提交打印作业流,也可以使用选项3放弃提交作业流,即不打印选定的成员。
图1.150 数据集打印命令执行成功后的系统提示信息
1.10.7 作业输出清单选项(3.8)
该选项用来保留、删除和打印作业的输出。如图1.151所示,在该UTILITY的PANEL上,具有以下的功能选项。
● L——使用TSO的STATUS命令列出JOB名/JOB ID。
● D——从SYSOUT保留等待队列中删除JOB输出。
● P——打印JOB输出和从SYSOUT保留等待队列中删除JOB输出。
图1.151 作业输出清单选项主菜单
在打印JOB输出的PANEL上,具有以下的功能选项。
● PK——打印和保存数据集。
● PD——打印和删除数据集。
● K——保存数据集。
● D——删除数据集。
● R——改变保留JOB输出的队列号。
● BLANK——显示JOB输出的清单。
1.10.8 TSO命令选项(3.9)
该选项用来显示当前可用的ISPF命令清单,如图1.152所示。
图1.152 当前可用的ISPF命令清单
1.10.9 显示格式设定选项(3.11)
设定或显示当前可用的显示格式。如图1.153所示,在该选项菜单上,可以选择下列功能选项。
● A——追加显示格式设定。
● C——复制显示格式设定。
● D——删除显示格式设定。
● U——改变显示格式的编号。
● L/BLANK——列出现有显示格式的清单。
图1.153 显示格式设定选项主菜单
当你选项添加(A)一个格式,如MYFORM并按下Enter键后,系统就会显示如图1.154所示的界面供你定义新格式。类似于数据库的TABLE定义方式。用预定义的格式格式化数据集中的数据,便于浏览和查看数据集中的数据。相关的定义项如下。
● FIELD NUMBER——定义域号,最大可定义20个。
● 开始列位置——RECORD内的开始列位置。
● 字段长度——以BYTE为单位的字段长度,最大71个BYTE。
● 字段类型——定义数据类型,E ==> EBCDIC(1Byte),D ==> DBCS(2Byte),M ==> FIXED MODE。
图1.154 添加数据集格式界面示意图
1.10.10 数据集比较选项标准版(3.12)和扩展版(3.13)
这两个选项用来比较顺序数据集、分区数据集和分区数据集中的单个成员。既可以在前台执行,也可以在后台执行。在图1.155中,我们比较两个顺序数据集。
图1.155 指定要比较的数据集的示意图
按下Enter键后,系统将比较的结果显示出来,如图1.156所示。我们可以看到,两个数据集有11行是相同的,有1行修改了,实际上是删除掉了。
图1.156 数据集比较的结果
1.10.11 字符串检索选项标准版(3.14)和扩展版(3.15)
这两个选项可以在顺序数据集、分区数据集中检索所需要的文字串。一次最多可以同时检索10 个文字串。该功能既可以在前台执行,也可以在后台执行。在图1.157中,我们要在数据集IBMUSER.TEST.JCL中的所有成员(*号表示所有成员)中查找字符串PUNCH。
图1.157 指定要查找的字符串和数据集的示意图
按下Enter键后,系统将查找的结果显示如下,从图1.158中我们可以看出,在成员CBLCICS的第13行、CICSDB2的第32行等都找到了字符串PUNCH。
图1.158 字符串查找命令执行后的结果