MVS3.8Jのカスタマイズ
これまでMVS3.7を利用したスターターシステムでMVS3.8JのSYSGEN、システム生成を行ってきましたが、前回までの手順でMVS3.8J環境を構築できました。以降は、より便利に使っていくためのカスタマイズについて記述しています。
MVS3.8Jハードウェア構成
MVS3.8Jのハードウェア構成(Hercules設定ファイル「conf/mvs.cnf」)は次の通りです。
このハードウェア構成は、その3までの手順で構築してきたハードウェアの構成になっています。
最小限の構成でSYSGEN、システム生成してきたので、この図で示した以上のデバイス(I/Oデバイスアドレス)が実際にはあります。次のハードウェアリストに全てのI/Oデバイスアドレス、汎用デバイス名が一覧されていますので、参考にしてください。
参考:MVS3.8Jハードウェアリスト
Hercules設定ファイル「conf/mvs.cnf」で、I/Oデバイスアドレス=0x009の代替コンソール画面がコメントアウトされています。実際のハードウェア環境では、マスタコンソールでハードウェアが故障した場合のために、代替コンソール画面を準備していました。Herculesエミュレータ上でマスタコンソール画面を動かしているので、代替コンソール画面を動かす意味が無いので、コメントアウトのままとします。
Hercules設定ファイル「conf/mvs.cnf」のI/Oデバイスアドレス=0x15の「1403 Printer mvslog.txt」はコメントアウトしないでください。このデバイスが使用できない場合、MVS3.8Jシステムは、IPLで文句を言ってきます。また、マスタコンソール画面上に流れる情報が、mvslog.txtに出力されるので、何らかの問題を調査する時にも必要になりますので、コメントアウトしないでください。
素のHercules設定ファイル「conf/mvs.cnf」ままでは、いくつか記述内容に問題があるため、Herculesエミュレータを起動しても、3270エミュレータで接続できません。
下記diffの差分のように修正しておきます。こんなに修正しなくても動きそうな気もしますが、設定ファイルの書式とあっていないみたいなので、修正しました。この修正をしたことで、3270エミュレータでつながるようになりました(どういう組み合わせの時にダメなのか調べるのが面倒なので、一通り怪しいところを直しています)。
$ pwd
/home/hercules/mvs
$ cp conf/mvs.cnf conf/mvs.cnf.org
$ vi conf/mvs.cnf
$ diff conf/mvs.cnf.org conf/mvs.cnf
$ diff conf/mvs.cnf.org conf/mvs.cnf
37c37,38
< 0100.4 3420 *
---
> #0100.4 3420 *
> 0100 3420 *
39c40,41
< 0310.4 3420 *
---
> #0310.4 3420 *
> 0310 3420 *
62c64
< 0010 3270 console # master console
---
> 0010 3270 # console # master console
66c68,71
< 0400.8 3270 tso
---
> #0400.8 3270 tso
> 0400 3270 # tso
> 0401 3270 # tso
> 0402 3270 # tso
-
37行目:「0100.4 3420 *」
I/Oデバイスアドレス0x100の後ろの「.4」が邪魔です。オリジナルの行を#でコメントアウトして、次の行に「.4」を取り除いた行を作ります。
恐らく、この「mvs.cnf」の作者は「3420テープ装置」を4つつけることを想定して「.4」で表現しているのだと思います。ハードウェア構成図を見ると、0x100、0x101、0x102、0x103の4台接続している図になっていることからの推測です。 -
39行目:「0310.4 3420 *」
こちらも「.4」が邪魔です。オリジナルの行を#でコメントアウトして、取り除きます。 -
62行目:「< 0010 3270 console # master console」
「3270 console」この部分で、「3270」と「console」の間に「#」を入れて、「console」をコメントアウトします。たぶんこの記述が良くなくて3270エミュレータで接続できなかったと思います。 -
66行目:「0400.8 3270 tso」
「.8」が邪魔なのと、「tso」の頭に「#」をつけてコメントアウトにします。ついでに、TSO端末を0x400、0x401、0x402の合計3台接続できるようにします。
MVS3.8JシステムのIPL
TeraTermを3つ立ち上げておきます。一つはHerculesエミュレータ画面用。もう一つはマスタコンソール画面用です。もう一つは、TSOユーザ画面用です。
Herculesエミュレータ画面で「hercules -f conf/mvs.cnf」と入力し、「Enter」キーを入力すると、次のような画面になります。
$ pwd
/home/hercules/mvs
$ hercules -f conf/mvs.cnf
省略
マスタコンソール画面用のTeraTermに切り替えて、3270エミュレータで接続します。「c3270 -charset us-intl -model 3278-2 -keymap c3270.keymap localhost:3270」と入力し、「Enter」キーを入力します。
$ pwd
/home/hercules
$ c3270 -charset us-intl -model 3278-2 -keymap c3270.keymap localhost:3270
すると、次のような画面になります。
Hercules Version : 3.12
Host name : localhost.localdoma
Host OS : Linux-2.6.32-573.26.1.el6 #1 SMP Tue May 3 21:55:43 UTC 201
Host Architecture : i686
Processors : UP
Chanl Subsys : 0
Device number : 0010
Subchannel : 000F
HHH HHH The S/370, ESA/390 and z/Architecture
HHH HHH Emulator
HHH HHH
HHH HHH EEEE RRR CCC U U L EEEE SSS
HHHHHHHHHHHHHHHH E R R C U U L E S
HHHHHHHHHHHHHHHH EEE RRR C U U L EEE SS
HHHHHHHHHHHHHHHH E R R C U U L E S
HHH HHH EEEE R R CCC UU LLLL EEEE SSS
HHH HHH
HHH HHH
HHH HHH My PC thinks it's a MAINFRAME
Copyright (C) 1999-2010 Roger Bowler, Jan Jaeger, and others
4A 001/001
「Device number」が「0010」、つまり、0x0010のマスタコンソールに接続しています。
TSOユーザ画面用のTeraTermに切り替えて、3270エミュレータで接続します。「c3270 -charset us-intl -model 3279-2 -keymap c3270.keymap localhost:3270」と入力し、「Enter」キーを入力します。
$ pwd
/home/hercules
$ c3270 -charset us-intl -model 3279-2 -keymap c3270.keymap localhost:3270
すると、次のような画面になります。
Hercules Version : 3.12
Host name : localhost.localdoma
Host OS : Linux-2.6.32-573.26.1.el6 #1 SMP Tue May 3 21:55:43 UTC 201
Host Architecture : i686
Processors : UP
Chanl Subsys : 0
Device number : 0400
Subchannel : 0011
HHH HHH The S/370, ESA/390 and z/Architecture
HHH HHH Emulator
HHH HHH
HHH HHH EEEE RRR CCC U U L EEEE SSS
HHHHHHHHHHHHHHHH E R R C U U L E S
HHHHHHHHHHHHHHHH EEE RRR C U U L EEE SS
HHHHHHHHHHHHHHHH E R R C U U L E S
HHH HHH EEEE R R CCC UU LLLL EEEE SSS
HHH HHH
HHH HHH
HHH HHH My PC thinks it's a MAINFRAME
Copyright (C) 1999-2010 Roger Bowler, Jan Jaeger, and others
4A 001/001
「Device number」が「0400」、つまり、0x0400のTSOユーザ画面に接続しています。
Herculesエミュレータ画面に切りあえると、次のように、マスタコンソール画面、TSOユーザ画面が接続されているメッセージが表示されています。
HHCAO001I Hercules Automatic Operator thread started;
tid=B6468B70, pri=0, pid=1314
HHCTE009I Client 127.0.0.1 connected to 3270 device 0:0010
HHCTE009I Client 127.0.0.1 connected to 3270 device 0:0400
Command ==>
CPU0000 PSW=0000000000000000 24M....... instcount=0
引き続きHerculesエミュレータ画面で、IPLを起動します。
「ipl 150」と入力し、「Enter」キーを入力します。
I/Oデバイスアドレス0x150の、「dasd/mvsres.3350」MVSシステムレジデンスDASDボリュームからIPLを行うという意味。
Command ==> ipl 150
CPU0000 PSW=0000000000000000 24M....... instcount=0
しばらくすると、次のような画面になります。
HHCCP048I 0100:CCW=03000000 20000001=>040C0000 0002BF5A 00000000 00000000 ......
HHCCP075I 0100:Stat=0200 Count=0001
HHCCP076I 0100:Sense=40220000 00C00300 00000000 00800100 010000FF FF000000
HHCCP077I 0100:Sense=INTREQ EOC WRI
HHCCP048I 0310:CCW=03000000 20000001=>040C0000 0002BF5A 00000000 00000000 ......
HHCCP075I 0310:Stat=0200 Count=0001
HHCCP076I 0310:Sense=40220000 00C00300 00000000 00800100 010000FF FF000000
HHCCP077I 0310:Sense=INTREQ EOC WRI
HHCCP048I 0401:CCW=03000000 20000001=>040C0000 0002BF5A 00000000 00000000 ......
HHCCP075I 0401:Stat=0200 Count=0001
HHCCP076I 0401:Sense=40000000 00000000 00000000 00000000 00000000 00000000
HHCCP077I 0401:Sense=INTREQ
HHCCP048I 0402:CCW=03000000 20000001=>040C0000 0002BF5A 00000000 00000000 ......
HHCCP075I 0402:Stat=0200 Count=0001
HHCCP076I 0402:Sense=40000000 00000000 00000000 00000000 00000000 00000000
HHCCP077I 0402:Sense=INTREQ
Command ==>
CPU0000 PSW=070E000000000000 24..W..... instcount=578,460
マスタコンソール画面に切り替えます。すると、次のようなメッセージが表示されています。
| IEA101A SPECIFY SYSTEM PARAMETERS FOR RELEASE 03.8 .VS2
これは、新たにSYSGEN、システム生成されて初めてのIPLなので、LPA(リンクパック領域)の初期化が必要なので、次のコマンドを入力します。
「r 0,clpa」と入力し、「Enter」キーを入力します。
今後LPAを再構築する特別な理由が無ければ、このプロンプトの時には、「Enter」キーを入力します。
r 0,clpa
すると、画面に次々メッセージが表示され、次のような画面になります。
*00 IFB010D ENTER 'IPL REASON,SUBSYSTEM ID' OR 'U'
IEE360I SMF NOW RECORDING ON SYS1.MANX ON MVSRES TIME=22.56.10
- AUTO COMMANDS IN COMMND00 BEING PROCESSED CN=00
IEF677I WARNING MESSAGE(S) FOR JOB JES2 ISSUED
*01 $HASP426 SPECIFY OPTIONS - HASP-II, VERSION JES2 4.1
IEE152I ENTER CANCEL D C,K
4A 022/003
流れていったいくつかのメッセージで、SYS1.PARMLIB(IEAPAK00)が処理されるときに発行されるメッセージで、IEA357Iというエラーメッセージが表示されます。これは、IEAPAK00で指定されたいくつかのモジュールがロードされていないことを示すメッセージです。このモジュールは、システムの動作に必要とされないので気にしなくて大丈夫です。
次に、SYS1.PARMLIB(IEASYS00)が処理中に、アスタリスク(*)付きのメッセージID=IFB010Dと、アスタリスク(*)付きのメッセージID=$HASP426を表示して、オペレータ応答待ちになっています。
*00 IFB010D ENTER 'IPL REASON,SUBSYSTEM ID' OR 'U'
*01 $HASP426 SPECIFY OPTIONS - HASP-II, VERSION JES2 4.1
メッセージID=IFB010Dには、「r 0,u」と入力し、「Enter」キーを入力して応答します。このオペレータ応答は、もしハードウェアエラーが発生したとき、それがIPL由来だった場合にログにエラーを記録するように指示しています。
IEE152I ENTER CANCEL D C,K
r 0,u
すると、次のようなメッセージが表示されます。
- r 0,u
IEE600I REPLY TO 00 IS;U
IGF992I MIH INIT COMPLETE, PRI=000300, SEC=000015
メッセージID=$HASP426には、「r 1,format,noreq」と入力し、「Enter」キーを入力します。
これまでのSYSGEN、システム生成で、MVSスターターシステムでIPLを何回か行った中で同様のコマンドを入力したかと思います。このコマンドは、JES2のSPOOLを初期化する指示です。今回、SYSGEN後初めての起動なので、SPOOLを初期化しています。
IEE152I ENTER CANCEL D C,K
r 1,format,noreq
すると、次のようなアスタリスク(*)付きのメッセージを表示して、オペレータ応答を待っています。
- r 1 SUPPRESSED
IEE600I REPLY TO 01 IS;SUPPRESSED
*02 $HASP479 UNABLE TO OBTAIN CKPT DATA SET LOCK - IO ERROR -
* REPLY Y OR N TO CONTINUE
これは、初めての起動なので、チェックポイントデータセットがフォーマットされていないため、このメッセージが表示されています。
「r 2,y」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
r 2,y
すると、次のようなアスタリスク(*)付きのメッセージを表示して、オペレータ応答を待っています。
- r 2 SUPPRESSED
IEE600I REPLY TO 02 IS;SUPPRESSED
*03 $HASP436 REPLY Y OR N TO CONFIRM CHECKPOINT RECORD CHANGE
「r 3,y」と入力し、「Enter」キーを入力して応答します。
IEE152I ENTER CANCEL D C,K
r 3,y
すると、SPOOL1のフォーマットが始まります。
- r 3 SUPPRESSED
IEE600I REPLY TO 03 IS;SUPPRESSED
- $HASP493 JES2 COLD-START IS IN PROGRESS
- $HASP423 SPOOL1 IS BEING FORMATTED
しばらくすると、次のようなメッセージが表示されて画面が止まってしまったかのように見えます。
- $HASP412 MAXIMUM OF 1 READER(S) EXCEEDED
- $HASP412 MAXIMUM OF 1 PUNCH(ES) EXCEEDED
IEE041I THE SYSTEM LOG IS NOW ACTIVE
$HASP000 OK
$HASP000 OK
IEE152I ENTER CANCEL D C,K
IEE159E MESSAGE WAITING
4A 022/003
マスタコンソール画面の右下あたりに、「IEE159E MESSAGE WAITING」というメッセージが出ているかと思います。
MVSスターターシステムでSYSGENしていた時は、telnetクライアントで接続し、行スクロールしていく表示でしたが、3270エミュレータでマスタコンソール画面に接続すると、画面上段がMVS3.8Jの表示領域、画面下段がクライアント入力領域の2分割表示になります。
MVSは画面上段の表示領域を使い切ったので、明示的に画面上段をクリアするか、スクロールコマンドで画面をスクロールするのかオペレータの応答を待っています。
これまでのSYSGENでマスタコンソール用のプログラムファンクションキーを定義するためのプログラムを設定しているので、「PF12」キーに画面上段をスクロールする指示を設定しています。
「F12」キーを入力して応答します。
すると、画面がスクロールされ、次のようなメッセージが表示されます。
$HASP100 INIT ON STCINRDR
- $HASP373 INIT STARTED
- IEF403I INIT - STARTED - TIME=23.29.54
$HASP100 INIT ON STCINRDR
- $HASP373 INIT STARTED
- IEF403I INIT - STARTED - TIME=23.29.54
- $HASP373 ZTIMER STARTED
- IEF403I ZTIMER - STARTED - TIME=23.29.54
$HASP309 INIT 1 INACTIVE ******** C=A
$HASP309 INIT 2 INACTIVE ******** C=BA
$HASP309 INIT 3 INACTIVE ******** C=S
- SETPFKEY EXECUTING
$HASP000 ID 99 T=24.00 I= 0 $VS,'S ZTIMER'
- IEF404I ZTIMER - ENDED - TIME=23.29.55
- $HASP395 ZTIMER ENDED
00- IEF404I SETPFKEY - ENDED - TIME=23.29.55
- $HASP395 SETPFKEY ENDED
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
IEE928I DISPLAY AREA ID'S FOR CONSOLE 01 ARE A
IEE152I ENTER CANCEL D C,K
IEE163I MODE= RD
4A 022/003
「PFK12」キーが押されたときに入力されるコマンドは次のとおりです。
「K S,DEL=RD,SEG=19,RTME=001,RNUM=19,CON=N;K A,10」
この長いコマンドを毎回IPLの度に入力するのは大変ですので、このPFKEY設定があった良かったです。
画面左下に「IEE163I MODE= RD」というメッセージが表示されています。
IEE163I MODE= RD
これは、コンソールの表示モードが自動スクロールモードであることを意味しています。
この他、PFキーには何が割り当てられているか確認したいと思います。
「F1」キーを入力します。
すると、画面がスクロールされ、次のようなメッセージが表示されます。
IEE928I DISPLAY AREA ID'S FOR CONSOLE 01 ARE A
00- D PFK
IEE724I 23.51.28 PFK DEFINITION 164 C
KEY# CONV DEFINITION...
01 NO D PFK
02 NOT DEFINED
03 NOT DEFINED
04 NOT DEFINED
05 NOT DEFINED
06 NOT DEFINED
07 NOT DEFINED
08 NOT DEFINED
09 NO D U,TAPE,ONLINE
10 NO D U,DASD,ONLINE
11 YES V NET,INACT,ID=CUU0C_0;V NET,ACT,ID=CUU0C_0
12 NO K S,DEL=RD,SEG=19,RTME=001,RNUM=19,CON=N;K A,10
PFキーに関連するコマンドは、SYS1.PARMLIB(SETPFK00)メンバで設定しています。追加のコマンドをセットアップするには、このメンバーを編集すれば、次回のIPL後に有効になります。
画面上段にスクロールされていったこれまでの全てのメッセージは、Hercules設定ファイル(conf/mvs.cnf)のI/Oデバイスアドレス=0x015で指定した「mvslog.txt」に出力されています。
代替コンソールに関する注意:Hercules設定ファイル(conf/mvs.cnf)のI/Oデバイスアドレス=0x009のコメントを解除して、代替コンソールを有効にした場合は、そのコンソールに表示されるメッセージが削除されるように設定する必要があります。削除しないと保留中のメッセージによってシステムリソース不足になり、最終的にはシステム停止となります(日本語訳に自信なし)。
参考文献:
-
MVSオペレータコンソールコマンドのマニュアルのコピー
Jay Moseley => GC38-0229-1-OSVS2-MVS-System-Commands.pdf [10.8 MB MD5: 949ace4646aa5e16f04223596ece28dc] -
MVS&JES2コマンドチートシート
Volker Bandke => [MVS and JES2 Commands MVS Commands Cheat Sheet]
(http://www.bsp-gmbh.com/hercules/oscmds.html) -
JES2コマンド
Tommy Sprinkle => JES2コマンド -
MVSオペレータコマンド
Bob Hansen => MVSオペレータコマンド -
MVS JES2 クイックリファレンス
Jay Moseley => MVS JES2 クイックリファレンスPDF
言語コンパイラおよびツールのインストールとDASDボリュームの追加
MVS3.8JのSYSGEN後に利用できる言語はアセンブラだけです。ALGOL、COBOL、FORTRAN、RPGなどの言語コンパイラをこれから追加します。
追加に当たっては、インストール用の空のDASDボリュームを追加します。
追加のDASDボリューム作成
TeraTermをもう一つ起動し、次のコマンドを入力します。
「./create.dasd.sh user」と入力し、「Enter」キーを入力します。
$ pwd
/home/hercules/mvs
$ ./create.dasd.sh user
This script creates DASD volumes for MVS 3.8j.
Changed directory to: /home/hercules/mvs/dasd
HHCDU044I Creating 3380 volume 111111: 886 cyls, 15 trks/cyl, 47616 bytes/track
HHCDU041I 886 cylinders successfully written to file pub000.3380
HHCDI001I DASD initialization successfully completed.
HHCDU044I Creating 3390 volume 222222: 1114 cyls, 15 trks/cyl, 56832 bytes/track
HHCDU041I 1114 cylinders successfully written to file pub001.3390
HHCDI001I DASD initialization successfully completed.
HHCDU044I Creating 2314 volume 333333: 203 cyls, 20 trks/cyl, 7680 bytes/track
HHCDU041I 203 cylinders successfully written to file sortw1.2314
HHCDI001I DASD initialization successfully completed.
HHCDU044I Creating 2314 volume 444444: 203 cyls, 20 trks/cyl, 7680 bytes/track
HHCDU041I 203 cylinders successfully written to file sortw2.2314
HHCDI001I DASD initialization successfully completed.
HHCDU044I Creating 2314 volume 555555: 203 cyls, 20 trks/cyl, 7680 bytes/track
HHCDU041I 203 cylinders successfully written to file sortw3.2314
HHCDI001I DASD initialization successfully completed.
HHCDU044I Creating 2314 volume 666666: 203 cyls, 20 trks/cyl, 7680 bytes/track
HHCDU041I 203 cylinders successfully written to file sortw4.2314
HHCDI001I DASD initialization successfully completed.
HHCDU044I Creating 2314 volume 777777: 203 cyls, 20 trks/cyl, 7680 bytes/track
HHCDU041I 203 cylinders successfully written to file sortw5.2314
HHCDI001I DASD initialization successfully completed.
HHCDU044I Creating 2314 volume 888888: 203 cyls, 20 trks/cyl, 7680 bytes/track
HHCDU041I 203 cylinders successfully written to file sortw6.2314
HHCDI001I DASD initialization successfully completed.
Script completed successfully!
$
このコマンドで作成されたDASDボリュームは次の通りです。
- dasd/pub000.3380 - TSO用データセットが常駐する3380型DASDボリューム
- dasd/pub001.3390 - 利用者のデータセットが常駐する3390型DASDボリューム
- dasd/sortw1, dasd/sortw2, dasd/sortw3, dasd/sortw4, dasd/sortw5, dasd/sortw5 - ソート/マージプログラムを実行するために必要とされる2314型DASDボリューム
ここまででは、まだDASDボリュームはMVSで利用できるようにフォーマットされていません。まずは、HerculesエミュレータにこれらのDASDボリュームを取り付ける必要があります。
Herculesエミュレータ画面に切り替えて、「script conf/mvs.script」と入力し、「Enter」キーを入力します。
HHCCP077I 0100:Sense=INTREQ EOC WRI
Command ==> script conf/mvs.script
CPU0000 PSW=070E000000000000 24..W..... instcount=198,878,708
HHCCP077I 0100:Sense=INTREQ EOC WRI +
script conf/mvs.script
#
####################################################################
# HERCULES EMULATOR SCRIPT FILE #
####################################################################
#
# use for attaching new dasd volumes to target MVS 3.8j system
#
attach 180 3380 dasd/pub000.3380
HHCDA020I dasd/pub000.3380 cyls=886 heads=15 tracks=13290 trklen=47616
attach 190 3390 dasd/pub001.3390 cu=3880
HHCDA020I dasd/pub001.3390 cyls=1114 heads=15 tracks=16710 trklen=56832
attach 220 2314 dasd/sortw1.2314
HHCDA020I dasd/sortw1.2314 cyls=203 heads=20 tracks=4060 trklen=7680
attach 221 2314 dasd/sortw2.2314
HHCDA020I dasd/sortw2.2314 cyls=203 heads=20 tracks=4060 trklen=7680
attach 222 2314 dasd/sortw3.2314
HHCDA020I dasd/sortw3.2314 cyls=203 heads=20 tracks=4060 trklen=7680
attach 223 2314 dasd/sortw4.2314
HHCDA020I dasd/sortw4.2314 cyls=203 heads=20 tracks=4060 trklen=7680
attach 224 2314 dasd/sortw5.2314
HHCDA020I dasd/sortw5.2314 cyls=203 heads=20 tracks=4060 trklen=7680
attach 225 2314 dasd/sortw6.2314
HHCDA020I dasd/sortw6.2314 cyls=203 heads=20 tracks=4060 trklen=7680
attach 253 3350 dasd/syscpk.3350
HHCDA020I dasd/syscpk.3350 cyls=560 heads=30 tracks=16800 trklen=19456
HHCPN013I EOF reached on SCRIPT file. Processing complete.
Command ==>
CPU0000 PSW=070E000000000000 24..W..... instcount=198,954,967
「HHCPN013I EOF reached on SCRIPT file. Processing complete.
」となり、、これでDASDボリュームの取り付けができました。
新しいDASDボリュームを初期化してマウントします
Herculeエミュレータ画面で次のコマンドを入力します。
「devinit 00c jcl/mvs00.jcl eof」と入力し、「Enter」キーを入力します。
Command ==> devinit 00c jcl/mvs00.jcl eof
CPU0000 PSW=070E000000000000 24..W..... instcount=201,991,321
このJCLでは先の手順で作成した8つの新しいDASDボリュームを初期化し、オンラインで使えるようにマウントします。
マスタコンソール画面に切り替えると、次のようなアスタリスク(*)付きのメッセージが表示されます。
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
00 $HASP100 MVS00 ON READER1 INITIALIZE DASD
- $HASP373 MVS00 STARTED - INIT 1 - CLASS A - SYS HMVS
- IEF403I MVS00 - STARTED - TIME=01.11.23
*04 ICK003D REPLY U TO ALTER VOLUME 0180 CONTENTS, ELSE T
このメッセージID=ICK003Dは、I/Oデバイスアドレス=0x180のDASDボリュームを初期化してラベルを付与するか、オペレータに要求しています。
「r 4,u」と入力し、「Enter」キーを入力して、初期化します。
IEE152I ENTER CANCEL D C,K
r 4,u
IEE163I MODE= RD
この後、残りの7つの新しいDASDボリュームについて、初期化するか要求されるので、"U"で応答します。
| 04 ICK003D REPLY U TO ALTER VOLUME 0180 CONTENTS, ELSE T
- r 4 SUPPRESSED
IEE600I REPLY TO 04 IS;SUPPRESSED
| 05 ICK003D REPLY U TO ALTER VOLUME 0190 CONTENTS, ELSE T
- r 5 SUPPRESSED
IEE600I REPLY TO 05 IS;SUPPRESSED
| 06 ICK003D REPLY U TO ALTER VOLUME 0220 CONTENTS, ELSE T
- r 6 SUPPRESSED
IEE600I REPLY TO 06 IS;SUPPRESSED
| 07 ICK003D REPLY U TO ALTER VOLUME 0221 CONTENTS, ELSE T
- r 7 SUPPRESSED
IEE600I REPLY TO 07 IS;SUPPRESSED
| 08 ICK003D REPLY U TO ALTER VOLUME 0222 CONTENTS, ELSE T
- r 8 SUPPRESSED
IEE600I REPLY TO 08 IS;SUPPRESSED
| 09 ICK003D REPLY U TO ALTER VOLUME 0223 CONTENTS, ELSE T
- r 9 SUPPRESSED
IEE600I REPLY TO 09 IS;SUPPRESSED
*10 ICK003D REPLY U TO ALTER VOLUME 0224 CONTENTS, ELSE T
*10 ICK003D REPLY U TO ALTER VOLUME 0224 CONTENTS, ELSE T
IEE600I REPLY TO 10 IS;SUPPRESSED
R 10,SUPPRESSED
*11 ICK003D REPLY U TO ALTER VOLUME 0225 CONTENTS, ELSE T
IEE600I REPLY TO 11 IS;SUPPRESSED
R 11,SUPPRESSED
8つの新しいボリューム全てが初期化されると、MVS00ジョブは、別のジョブをSUBMITします。このジョブでは、これら初期化したDASDボリュームをオンラインで使えるようにマウントします。
マスタコンソール画面を見るとアスタリスク(*)付きのメッセージを表示して、オペレータの応答を待っています。
*$HASP190 MVS00 SETUP -- PRINTER1 -- F = STD. -- C = 6 -- T = 0
$HASP309 INIT 3 INACTIVE ******** C=S
これは、MFS00ジョブの実行でプリンタ出力が必要でしたが、プリンタ装置が始動していないためで、始動を促すメッセージです。JES2コマンドでプリンタを始動します。
「$s prt1」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
$s prt1
IEE163I MODE= RD
すると、次のようなメッセージが表示されます。
00- $s prt1
$HASP000 OK
$HASP250 MVS00 IS PURGED
$HASP150 MVS00 ON PRINTER1 111 LINES
$HASP160 PRINTER1 INACTIVE - CLASS=A
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
$HASP250 MVS00 IS PURGED
アスタリスク(*)付きのメッセージでは、「PRINTER1」の始動を要求していましたが、実際に入力したのは、「PRT1」です。これは短縮入力が許されているためです。
プリンタ出力がされたので、完了コードの確認ができるようになりました。MVS00ジョブの完了コードを確認します。完了コード確認画面用のTeraTermを立ち上げ、次のコマンドを入力します。
「./condcode.pl prt00e.txt mvs00」と入力し、「Enter」キーを入力します。
完了コードの期待値は次の通りです。
$ pwd
/home/hercules/mvs
$ ./condcode.pl prt00e.txt mvs00
Searching prt00e.txt for MVS Job Name mvs00
Step Name Proc Step Name Completion Code
--------- -------------- ---------------
ICKDSF 0000
IEBGENER 0000
BACKUP01 0000
UPDATE01 0000
IEFBR14 0000
IDCAMS01 0000
ユーザーカタログの作成
VSAMマスター・カタログはMVSRESに存在し、その名前は「SYS1.VSAM.MASTER.CATALOG」です。
ジョブは、カタログ先が見つからないときにデータセットをカタログしようとすると、マスター・カタログにカタログします。
これは望ましくないので、ユーザカタログを作ります。
Herculeエミュレータ画面で次のコマンドを入力します。
「devinit 00c jcl/mvs01.jcl eof」と入力し、「Enter」キーを入力します。
Command ==> devinit 00c jcl/mvs01.jcl eof
CPU0000 PSW=070E000000000000 24..W..... instcount=263,107,879
マスタコンソール画面に切り替えると、次のようなメッセージが表示されます。
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
$HASP100 MVS01 ON READER1 SETUP USER CATS
- $HASP373 MVS01 STARTED - INIT 3 - CLASS S - SYS HMVS
- IEF403I MVS01 - STARTED - TIME=02.15.01
00- CCI001C IDCAMS01/IDCAMS /00:00:00.67/ /00000/1 /MVS01
- IEF404I MVS01 - ENDED - TIME=02.15.02
- $HASP395 MVS01 ENDED
$HASP309 INIT 3 INACTIVE ******** C=S
$HASP150 MVS01 ON PRINTER1 125 LINES
$HASP160 PRINTER1 INACTIVE - CLASS=A
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
$HASP250 MVS01 IS PURGED
完了コード確認画面に切り替えて、
「./condcode.pl prt00e.txt mvs01」と入力し、「Enter」キーを入力します。
完了コードの期待値は次の通りです。
$ pwd
/home/hercules/mvs
$ ./condcode.pl prt00e.txt mvs01
Searching prt00e.txt for MVS Job Name mvs01
Step Name Proc Step Name Completion Code
--------- -------------- ---------------
IDCAMS01 0000
このジョブの最後のステップで、VSAMマスター・カタログ(MVSRES DASDボリューム上にあるSYS1.VSAM.MASTER.CATALOG)の更新パスワードを設定します。パスワードは「SYSPROG」です(mvs01.jclを見れば書いてあります)。
パスワードを設定しているのは、誤ってマスターカタログにカタログされることを防ぐためです。
TSOユーザーIDを追加します
これから、TSOユーザーIDを作成します。
デフォルトで登録されているTSOユーザIDは、「IBMUSER」です。
これは、緊急時にのみ使用されることが意図されます。
Herculeエミュレータ画面で次のコマンドを入力します。
「devinit 00c jcl/mvs02.jcl eof」と入力し、「Enter」キーを入力します。
このJCLでは、「HMVS01」と「HMVS02」の2つのTSOユーザIDを作成するように設定されています。
Command ==> devinit 00c jcl/mvs02.jcl eof
CPU0000 PSW=070E000000000000 24..W..... instcount=275,447,246
マスタコンソール画面に切り替えると、次のようなアスタリスク(*)付きのメッセージが表示されます。
*12 IEC301A S JOB MVS02 DSNAME SYS1.VSAM.MASTER.CATALOG
これは、先のジョブの最後のステップでマスター・カタログに更新パスワードを設定したためです。
「r 12,SYSPROG」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
r 12,SYSPROG
IEE163I MODE= RD
すると、次のようなメッセージが表示されます。
| 12 IEC301A S JOB MVS02 DSNAME SYS1.VSAM.MASTER.CATALOG
00- r 12 SUPPRESSED
IEE600I REPLY TO 12 IS;SUPPRESSED
分かりにくいですが、ここで「Enter」キーを入力します。
すると、メッセージがスクロールされていきます。
アスタリスク(*)付きのメッセージで更新パスワード要求が表示されます。
*13 IEC301A S JOB MVS02 DSNAME SYS1.VSAM.MASTER.CATALOG
「r 13,SYSPROG」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
r 13,SYSPROG
IEE163I MODE= RD
すると、次のようなメッセージが表示されます。
| 13 IEC301A S JOB MVS02 DSNAME SYS1.VSAM.MASTER.CATALOG
- r 13 SUPPRESSED
IEE600I REPLY TO 13 IS;SUPPRESSED
- CCI001C IDC24 /IDCAMS /00:00:00.32/ /00000/1 /MVS02
- IEF404I MVS02 - ENDED - TIME=02.36.41
- $HASP395 MVS02 ENDED
$HASP309 INIT 3 INACTIVE ******** C=S
$HASP150 MVS02 ON PRINTER1 1,682 LINES
00 $HASP160 PRINTER1 INACTIVE - CLASS=A
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
$HASP250 MVS02 IS PURGED
完了コード確認画面に切り替えて、
「./condcode.pl prt00e.txt mvs02」と入力し、「Enter」キーを入力します。
完了コードの期待値は次の通りです。
$ pwd
/home/hercules/mvs
$ ./condcode.pl prt00e.txt mvs02
Searching prt00e.txt for MVS Job Name mvs02
Step Name Proc Step Name Completion Code
--------- -------------- ---------------
DEL01 0000
AL02 0000
PW03 0000
PW04 0000
PW05 0000
PW06 0000
PW07 0000
PW08 0000
PW09 0000
PW10 0000
PW11 0000
PW12 0000
PW13 0000
TSO14 0000
PW15 0000
PW16 0000
PW17 0000
PW18 0000
PW19 0000
PW20 0000
PW21 0000
PW23 0000
IDC24 0000
DEL01 0000
AL02 0000
PW03 0000
PW04 0000
PW05 0000
PW06 0000
PW07 0000
PW08 0000
PW09 0000
PW10 0000
PW11 0000
PW12 0000
PW13 0000
TSO14 0000
PW15 0000
PW16 0000
PW17 0000
PW18 0000
PW19 0000
PW20 0000
PW21 0000
PW22 0000
PW23 0000
IDC24 0000
$
このジョブでTSOユーザID毎に4のデータセットが作成されます。
- USERID.CLIST(CLISTSを格納するための区分データセット)
- USERID.CNTL(JCLを格納するための区分データセット)
- USERID.LOAD(ロード・モジュールを格納するための区分データセット)
- USERID.SOURCE(ソースを格納するための区分データセット)
VTAMおよびTSOの開始
VTAMを開始します。
マスタコンソール画面で「s net」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
s net
IEE163I MODE= RD
「net」はVTAMを実行するカタログプロシージャーです。スクロールされていくメッセージを見ると、自動的にVTAMが初期化され、TSOも開始されているのが見えます。
- $HASP373 NET STARTED
- IEF403I NET - STARTED - TIME=02.46.22
IST025I BLDL FAILED FOR IEDIAE IN VTAMLIB
IST025I BLDL FAILED FOR IEDIAE IN VTAMLIB
IST025I BLDL FAILED FOR IEDIAE IN VTAMLIB
IST025I BLDL FAILED FOR IEDIAE IN VTAMLIB
IST025I BLDL FAILED FOR IEDIAK IN VTAMLIB
IST025I BLDL FAILED FOR IEDIAK IN VTAMLIB
IST110I NETWORK SOLICITOR STARTED
00 IST093I APPLTSO ACTIVE
IST093I LCL400 ACTIVE
$HASP100 TSO ON STCINRDR
- $HASP373 TSO STARTED
- IEF403I TSO - STARTED - TIME=02.46.23
IST020I VTAM INITIALIZATION COMPLETE
IEA000I 401,IOE,05,0200,400000000001,,,NET ,02.46.23
IEA000I 402,IOE,05,0200,400000000001,,,NET ,02.46.23
- IKT007I TCAS ACCEPTING LOGONS
- IKT005I TCAS IS INITIALIZED
これは、先の手順で導入したUSERMODでTSOを開始する機能を追加したことによるものです。
先に立ち上げておいた、TSOユーザ画面に切り替えます(I/Oデバイスアドレス=0x0400)。すると、次のような画面が表示されています。
HH HH EEEEEEE RRRRRR CCCCC UU UU LL EEEEEEE SSSSS
HH HH EEEEEEE RRRRRRR CCCCCCC UU UU LL EEEEEEE SSSSSSS
HH HH EE RR RR CC CC UU UU LL EE SS SS
HHHHHHH EEEE RRRRRRR CC UU UU LL EEEE SSS
HHHHHHH EEEE RRRRRR CC UU UU LL EEEE SSS
HH HH EE RR RR CC CC UU UU LL EE SS SS
HH HH EEEEEEE RR RR CCCCCCC UUUUUUU LLLLLLL EEEEEEE SSSSSSS
HH HH EEEEEEE RR RR CCCCC UUUUU LLLLLLL EEEEEEE SSSSS
Welcome to MVS3.8j, running under the Hercules emulator
Logon ===>
4A 023/013
ログオンプロンプトで「logon hmvs01」と入力し、「Enter」キーを入力します。
Logon ===> logon hmvs01
すると、次のような画面になります。
*******************************************************************************
* *
* *
* WELCOME TO THE TSO SYSTEM *
* ================================= *
* *
* *
*******************************************************************************
READY
マスタコンソール画面に切り替えると、次のようなメッセージが表示されています。
00 $HASP100 HMVS01 ON TSOINRDR
- $HASP373 HMVS01 STARTED
- IEF125I HMVS01 - LOGGED ON - TIME=02.53.20
TSOユーザID=HMVS01がログオンに成功したことを示すメッセージが表示されています。
RPF:Rob Prins' Programming Facilityのインストール
無償でISPFが利用できないため、これに代わるツールとしてRPFをインストールします。
Herculeエミュレータ画面で次のコマンドを入力します。
「devinit 00c jcl/rpf153.jcl eof」と入力し、「Enter」キーを入力します。
Command ==> devinit 00c jcl/rpf153.jcl eof
CPU0000 PSW=070E000000000000 24..W..... instcount=583,243,803
マスタコンソール画面に切り替えると、次のアスタリスク(*)付きのメッセージでマスタカタログの更新パスワードの応答を待っています。
00 $HASP100 RPF153$1 ON READER1 Install RPF
- $HASP373 RPF153$1 STARTED - INIT 3 - CLASS S - SYS HMVS
- IEF403I RPF153$1 - STARTED - TIME=03.00.57
*14 IEC301A S JOB RPF153$1 DSNAME SYS1.VSAM.MASTER.CATALOG
「r 14,SYSPROG」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
r 14,SYSPROG
IEE163I MODE= RD
すると、次のアスタリスク(*)付きメッセージでテープ取り付けの応答を要求してきます。
- r 14 SUPPRESSED
IEE600I REPLY TO 14 IS;SUPPRESSED
- CCI001C CLEANUP /IDCAMS /00:00:00.54/ /00000/TSO /RPF153$1
00 *IEC501A M 100,RPF153,SL,1600 BPI,RPF153$1,ALLOC
Herculesエミュレータ画面に切り替え、「devinit 100 tape/rpf153.aws」と入力し、「Enter」キーを入力します。
Command ==> devinit 100 tape/rpf153.aws
CPU0000 PSW=070E000000000000 24..W..... instcount=598,271,482
マスタコンソール画面に切り替えると、次のようなメッセージが表示されます。
| IEC501A M 100,RPF153,SL,1600 BPI,RPF153$1,ALLOC
IEF234E K 100,RPF153,PVT,RPF153$1,ALLOC
- CCI001C ALLOC /IEBCOPY /00:00:03.22/ /00000/TSO /RPF153$1
- CCI001C GENER /IEBUPDTE/00:00:00.05/ /00000/TSO /RPF153$1
- CCI001C ALLOC /IEBCOPY /00:00:00.70/ /00000/TSO /RPF153$1
- CCI001C HELP /IEBCOPY /00:00:00.10/ /00000/TSO /RPF153$1
- IEF404I RPF153$1 - ENDED - TIME=03.07.49
- $HASP395 RPF153$1 ENDED
$HASP309 INIT 3 INACTIVE ******** C=S
$HASP150 RPF153$1 ON PRINTER1 664 LINES
00 $HASP160 PRINTER1 INACTIVE - CLASS=A
$HASP250 RPF153$1 IS PURGED
完了コード確認画面に切り替えて、
「./condcode.pl prt00e.txt 'RPF153$1'」と入力し、「Enter」キーを入力します。
完了コードの期待値は次の通りです。
$ pwd
/home/hercules/mvs
$ ./condcode.pl prt00e.txt 'RPF153$1'
Searching prt00e.txt for MVS Job Name RPF153$1
Step Name Proc Step Name Completion Code
--------- -------------- ---------------
CLEANUP 0000
ALLOC 0000
GENER 0000
ALLOC 0000
HELP 0000
QUEUE:JES2キューの表示および制御ツールのインストール
RPFには、JES2キューに出力を表示することを可能にするユーティリティパネルを持っています。
QUEUEツールは、RPF以前からあるツールで Greg Price が更新を続けています。(http://www.prycroft6.com.au/vs2sw/index.html#queue)
Herculeエミュレータ画面で次のコマンドを入力します。
「devinit 00c jcl/queue38j.jcl eof」と入力し、「Enter」キーを入力します。
Command ==> devinit 00c jcl/queue38j.jcl eof
CPU0000 PSW=070E000000000000 24..W..... instcount=637,906,340
マスタコンソール画面に切り替えると、次のようなメッセージが表示されます。
$HASP100 GREGQ ON READER1 QUEUE
$HASP373 GREGQ STARTED - INIT 3 - CLASS S - SYS HMVS
IEF403I GREGQ - STARTED - TIME=03.27.37
+PDSLOAD WILL RETRY WITH DDNAME=SYSIN
$HASP395 GREGQ ENDED
IEF404I GREGQ - ENDED - TIME=03.30.44
$HASP309 INIT 3 INACTIVE ******** C=S
$HASP150 GREGQ ON PRINTER1 194 LINES
$HASP160 PRINTER1 INACTIVE - CLASS=A
$HASP250 GREGQ IS PURGED
完了コード確認画面に切り替えて、
「./condcode.pl prt00e.txt gregq」と入力し、「Enter」キーを入力します。
完了コードの期待値は次の通りです。
$ pwd
/home/hercules/mvs
$ ./condcode.pl prt00e.txt gregq
Searching prt00e.txt for MVS Job Name gregq
Step Name Proc Step Name Completion Code
--------- -------------- ---------------
STEP1 0000
このジョブはdasd/pub001.3390 DASDボリューム上にデータセットをいくつか作成し、それらにQUEUEツールをロードします。
今回はユーザカタログを使ったのでパスワード要求はありませんでした。
TSOユーザ画面(TSOユーザID=HMVS01)に切り替えて、
「submit 'pub001.queue.asm(c)'」と入力し、「Enter」キーを入力します。
データセット名とメンバの前後に引用符があることに注意してください。
READY
submit 'pub001.queue.asm(c)'
すると、次のようなメッセージが表示されます。
JOB GREGQ(JOB00007) SUBMITTED
READY
マスタコンソール画面に切り替えると、次のようなメッセージが表示されます。
- CCI001C ASM /IFOX00 /00:00:01.54/ /00000/QUEUE /GREGQ
- $HASP375 GREGQ ESTIMATED LINES EXCEEDED BY 10000
- CCI001C LKED /IEWL /00:00:00.24/ /00000/QUEUE /GREGQ
- IEF404I GREGQ - ENDED - TIME=03.43.03
- $HASP395 GREGQ ENDED
$HASP309 INIT 3 INACTIVE ******** C=S
$HASP150 GREGQ ON PRINTER1 60,244 LINES
00 $HASP160 PRINTER1 INACTIVE - CLASS=A
$HASP250 GREGQ IS PURGED
完了コード確認画面に切り替えて、
「./condcode.pl prt00e.txt gregq」と入力し、「Enter」キーを入力します。
完了コードの期待値は次の通りです。
$ pwd
/home/hercules/mvs
$ ./condcode.pl prt00e.txt gregq
Searching prt00e.txt for MVS Job Name gregq
Step Name Proc Step Name Completion Code
--------- -------------- ---------------
STEP1 0000
Q00 ASM 0000
Q01 ASM 0000
Q02 ASM 0000
Q03 ASM 0000
Q04 ASM 0000
Q05 ASM 0000
Q06 ASM 0000
Q07 ASM 0000
Q08 ASM 0000
Q09 ASM 0000
Q10 ASM 0000
Q11 ASM 0000
Q12 ASM 0000
Q13 ASM 0000
Q14 ASM 0000
Q15 ASM 0000
Q16 ASM 0000
Q17 ASM 0000
Q18 ASM 0000
Q19 ASM 0000
Q20 ASM 0000
Q21 ASM 0000
Q22 ASM 0000
Q23 ASM 0000
Q24 ASM 0000
Q25 ASM 0000
Q26 ASM 0000
Q27 ASM 0000
Q28 ASM 0000
Q29 ASM 0000
Q30 ASM 0000
Q31 ASM 0000
Q32 ASM 0000
Q33 ASM 0000
Q34 ASM 0000
Q35 ASM 0000
Q36 ASM 0000
Q37 ASM 0000
Q38 ASM 0000
LKED 0000
TSOユーザ画面でSUBMITしたジョブ名は、先のQUEUEツールのインストールと同じジョブ名であったので、condcodeスクリプトは、「STEP1」もピックアップしています。
このTSOユーザ画面でSUBMITしたジョブは、MVSコンソール上でかなりの数のメッセージが生成されますが、それらはすべて、この完了コードで挙げた期待とそれに付随する単なる情報です。
TSOユーザ画面に切り替えます。
ジョブが完了すると、通知メッセージがTSOセッションに送信されるよにしてあったので、「Enter」キーを入力すると、「$HASP165 JOB 7 GREGQ ENDED」のメッセージが通知されます。
READY
$HASP165 JOB 7 GREGQ ENDED
READY
QUEUEツールをインストールすると、JES2キューに保持されている出力を表示することができます。「q」と入力し、「Enter」キーを入力します。
READY
q
すると、次のような画面が表示されます。
QUEUE COMMAND - STATUS
QUEUE POSITION JOBNAME JOB# PRIORITY LINES EXECUTING
. TSO USER 1 HMVS01 20002 15 HMVS
. HELD OUT 15 HMVS01 20001 2
REPLY -
4A 024/009
「Home」キーを押して、コマンド入力域にカーソルを合わせます("STATUS"の所)。
ここで、「HO」と入力し、「Enter」キーを入力します。
QUEUE COMMAND - HO
すると、次のような画面が表示されます。
QUEUE COMMAND - HO
QUEUE POSITION JOBNAME JOB# PRIORITY LINES EXECUTING
. HELD OUT 1 MOUNT 10009 15
. HELD OUT 2 MOUNT 10010 15
. HELD OUT 3 MOUNT 10011 15
. HELD OUT 4 MOUNT 10012 15
. HELD OUT 5 MOUNT 10013 15
. HELD OUT 6 MOUNT 10014 15
. HELD OUT 7 MOUNT 10015 15
. HELD OUT 8 MOUNT 10016 15
. HELD OUT 9 MOUNT 10017 15
. HELD OUT 10 ZTIMER 10003 5
. HELD OUT 11 SETPFKEY 10002 5
. HELD OUT 12 ZTIMER 10007 5
. HELD OUT 13 ZTIMER 10008 5
. HELD OUT 14 ZTIMER 10018 3
. HELD OUT 15 HMVS01 20001 2
REPLY -
4A 024/009
特定のジョブの出力を表示するには、「TAB」キーを押して、目的のジョブの行にカーソル移動していきます。
そしてそこで、「S」を入力し、「Enter」キーを入力します。
QUEUE POSITION JOBNAME JOB# PRIORITY LINES EXECUTING
. HELD OUT 1 MOUNT 10009 15
. HELD OUT 2 MOUNT 10010 15
. HELD OUT 3 MOUNT 10011 15
. HELD OUT 4 MOUNT 10012 15
. HELD OUT 5 MOUNT 10013 15
. HELD OUT 6 MOUNT 10014 15
. HELD OUT 7 MOUNT 10015 15
. HELD OUT 8 MOUNT 10016 15
. HELD OUT 9 MOUNT 10017 15
. HELD OUT 10 ZTIMER 10003 5
S HELD OUT 11 SETPFKEY 10002 5
. HELD OUT 12 ZTIMER 10007 5
. HELD OUT 13 ZTIMER 10008 5
. HELD OUT 14 ZTIMER 10018 3
. HELD OUT 15 HMVS01 20001 2
. HELD OUT 16 ZTIMER 10021 1
REPLY -
4A 013/004
この例では、ジョブ名=SETPFKEYを対象にしています。
次の様な画面が表示されます。
QUEUE COMMAND - JL 10002
JOB 10002 , DSID 2 , REC # 1, END OF DATA. LAST REC # 7
J E S 2 J O B L O G
23.29.53 STC 2 $HASP373 SETPFKEY STARTED
23.29.53 STC 2 IEF403I SETPFKEY - STARTED - TIME=23.29.53
23.29.54 STC 2 SETPFKEY EXECUTING
23.29.55 STC 2 IEF404I SETPFKEY - ENDED - TIME=23.29.55
23.29.55 STC 2 $HASP395 SETPFKEY ENDED
REPLY - PF3=HO
4A 024/009
「F1」キーを押すと、QUEUEコマンドの簡単なヘルプが表示されます。
QUEUE COMMAND - H
THE FOLLOWING SUBCOMMANDS ARE SUPPORTED: (VER 3.8J REL P6.2007.JAN.01)
DA - DISPLAY ALL JOBS IN EXECUTION
DT - DISPLAY TSO USERS
DS - DISPLAY SYSTEM TASKS
DC - DISPLAY CPU BATCH/STC/TSO
STATUS LEVEL - DISPLAY ALL JOBS BEGINNING WITH LEVEL
DQ - DISPLAY INPUT QUEUES
DI CLASS - DISPLAY ALL JOBS IN INPUT CLASS
AI CLASS - DISPLAY JOBS AVAILABLE FOR PROCESSING
HI CLASS - DISPLAY HELD JOBS IN INPUT CLASS
DF - DISPLAY OUTPUT QUEUES
DO CLASS - DISPLAY ALL JOBS IN OUTPUT CLASS
AO CLASS - DISPLAY AVAILABLE OUTPUT
HO CLASS - DISPLAY HELD OUTPUT
END - TERMINATE PROCESSING
DEFAULT FOR LEVEL IS LOGON ID
DEFAULT FOR CLASS IS ALL CLASSES
NO DEFAULT FOR JOBNAME
REPLY - PF3=+0
4A 001/017
「F3」キーを3回押して、TSOコマンドプロンプトまで戻ります。
REVIEW:フルスクリーンブラウザとエディタのインストール
RPFはにフルスクリーンブラウザ、そしてエディタの機能を持っています。Greg Price が提供している「REVIEW」ツール(http://www.prycroft6.com.au/vs2sw/index.html#review)
もフルスクリーンブラウザとエディタ機能を提供しています。
これをインストールします。
今回、2540カードリーダからjclを投入してみます。
事前準備として、次のperlスクリプト(hercsub)を用意します。
$ pwd
/home/hercules/mvs/jcl
$ cat hercsub
# !/usr/bin/perl
use Socket;
use IO::Socket::UNIX;
use IO::Socket::INET;
if (@ARGV < 1) {
print STDERR "Usage: hercsub socket_spec [job]\n";
exit 2;
}
my $spec = shift @ARGV;
my $sock;
if ($spec =~ m{^/}) {
$sock = IO::Socket::UNIX->new(Peer => $spec);
} else {
$sock = IO::Socket::INET->new(PeerAddr => $spec);
}
die "Failed to connect to socket $spec: $!\n" unless defined($sock);
while (<>) {
print $sock $_;
}
このスクリプトは、引数で指定した「ホスト名:ポート番号」にjclを投入するスクリプトです。netcatがウィルスとしてあつかわれてしまうため、代わりにこのスクリプトで対応します。
Herculesエミュレータ画面で、「devinit 01c jcl/LOAD ebcdic」と入力し、「Enter」キーを入力します。
Command ==> devinit 01c jcl/LOAD ebcdic
CPU0000 PSW=070E000000000000 24..W..... instcount=2,162,763,124
コマンド末尾の「ebcdic」は、「LOAD」ファイルの内容をMVSに渡す前に文字コード変換しないことをHerculesエミュレータに伝えています。
完了コード確認画面に切り替えて、「./hercsub localhost:3505 review1.jcl」と入力し、「Enter」キーを入力します。
このジョブは、Reviewツールのためのロード・モジュールを「SYS2.CMDLIB」データセットに格納します。
$ pwd
/home/hercules/mvs/jcl
./hercsub localhost:3505 review1.jcl
Herculesエミュレータ画面に切り替えて、「devinit 01c jcl/HELP ebcdic」と入力し、「Enter」キーを入力します。
Command ==> devinit 01c jcl/HELP ebcdic
CPU0000 PSW=070E000000000000 24..W..... instcount=2,181,528,622
完了コード確認画面に切り替えて、「./hercsub localhost:3505 review2.jcl」と入力し、「Enter」キーを入力します。
このジョブは、REVIEWツールのヘルプを「SYS2.HELP」データセットに格納します。
$ pwd
/home/hercules/mvs/jcl
./hercsub localhost:3505 review2.jcl
TSOユーザ画面に切り替えてQUEUEツールを起動して、ジョブの状態を確認します。
TSOコマンドプロンプトに「q status review
」と入力し、「Enter」キーを入力します。
READY
q status review
すると、次のような画面になります。
QUEUE COMMAND - STATUS REVIEW
QUEUE POSITION JOBNAME JOB# PRIORITY LINES EXECUTING
. HELD OUT 26 REVIEW1 8 1
. HELD OUT 27 REVIEW2 9 1
REPLY -
4A 024/009
「Tab」キーを押して、ジョブ名=REVIEW1の行に「S」を入力して、「Enter」キーを入力します。
QUEUE COMMAND - ST REVIEW
QUEUE POSITION JOBNAME JOB# PRIORITY LINES EXECUTING
S HELD OUT 26 REVIEW1 8 1
. HELD OUT 27 REVIEW2 9 1
すると、次のような画面になります。
QUEUE COMMAND - JL 8
JOB 8 , DSID 2 , REC # 1, END OF DATA. LAST REC # 11
J E S 2 J O B L O G
05.26.38 JOB 8 IEF677I WARNING MESSAGE(S) FOR JOB REVIEW1 ISSUED
05.26.38 JOB 8 $HASP373 REVIEW1 STARTED - INIT 3 - CLASS S - SYS HMVS
05.26.38 JOB 8 IEF403I REVIEW1 - STARTED - TIME=05.26.38
05.26.38 JOB 8 IEF236I ALLOC. FOR REVIEW1 RECV370 RECV01
05.26.38 JOB 8 IEF237I 01C ALLOCATED TO XMITIN
05.26.43 JOB 8 CCI001C RECV370 /RECV370 /00:00:01.19/ /00000/SYS
05.26.43 JOB 8 CCI001C COPY01 /IEBCOPY /00:00:00.11/ /00000/SYS
05.26.43 JOB 8 IEF404I REVIEW1 - ENDED - TIME=05.26.43
05.26.43 JOB 8 $HASP395 REVIEW1 ENDED
REPLY - PF3=ST
4A 024/009
「F3」キーを入力します。
ジョブ名=REVIEW2の行に「S」を入力して、「Enter」キーを入力します。
QUEUE COMMAND - ST REVIEW
QUEUE POSITION JOBNAME JOB# PRIORITY LINES EXECUTING
. HELD OUT 26 REVIEW1 8 1
S HELD OUT 27 REVIEW2 9 1
すると、次のような画面になります。
QUEUE COMMAND - JL 9
JOB 9 , DSID 2 , REC # 1, END OF DATA. LAST REC # 11
J E S 2 J O B L O G
05.28.07 JOB 9 IEF677I WARNING MESSAGE(S) FOR JOB REVIEW2 ISSUED
05.28.07 JOB 9 $HASP373 REVIEW2 STARTED - INIT 3 - CLASS S - SYS HMVS
05.28.07 JOB 9 IEF403I REVIEW2 - STARTED - TIME=05.28.07
05.28.07 JOB 9 IEF236I ALLOC. FOR REVIEW2 RECV370 RECV01
05.28.07 JOB 9 IEF237I 01C ALLOCATED TO XMITIN
05.28.18 JOB 9 CCI001C RECV370 /RECV370 /00:00:02.74/ /00000/SYS
05.28.19 JOB 9 CCI001C COPY01 /IEBCOPY /00:00:00.15/ /00000/SYS
05.28.19 JOB 9 IEF404I REVIEW2 - ENDED - TIME=05.28.19
05.28.19 JOB 9 $HASP395 REVIEW2 ENDED
REPLY - PF3=ST
4A 024/009
両方のジョブの完了コードの期待値は「0000」です。
「F3」キーを押して、TSOコマンドプロンプトに戻ります。
そこで、「HELP REVIEW」と入力し、「Enter」キー入力します。
READY
HELP REVIEW
すると、次のようなヘルプ画面が表示されます。
HELP REVIEW
Function -
The REVIEW command allows a data set or UNIX entity to be examined at
a 3270 TSO terminal in full screen mode. Both disk and tape files
may be REVIEWed. If a PDS without a member is specified then a
member selection list is displayed. Load module members with a
residence mode of ANY are shown in high intensity or green in the
member list. SCLM-managed members are flagged with an equals ('=')
sign in the member list. When looking at file data, a 'K' may be
shown in the "ruler" heading line to denote the first and last, or
only, column(s) of record keys. On color terminals the portion of
the "ruler" line corresponding to record keys is shown in red. If
the record format indicates printer carriage control characters then
an 'A' or an 'M' as appropriate may be shown in column 1 of the
"ruler" heading line.
REVIEW can format records according to Assembler data structure
source code supplied by the user. REVIEW can also format system
related data such as SMF records, EREP data, VTOC entries, tape
labels and load module structure and identification data. REVIEW
can format the directories of ZIP files created by PKZIP, Info-ZIP,
***
「Enter」キーを押すと、次ページ送りされます。「PgDn」キーを押すと、TSOコマンドプロンプトに戻ります(PgDnキーに3270キーボードのPA1を割り当てている前提)。
TSOコマンドプロンプトで、「RFE」と入力し、「Enter」キー入力します。
READY
RFE
すると、次のような画面になります。これは、「REVIEWツール」にユーザインターフェース画面をつけたものです。
----------------------------- REVIEW FRONT END ------------------------------
COMMAND ===>
1 BROWSE - VIEW OR BROWSE DATA SET CONTENTS USERID - HMVS01
SYSTEM - HMVS
2 EDIT - UPDATE OR CREATE DATA SET CONTENTS TERMINAL - CUU400
NETWORK -
3 UTILITIES - PERFORM UTILITY FUNCTIONS RELEASE - 45.3
DAY - SAT 170
6 COMMAND - ISSUE TSO OR CLIST COMMAND DATE - 2016-06-18
TIME - 05:58
X EXIT - TERMINATE RFE
3812K FREE
4A 002/015
TSOコマンドDATEのインストール
次のコマンド完了コード確認画面で入力します。
「./hercsub localhost:3505 date.jcl」と入力し、「Enter」キーを入力します。
$ pwd
/home/hercules/mvs/jcl
$ ./hercsub localhost:3505 date.jcl
TSOユーザ画面に切り替えて、TSOコマンドプロンプトで、「DATE」と入力し、「Enter」キーを入力します。
すると、次のようなメッセージが表示されます。
READY
DATE
DATE = SATURDAY, JUNE 18, 2016 (2016/170)
TIME = 06.03.18
READY
RPFを起動してみる
TSOコマンドプロンプトで「rpf」と入力し、「Enter」キーを入力します。
READY
rpf
すると、次のような画面が表示されます。
------------------------------ RPF MAIN MENU -------------(C)-1979-2006 Skybird
Option ===>
USERID - HMVS01
0 Defaults - Alter / Display session defaults Time - 06:13:41
1 View - Display source data or output listings System - HMVS
2 Edit - Update / Create a member or dataset TSO-proc- IKJACCNT
3 Utility - Enter UTILITY Release - V1R5M3
4 Assembler - Foreground ASSEMBLER and LINK
5 User - Execute RPF user routine
6 TSO - Execute TSO commands June 2016
7 Tutorial - Display HELP information Su Mo Tu We Th Fr Sa
8 Test - Enter TEST mode (Authorized) 1 2 3 4
9 Operator - Enter OPERATOR mode 5 6 7 8 9 10 11
X Exit - Terminate RPF 12 13 14 15 16 17 18
19 20 21 22 23 24 25
Hit PF03/15 to terminate RPF 26 27 28 29 30
| |
| RPF Version 1 Rel. 5.3 Build: 09/01/08 18.37 |
| |
| Use of RPF is free, modifications are not allowed|
| Information: email rpf@quicknet.nl |
| |
(C)-1979-2006 Skybird Systems
4A 002/015
RPFは色々便利な機能がありますが、ここであれこれ試していると長くな
るので、一旦終わります。「F3」キーを入力してRPFを終了します。
USERID=HMVS01 ,RPF START: 6:13:40,RPF END: 6:16:35
READY
TSOとVTAMのシャットダウン
まず、すべてのTSOセッションをログオフする必要があります。
TSOユーザ画面に切り替えて、
TSOコマンドプロンプトで「logoff」と入力し、「Enter」キーを入力します。
READY
logoff
すると、TSOログオンプロンプト画面に戻ります。
HH HH EEEEEEE RRRRRR CCCCC UU UU LL EEEEEEE SSSSS
HH HH EEEEEEE RRRRRRR CCCCCCC UU UU LL EEEEEEE SSSSSSS
HH HH EE RR RR CC CC UU UU LL EE SS SS
HHHHHHH EEEE RRRRRRR CC UU UU LL EEEE SSS
HHHHHHH EEEE RRRRRR CC UU UU LL EEEE SSS
HH HH EE RR RR CC CC UU UU LL EE SS SS
HH HH EEEEEEE RR RR CCCCCCC UUUUUUU LLLLLLL EEEEEEE SSSSSSS
HH HH EEEEEEE RR RR CCCCC UUUUU LLLLLLL EEEEEEE SSSSS
Welcome to MVS3.8j, running under the Hercules emulator
Logon ===>
4A 023/013
TSOをシャットダウンする為に、マスタコンソール画面に切り替え、
「p tso」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
p tso
IEE163I MODE= RD
すると、次のようなメッセージが表示されます。
00- p tso
- IKT006I TCAS ENDED
- IEF404I TSO - ENDED - TIME=06.27.08
- $HASP395 TSO ENDED
VTAMをシャットダウンする為に、
「z net,quick」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
z net,quick
IEE163I MODE= RD
すると、次のようなメッセージが表示されます。
00- z net,quick
IST097I HALT ACCEPTED
IST133I VTAM TERMINATION IN PROGRESS
IST109I NETWORK SOLICITOR IS NOW TERMINATED
IST141I NODE LCL400 NOW DORMANT
IST105I LCL400 NODE NOW INACTIVE
IST105I APPLTSO NODE NOW INACTIVE
IST412I VTAM COMMAND PROCESSING TERMINATED
IST102I VTAM IS NOW INACTIVE
- IEF404I NET - ENDED - TIME=06.30.34
- $HASP395 NET ENDED
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
JES2をシャットダウンする為に、
「$p jes2」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
$p jes2
IEE163I MODE= RD
しばらくすると、JES2終了メッセージが表示されます。
- $HASP085 JES2 TERMINATION COMPLETE
- IEF404I JES2 - ENDED - TIME=06.33.55
続けて、「z eod」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
z eod
IEE163I MODE= RD
しばらくすると、DMPレコードを書き込みが成功したメッセージが表示されます。
00- z eod
*IEE362A SMF ENTER DUMP FOR SYS1.MANX ON MVSRES
IEE360I SMF NOW RECORDING ON SYS1.MANY ON MVSRES TIME=06.37.09
IEE334I HALT EOD SUCCESSFUL
Herculesエミュレータ画面に切り替えてみます。
Command ==>
CPU0000 PSW=070E000000000000 24..W..... instcount=168,911,166
カウントが続いています。完全に停止させます。
マスタコンソール画面に切り替え、「quiesce」と入力し、「Enter」キーを入力します。
IEE152I ENTER CANCEL D C,K
quiesce
IEE163I MODE= RD
すると、次のメッセージが表示されます。
IEE123A PRESS CANCEL KEY TO RESTORE NORMAL DISPLAY
IEE082I SYSTEM WAIT STATE 'CCC'X - QUIESCE FUNCTION PERFORMED
Herculesエミュレータ画面に切り替えます。カウントが止まっています。
HHCCP011I CPU0000: Disabled wait state
PSW=000A0000 00000CCC
Command ==>
CPU0000 PSW=000A000000000CCC 24M.W..... instcount=170,235,866
Herculesエミュレータのコマンドプロンプトに「quit」と入力し、「Enter」キーを入力します。
Command ==> quit
CPU0000 PSW=000A000000000CCC 24M.W..... instcount=170,235,866
すると、次のような画面になり、ついに終了です。
HHCHD909I Shutdown sequence complete
HHCIN904I All termination routines complete
HHCIN909I Hercules shutdown complete
HHCIN099I Hercules terminated
HHCHD900I Begin shutdown sequence
HHCHD909I Shutdown sequence complete
$
Hercules設定ファイル(mvs.cnf)の追加DASDボリュームコメント解除
次のdiffコマンドのように追加DASDボリュームのコメントを解除します。
$ pwd
/home/hercules/mvs
$ diff conf/mvs.cnf.org conf/mvs.cnf
37c37,38
< 0100.4 3420 *
---
> #0100.4 3420 *
> 0100 3420 *
39c40,41
< 0310.4 3420 *
---
> #0310.4 3420 *
> 0310 3420 *
46c48
< #0180 3380 dasd/pub000.3380
---
> 0180 3380 dasd/pub000.3380
48c50
< #0190 3390 dasd/pub001.3390 cu=3880
---
> 0190 3390 dasd/pub001.3390 cu=3880
50,55c52,57
< #0220 2314 dasd/sortw1.2314
< #0221 2314 dasd/sortw2.2314
< #0222 2314 dasd/sortw3.2314
< #0223 2314 dasd/sortw4.2314
< #0224 2314 dasd/sortw5.2314
< #0225 2314 dasd/sortw6.2314
---
> 0220 2314 dasd/sortw1.2314
> 0221 2314 dasd/sortw2.2314
> 0222 2314 dasd/sortw3.2314
> 0223 2314 dasd/sortw4.2314
> 0224 2314 dasd/sortw5.2314
> 0225 2314 dasd/sortw6.2314
60c62
< #0253 3350 dasd/syscpk.3350
---
> 0253 3350 dasd/syscpk.3350
62c64
< 0010 3270 console # master console
---
> 0010 3270 # console # master console
66c68,71
< 0400.8 3270 tso
---
> #0400.8 3270 tso
> 0400 3270 # tso
> 0401 3270 # tso
> 0402 3270 # tso
コメント解除する追加DASDボリューム(180、190、220、221、222、223、224、225、253)。
スナップショットの取得
$ pwd
/home/hercules
$ tar cvfj mvs.04.tar.bz2 ./mvs