TSOコマンドの発行
CLISTの使い方の基本はTSOコマンドの記述です。複数のTSOコマンドを組み合わせた処理を行ったり、同じコマンドをパラメーターを変えて何度も繰り返したり、といった場合にコマンドを手入力する代わりにCLIST内に記述して自動実行させることができます。CLISTはMVSでの呼び方ですが、MSPとVOS3ではコマンドプロシージャーと呼んでおり、TSOコマンドの発行手順を記述するスクリプトであることを示しています。
1 2 3 |
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 LISTCAT ALL ALLOC DD(INFILE) REUSE DA('MY.TESTDATA') SHR |
通常はTSOコマンドをそのまま書きます。コマンドからの応答メッセージはCLISTを実行した端末に表示されます。CONTROLステートメントによってコマンドとメッセージの制御を行うこともできます。
1 2 3 4 5 6 |
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 CONTROL CONLIST → 記述したCLISTステートメントを実行時に端末にエコーする CONTROL LIST → CLIST中に記述したTSOコマンドを実行時に端末にエコーする CONTROL NOMSG → TSOコマンドからのエラーメッセージなどを表示しない CONTROL LIST NOMSG → (複数のパラメーターを同時に指定することもできる) ALLOC DD(INFILE) REUSE DA('MY.TESTDATA') SHR |
LISTCATなど一部のコマンドの実行結果はCONTROL NOMSGを指定しても非表示にすることはできません。その場合は、&SYSOUTTRAP変数を使用することで代替できます。
1 2 3 |
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 SET &SYSOUTTRAP=1 → NOMSGで抑止できないコマンド・メッセージを端末に表示しない LISTCAT ALL |
本来&SYSOUTTRAP変数はコマンドからの出力メッセージを変数として取り込み、後でCLIST内でその文字列の参照や探索などを行うために利用します。&SYSOUTTRAP変数によるメッセージテキストの取り込み処理は記事を改めて解説します。