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

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

互換の機能はMSPとVOS3にもあり、MVS同様にエクスターナル・ライター(MSPはエクスタナル・ライタ、VOS3は外部ライタ)と呼ばれます。プログラム名は、MSPがKDGXWR00、VOS3がJDSWINITです。

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

OSが標準で提供するエクスターナル・ライターは、スプール内のSYSOUTをすべて、またはクラスで選択して、定義された順次データセットへ書き込みます。MODIFYコマンドを使用して、DEST、FORM、ライタープログラム名、JOBIDなどで選択基準をさらに絞り込むこともできます。書き込みが終了すると、元のSYSOUTは、スプールから消去されます。つまり、エクスターナル・ライターは、SYSOUTをスプールからPSデータセットへ移動するユーティリティーです。

ユーザーが独自の機能を追加した、専用のエクスターナル・ライタープログラムを作成することもできます。MVSのサブシステム・インタフェースの機能コード1(PSO:Process SYSOUT)を、そのために利用できます。PSOインタフェースは、IASXWR00に代わる独自のエクスターナル・ライターの作成に利用されますが、他の方法もあります。それは、JCLのSYSOUTパラメーターでライタープログラム名を指定する方法です。

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

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

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