QW命令——MVS/QuickRef帮助文档

大机平台上有一个很了不起的帮助文档系统,名字叫做MVS/QuickRef,是一款强大的在线查询系统。用过微软的MSDN的童鞋都知道MSDN的强大。大机上面的MVS/QuickRef几乎可以查到所有你想查的资料,因为这款查询工具号称超过5k万行,以简单易懂著称。最主要的是查询特别方便,使用ISPF直接调用命令QW即可查询内容。
MVS/QuickRef现在最新的版本是2011年4月份新出的MVS/QuickRef 7.4 ,我们公司还在用的是7.0的版本。这款强大的查询工具是由一家名叫Chicago-Soft的公司生产的,主页在:MVS/QuickRef主页,可以去看看。
在大机上,MVS/QuickRef能查询许多方面的。这是官网上关于MVS/QuickRef强大的一段文字描述:

"MVS/QuickRef's simple, easy to understand information helps you resolve 97% of the problems affecting z/OS, CICS, DB/2, IDMS ...

more ...

继续介绍世代数据集GDG

上篇文章我简单介绍了下大机平台上用到的一种叫做世代数据集(GDG)的文件,在这一篇里,我来比较详细地说明下GDG的用法和注意事项。

1、新建GDG base

一般我们可以用Job来新建一个GDG base,下面,我利用utility IDCAMS来生成一个名为IBMUSER.MYGDG.BASE并且可以有10个generation的GDG base。只要提交这个job马上就生成了GDG base了。
1

2、新建GDG generation

那么GDG base生成以后,如何生成一个generation呢,要怎么规定生成的generation的文件属性呢?这些都在你的Job里面做的,比如下面的JCL语句:

//EXTRACT DD DSN=IBMUSER.MYGDG.BASE(+1),
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(10,8)),
// DCB=(SYS1.MODEL,RECFM=FB,LRECL ...
more ...

世代数据集—GDG介绍

跟大机打交道,一定对大机上面的一种特殊文件gdg不会陌生。gdg又称世代数据集,在大机上面是用来组织彼此相关联的文件。比如你需要一年12个月每个月的报表数据,则可以定义一个有12个generation(世代)的GDG,每个generation存一个月的数据,这样就保证了彼此关联的信息能被更方便地管理和维护。它会保证任何时候都只保留最新的12个月的数据。
要使用GDG,你必须先有一个GDG base,有了GDG base才可以不断地产生generation。GDG文件是用GDG base名字+generation number来唯一区别的。比如你新建了一个GDG base的名字叫做:

PROD.CLIENT.ACCOUNT.NUMBER

则一般你以此产生的第一个generation的名字就叫做:

PROD.CLIENT.ACCOUNT.NUMBER.G0001V00

以此类推,第二个就叫做:

PROD.CLIENT.ACCOUNT.NUMBER.G0002V00

直到G9992V00为止。G000,G001等等叫做世代编号,V00叫做版本号,据我所知,平常用到的基本都是V00,可以这么说,除非极特殊的情况,否则你这辈子不会用到V01 ...

more ...

介绍几个比较有用的ISPF命令

上一篇讲的是常见的TSO/ISPF命令,这篇来讲讲我收集到的日常比较有用的ISPF命令。

HRECALL

大机上的Dataset比较久了没有被访问的话会自动被迁移(migrate)到tape中保存的,根据时间的长短,Dataset会被migrate到不同的level,比如MIGRAT1,MIGRAT2等等。这时,如果你想把这个Dataset 召(Recall)回来的话,平常我们都在这个Dataset前面打个Call命令。这样做有个不好的地方,就是如果这个Dataset需要很长时间才能被RECALL回来的话(比如30分钟),那这30分钟之内你只能看着屏幕发呆而啥都干不了了。所以这种情况下你可以试试后台Call的命令HRECALL,它在后台操作,结束后会有提示,完全不影响你做其他事情

NUM OFF

有时你在编辑一个Dataset的行末尾的时候,每次保存都会提示:Some input dataignored。这时因为默认情况下末尾的行号显示是开着占了8位,这8位是不可修改的,这时你可以试试在命令行上打个NUM OFF把行号显示关了。

XDC

这是一个SDSF(系统显示与查询工具 的命令,如果你想把一个JOB的输出Log保存到某个地方,比如自己的PDS,那么你可以在SDSF里面在这个JOB的Log前面打上XDC,然后写上你要保存的地方即可 ...

more ...

Dataset View和Browse的区别

在大机上,View和Browse都能查看dataset/member,它们有什么区别呢?下面是我在平常的工作当中找到的三点区别,欢迎补充!

1、Browse默认显示80列,而View默认显示72列,当然两者都可以用PF11向右翻页。

2、Browse不允许修改,尝试修改会马上锁屏,而View可以修改,但不能保存成当前同名的,就是说有"另存为"的功能。

3、Browse下许多命令不能用,比如语法高亮HI ON,比如JCL语法检查JEM,而View下都可以用。

你在view一个Member,若尝试做任何更改,会跳出这样的一段提示的话: 1
当你在View一个member的时候,可以在左边列用两个CC选择你要另存为的范围,然后在command栏上输入CREATE,回车即可另存为了: 1

个人认为View最有用的就是可以提交别人的JCL。下图中,假设你的ID是USERID02,而USERID01是你同事的ID,你自然是没有权限去sub他/他的JCL,这时,你要么可以把这个JCL拷到你自己的LIB下面改成你的ID再sub,要么直接View进去,改成你的ID,sub完之后无需保存即可。对于这种别人的JCL又不想麻烦地copy到自己lib时,是不是方便多了呢? 1

more ...

DATACOM数据库介绍

CA Datacom听过么?它是CA(Computer Associates)公司的企业级数据库。以能承受高负荷和较强的容错性著称,在mainframe平台上有比较广泛地应用,不过最近几年Datacom公司貌似不怎么行了,大家都换上了IBM的DB2数据库了。
Datacom不是关系型数据库,它是通过KEY来访问记录的,可以说是具备了基本的文件系统特征。通常KEY是某个或某几个字段的组合,一个table可以有多个KEY。在PL/I或COBOL程序中访问Datacom是通过调用接口DBNTRY来实现的(XXX是table名字)。 在COBOL中是这样call的(XXX是table名字):

CALL DBNTRY USING USER-ID
      XXX-REQ-AREA
      XXXF0
      XXX-ELEMENT-LIST

而在这之前,要先声明:

01 USER-ID.
05 PROGRAM-NAME PIC X(08) VALUE 'MYPGM00 '.
05 FILLER PIC ...
more ...

大机平台的版本控制工具Changeman

在主机上面有好几个比较常见的版本控制工具,比如changeman和Endevor。我介绍下changeman。

ISPF面板上输入C;1

1

changeman的界面,这里装的版本是5.6.2c,

1

我介绍下各个常用选项

1.

用来新建,更新一个package的,你需要新建一个package来放置你的PL/I,COBOL程序和JCL等等

2.

将package freeze或unfreeze,在你觉得package里面的所有东西都测试得差不多了,可以准备上线安装之前,你要先freeze冻结掉这个package,然后等待相关项目管理人的approve,这样这个package才能被合法地安装。当然,如果你冻结了package之后,发现还有程序需要被修改什么的,这时候你可以反冻结(unfreeze)它,最好在package还没被approve之前。

3.

promote 或 demote。promote就是把你修改的程序版本提升到更高的level去。举个例子,一般PL/I或COBOL等写的程序在进入生产环境之前都会经过开发(Dev)——>系统集成测试(Sys)——>用户接收测试(UAT)——>生产环境(Prod),promote就是可以把你的程序从较低的level提升到较高的level,慢慢接近prod,而demote反之就可以了。

4 ...
more ...

登陆大型机——Aviva的介绍

一般我们日常用PC机工作拿什么软件来跟大型机(以下简称大机)交互呢? 理论上说几乎所有的终端登陆软件都可以的。而且一般每种终端登陆软件都支持多种协议连接到大机上,比如最常见的TCP/IP,FTP,TELNET,SSL等等。这些软件有很多,外面比较常用的是PCOMM,putty,SecCRT等等,我只用过PCOMM,稍微配置下IP啥的就可以连大机了。这个百度下就出来一堆。 我们公司比较另类,用的终端软件叫Aviva,一般我们读作"鹅vi哇",希伯来词,意为“美丽的春天”, 产自美国美国(Eicon)公司。谷歌能下载到,不过只有试用版的貌似。 下面我说下Aviva的一些基本概念和使用。

Destination和Session的配置:

所谓Destination 就是大型机的物理IP,你要连接到大型机上,就必须得配置下大型机的IP。装好aviva后,开始——>程序——>Eicon Aviva——>Create New Destination 这里destination的名字就取:My Destination ...

more ...

Hercules搭建z/OS虚拟机遇到的问题及解决办法

初学,在windows上搭建z/OS虚拟机,遇到不少问题,找到解决方法,记在这里。

PCOMM每次都提示打印,怎么去掉这个烦人的窗口?
解决办法:

PCOMM去掉每次连接提示打印的烦人窗口的方法:在D:\SOFTWARE\IBMPCOMM\private\*.ws文件里面添加:

[LT]
IgnoreWCCStartPrint=Y
UndefinedCode=Y
UndefinedDBCSChar=Y
如何为每一个磁盘建立shadow?
解决办法:

比如:sf+0A80: 为设备号为0A80的设备建立shadow (设备号只是个临时的概念)

IEE038E AMOUNT OF EXPANDED STORAGE EXCEEDS 0G MAXIMUM

1

解决办法:

在zOS1.9.cnf配置文件中删掉下面一行即可:

XPNDSIZE  6
HHCLC042E Port 00: Read error ...
more ...

z/OS虚拟机各Volume的解释

Volume的内容 (z/OS 1.6)

VOLUME UCB Contents

Z6RES1 - A80 - Res Volume 1 - Required for IPL
Z6RES2 - A81 - Res Volume 2 - Required for IPL
Z6SYS1 - A82 - IPLPARM, JES2 Spool, Public Work Volume, Mastercat required for IPL
Z6USS1 - A83 - USS Root and accompanying HFS files - required for IPL
Z6USS2 - A84 - Supplemental ...

more ...