JES2スプールに書き出されたSYSOUTデータセットは、順次編成データセットに移すことができます。これは、エクスターナル・ライター(外部書き出しプログラム)と呼ばれるプログラムの機能です。SYSOUTは、SDSFやPFD(MSPの場合)などのTSOの対話型機能によって画面表示されることが多いですが、エクスターナル・ライターを使いPSデータセットに移せば、FTPやファイル転送機能でPCなど他のコンピュータへ送ることもできます。取り出すSYSOUTの数が多ければ、エクスターナル・ライターの方が手間が掛かりません。数個程度のジョブ、SYSOUTデータセットであれば、SDSFのXDCコマンドなどの利用がお手軽でしょう。SDSFを使用したSYSOUTデータセットの取り出しについては、「SYSOUTデータセットとは」、「SDSFで表示中のSYSOUTをデータセットに取り込む」、「JOBLOGをまとめて簡単保管」などが参考にできます。
エクスターナル・ライター起動プロシージャ・サンプル
MVS用
1 2 3 |
//XWTR PROC //IEFPROC EXEC PGM=IASXWR00,PARM='PW' | PARM='PW,IEFSD094' //IEFRDER DD DISP=SHR,DSN=WORK.SYSOUT |
MSP用
1 2 3 |
//XWTR PROC //KDJPROC EXEC PGM=KDGXWR00,PARM='PW' | PARM='PW,KDGSD094' //KDJRDER DD DISP=SHR,DSN=WORK.SYSOUT |
VOS3用
1 2 3 |
//XWTR PROC //JDJPROC EXEC PGM=JDSWINIT,PARM='PW' | PARM='PW,JDSWSEP1' //JDJRDER DD DISP=SHR,DSN=WORK.SYSOUT |
出力先データセットの作成
1 2 3 |
//SYSUT2 DD DISP=(,CATLG),DSN=WORK.SYSOUT, // UNIT=SYSDA,VOL=SER=WRKVOL, // SPACE=(CYL,50),DCB=(DSORG=PS,RECFM=FBA,BLKSIZE=0,LRECL=133) |
PARMパラメーターで取り出すSYSOUTクラスを、文字Pに続き指定します。サンプルでは、Wクラスを取り出すことを指定しています。SYSOUTを格納するデータセットは、IEFRDER DDステートメントで定義します(OSにより異なるのでサンプルを参照)。
パラメーターには、セパレーター・モジュール名を指定できます。MVSでは、IBM標準提供のセパレーター・モジュールIEFSD094が利用できます。MSP、VOS3でも同じです(プログラム名はサンプル参照)。セパレーター・モジュールを使うと、ジョブの区切りでセパレーター・ページが書き出されます。
エクスターナル・ライターは、STARTコマンドで起動させなければなりません。MVSでは、マスター・スケジューラーのJCL(MSTJCLnn)に定義された、IEFJOBSデータセットに登録してもかまいません。その場合、PROCステートメントの代わりにJOBステートメントでJCLを定義しますが、起動には必ずSTARTコマンドを使用します。
エクスターナル・ライターの起動操作
1 2 3 4 5 |
S XWTR起動プロシージャ名.XWTR または S XWTR起動プロシージャ名.XWTR,,,JKL F XWTR識別名,C=W (クラスの変更) |
識別名を付けないと、IEFRDER DDステートメントに定義したデータセットの格納ボリュームの装置アドレスが識別名になります。エクスターナル・ライターは識別名で停止させますから、任意の識別名を自分で付けた方がわかりやすいでしょう。
起動時に、SYSOUTクラスを簡単に変更することが出来ます。カンマ記号3つの後に、スプールから取り出すSYSOUTクラスを指定します。例では、J、KおよびLの3つのクラスを指定しています。また、起動中にMODIFYコマンドでクラスを変更することもできます。
エクスターナル・ライターは、スプールから取り出すSYSOUTをクラスで選択します。起動後にMODIFYコマンドを使えば、DEST、FORM、ライタープログラム名、ジョブIDでの選択もできます。ただし、ジョブ名では選択できません。ジョブ名で選択するなら、TSOのOUTPUTコマンドを利用できます。
OUT jobname(jobid) PRINT('output datasetname')
ただし、SYSOUTはホールドされていて、ジョブ名はTSOユーザーIDと同じ名前で始まっていなければならない、などの制限があります。MVSであればSDSFの方が使いやすいでしょう。