学習編(CLIST)

CLISTとは

CLISTは、一連のTSOコマンドを連続して実行するためのスクリプト言語です。
MSPとVOS3では、コマンドプロシージャと呼ばれます。
CLIST入門(1) » 「メインフレーム・コンピュータ」で遊ぼう

代替CLISTライブラリー

代替のCLISTライブラリーをコマンドで追加出来る。そうすることでデータセット下のCLISTを直接6のコマンドから実行が可能。

ALTLIB ACTIVATE APPLICATION(CLIST) DATASET('XXXXX.CLIST')

追加されたCLISTライブラリー

LISTALCで確認できる。イメージとしては、パスに追加されたようなイメージ。
MTMでのSCOREP1,SCOREP2などは、VENDOR.CLIST配下のCLISTのSCOREP1,SCOREP2が実行されている。

実践編(04.バックグラウンドでのプログラム実行(z/OS Batch))

背景

50年前、プログラムを変更する必要なく異なる入力と出力を使用してプログラムを実行する非常にかしこいメカニズムが発明されました。
そのメカニズムのことをJob Control Langugage とか略してJCLと呼びます。
JCLの最も重要な機能がJobの実行を操作することです。JCLはプログラム言語ではありますが、アプリケーションプログラミングを目的としていません。
その代わりに、JCLはプログラムの実行をstackやqueueしたり、また入力と出力をそれぞれのプログラムと紐付けることに使用されています。
多くのプログラムは、準備され、等間隔にスケジュールされ順番に実行されます。この一覧の処理は"batch"処理と呼ばれています。

実践

エディターを使用してJCLを確認して実行してみましょう。このJCLはバックグランドでJOBを実行するので、我々は作業を続けることが出来ます。
ジョブが完了するとz/OSが知らせてくれます。この一連の流れを"background processing"と読んでいます。

Useful Tip

ISPFパネルのオプションナンバーは前に=をつけることで、ISPFプリマリーオプションメニュー上で実行されたように振る舞います。
=3.4と他のパネルで実行すると、現在のISPFパネルから直接3.4のDslist Utility panelに移動します。

CC####.JCLを編集し、PDS directoryプライマリーコマンドラインでSELECT NEW JCLと実行して下さい。
NEWJCLはまだ存在していないので、SELECTコマンドの実行結果は、NEWJCLという名前の空のメンバが作成されます。
エディターは新しいメンバを開きブランクの入力行を表示します。
・プライマリーコマンドライン上で、COPY 'ZOS.PUBLIC.JCL(MYJOB)'を実行して下さい。
・プライマリーコマンドライン上で、SUBMITと実行して下さい。
・F3を入力して、保存して抜けて下さい。
上記ステップの結果は、ZOS.PUBLIC.JCLのMYJOBメンバをNEWJCLにコピーし、そのJCLを実行した結果です。
JCLの実行が正常終了すると、P2.OUTPUT(#04) が作成されます。

使用JCL

000001 //MYJOB   JOB 1                                                         
000002 //S1      EXEC PGM=SORT                                                 
000003 //SYSOUT  DD   SYSOUT=*                                                 
000004 //SORTIN  DD   *                                                        
000005   Part 2 Challenge #04 is complete &SYSDATE                             
000006 //SORTOUT DD   DSN=&SYSUID..P2.OUTPUT(#04),DISP=SHR                     
000007 //SYSIN   DD   *                                                        
000008   OPTION COPY                                                           
000009 /*                                                                      

tips(データセット、メンバの検索方法)

データセット関連

データセットの検索方法

プライマリコマンド上で、FIND キーワードで検索

データセットの文字列検索方法

メンバ関連

メンバの検索方法

プリマリコマンド上でMEMBER キーワードで検索

tips(メンバのコピー方法)

よく忘れるわりによく使うので・・・

FROM:他のメンバ⇒TO:自分のメンバへのコピー

①コピー先(自分のメンバ)を作成する。
f:id:kenta_everyday:20170430012756p:plain
②作成したメンバを開き、他のメンバから自分のメンバへコピーする
f:id:kenta_everyday:20170430013402p:plain

FROM:自分のメンバ⇒TO:他のメンバへのコピー

他のメンバが事前にある必要はあい
①自分のメンバの情報をC999などラインコマンドで取得
f:id:kenta_everyday:20170430011945p:plain
②自分のメンバ上でREPLACE 他のメンバ名などとして他のメンバへコピー
f:id:kenta_everyday:20170430012031p:plain

JCLを使用する方法もあるはず

実践編(02.ISPFエディター中級)

説明

ISPFはz/OSプログラマーやオペレータに利用されているパネルドリブンインターフェースです。
ISPFの編集機能は多くの機能がありますが、初心者が利用するには難しいです。
テキスト編集は重要なので、ISPFの編集の練習にチェレンジしましょう。

ソースコードの編集、データの変更、ドキュメントの生成などテキストを効率的に入力する必要がある機会が訪れるでしょう。

注)エディターは2種類のタイプのコマンドがあります。

プライマリーコマンドは、プライマリーコマンドフィールドで入力し、ラインコマンドは左の列それぞれのラインで入力します。

複数のコマンドを一度にタイプでき、入力出、プライマリコマンドとラインコマンドの入力実行結果は同時に出力されます。
注)入力と実行をこのチャレンジでは明確に区別しています。「タイプ」は、キーを打つことを意味しており、Enterの入力をともないません。「enter」は、コマンドを入力したあとEnterを入力することを意味しています。

チャレンジ

このチェレンジの成功は、P2.OUTPUTに#02を作成します。
CC####.SEQデータセットを編集するためEコマンドを入力して以下のインストラクションに従ってチェレンジを完成させて下さい。
注)データセットを開いた際に、"Edit Entry"パネルが表示されますが、Enterを押してISPFエディットセッションパネルを進めて下さい。

実践

左上のEDITは、データセットがEDIT MODEで開かれていることを示しています。
f:id:kenta_everyday:20170429230542p:plain