IASXWR00(XWTR)

By 神居 - Posted: 2009/10/28 Last updated: 2009/10/28 - Leave a Comment

IASXWR00:XWTR(External Writer),外部書きだしプログラム

IASXWR00はMVS(z/OS)におけるXWTR(外部書きだし)プログラムの名前です。XWTRはJESスプール内のSYSOUTデータセットを、スプールの外のデータセットに書き出す機能を提供します。SYSOUTを、JESがサポートする出力デバイス(プリンターやネットワーク転送(NJE、RJE)など)以外で処理するために使用されます。
互換の機能はMSPとVOS3にもあり、やはりXWTRと呼ばれます。プログラム名は、MSPがKDGXWR00、VOS3がJDSWINITとなります。

今日では、MVSにはSDSF(MSPではPFD3.8、VOS3ではSOEDITなど)があり、XWTRを起動しなくても、任意のSYSOUTを簡単にPSやPDSデータセットにコピーできます。そのためXWTRの利用頻度は以前に比べて少なくなっています。それでもXWTRは、特定のSYSOUTクラスの業務帳票やデータなどを、スプールから自動的に取り出すことができるので、運用の現場では今でも現役で使われている例も少なくありません。

OSが標準で提供するXWTRは、スプール内のSYSOUTをすべて、またはクラスで選択して、定義された順次データセットへ書き込みます。MODIFYコマンドを使用して、DEST、FORM、ライタープログラム名、JOBIDなどで選択基準をさらに絞り込むこともできます。書き込みが終了すると、元のSYSOUTはスプールから消去されます。つまりXWTRはSYSOUTを、スプールからPSデータセットへ移動するユーティリティーです。
ユーザーが独自の機能を追加した、専用のXWTRプログラムを作成することもできます。MVSのサブシステム・インタフェースの機能コード1(PSO:Process SYSOUT)を、そのために利用できます。PSOインタフェースはIASXWR00に代わる独自のXWTRの作成に利用されますが、他の方法もあります。それはJCLのSYSOUTパラメーターでライタープログラム名を指定する方法です。

//SYSPRINT DD SYSOUT=(J,USRWTR01)

SYSOUTパラメーターをこのように指定すると、Jクラスに対応したXWTRを起動すれば、XWTR(IASXWR00)は指定されたプログラム(USRWTR01)を呼び出します。呼び出されたユーザーライター・プログラムは、スプール内SYSOUTをアクセスするためのDCBをオープンし、レコードを読み取り、XWTRに定義された出力データセットに書き込みを行います。書き込んだら次のレコードを読み取り、入力SYSOUTがEODになるまで、このサイクルを繰り返します。入力となるSYSOUTと出力データセットのDCBはパラメーターで通知されます。このルーチンを使えば、SYSOUTデータセットを単純にコピーするのではなく、必要なレコードを選択したり、新しいレコードを追加したり、業務に必要なさまざまな加工をすることができます。

XWTRの起動プロシージャーのサンプルは、こちらの「SYSOUTデータセットの取り出し(XWTR)」の記事を参照して下さい。

関連マニュアル

MVS → 「z/OS JES2 初期設定およびチューニングガイド」
MSP → 「OSIV/MSPシステムプログラミング手引書 ジョブ管理編」
VOS3 → 「ジョブ管理解説」

Posted in キーワードから(何が知りたいですか) • • Top Of Page