AS400のOUTQとは?WRKOUTQとWRKSPLFでスプール出力先を確認する

AS400 / IBM i で「帳票が出ない」「スプールは作られたはずなのに見つからない」と聞かれた時、最初に整理したいのが OUTQ です。OUTQは出力待ち行列のことで、スプールファイルや帳票がどの出力先に待機しているかを見るための入口になります。

AS400の印刷まわりは、ジョブ、ユーザー、ジョブ記述、プリンター装置、OUTQ、スプールファイルが絡みます。画面でスプールだけを探すなら WRKSPLFの確認手順 が基本ですが、出力先そのものを追う時は WRKOUTQ も見ると原因を絞りやすくなります。

コマンド名から調べたい場合は、先に AS400コマンド逆引き で「スプール」「帳票」「出力先」の系統を確認しておくと迷いにくいです。

AS400のWRKSPLFですべてのスプール・ファイルを処理する画面
WRKSPLFの実行例(ファイル名・ユーザー名はマスクしています)。待ち行列(PRTQ001、PRINTQ1)が分かれている点と、STS欄がすべてRDY(準備完了)である点に注目してください。帳票が出ない時は、ここでSTSとページ数を見ます。

OUTQとWRKOUTQの関係

OUTQ は出力待ち行列そのもの、WRKOUTQ はその出力待ち行列を操作・確認するためのコマンドです。現場では「どのOUTQに出たか」「そのOUTQで止まっていないか」「別のOUTQに飛んでいないか」を確認します。

見るもの確認したいこと
WRKSPLF自分のユーザーやジョブが作ったスプールファイルを探す時に使います。
WRKOUTQ特定の出力待ち行列にたまっているスプールを確認する時に使います。
JOBDバッチ投入時の出力先やジョブ属性を追う時に関係します。
ジョブログ印刷やスプール作成時のメッセージを確認する時に見ます。

出力経路を先に1本の線で書く

帳票が出ない時は、プリンターだけを見る前に、帳票作成プログラムから利用者の手元までの経路を確認します。基本の流れは「帳票作成ジョブ → スプール → OUTQ → Writerや出力サービス → プリンター・PDF・配信先」です。どこまで作成済みかを順番に見ると、再印刷やジョブ再実行を急がずに済みます。

構成止まりやすい場所最初に確認するもの
PCのプリンターセッションPC停止、セッション未起動、装置やWriter停止対象PC、セッション、装置状態、Writer
リモートOUTQWriter停止、接続先、ネットワーク、プリンター応答OUTQ、Writer、接続先、同じ経路の別帳票
PDF・IFS・帳票ツール書き出しプログラム、保存先、変換処理、配信サービススプール、出力ジョブ、作成ファイル、配信結果
メール・外部連携送信キュー、認証、相手先受信、再送制御送信結果、重複送信防止、相手側の受信確認

以前の現場では、PC上のプリンターセッションや帳票書き出しプログラムが動いておらず、スプールはあるのに帳票が出ないケースがよくありました。現在はPDF化や帳票ツール連携も増えていますが、経路の途中にあるプログラムやサービスが停止すれば同じ症状になります。最初に自社の出力方式を確認することが大切です。

利用部門へ最初に聞く5項目

  1. 帳票名と、通常出力されるプリンター・PDF・保存先
  2. 最後に正常出力できた時刻
  3. 同じプリンターの別帳票も出ないか
  4. 画面上では処理完了になっているか
  5. 再印刷やジョブ再実行をすでに行ったか

「出ない」という連絡だけで再実行すると、遅れて出力された帳票と重なり、二重印刷や二重送付になることがあります。スプール、出力状態、利用部門の操作履歴をそろえてから再開します。

帳票が出ない時の確認順

帳票が出ない時は、いきなりプリンターだけを見るより、スプールファイルが作られたか、どのOUTQに入ったか、保留状態になっていないかを順番に見る方が安全です。

  1. WRKSPLF で対象ユーザーのスプールがあるか確認する
  2. スプールのOUTQ名、ジョブ名、ユーザー、番号を確認する
  3. WRKOUTQ OUTQ(ライブラリ/OUTQ名) で出力待ち行列側を見る
  4. HLD、RDY、SAVなどの状態を確認する
  5. 必要ならジョブログで印刷・出力関連のメッセージを追う

エラーやMSGW(メッセージ待ち)が絡む場合は、スプール画面だけでは足りないことがあります。ジョブの状態やメッセージを確認する流れは ジョブログ確認手順 と MSGWの確認手順 も合わせて見てください。

OUTQが詰まっている時は、出力待ち行列そのものだけでなく、スプールの状態、ライター、プリンター装置、MSGW、権限、帳票を作ったジョブまで見ます。行列に溜まっているという見え方は同じでも、止まっている場所は毎回違います。

SBMJOBやJOBDからOUTQを追う

バッチ処理の帳票は、投入したユーザーの画面だけを見ても見つからないことがあります。SBMJOB で投入されたジョブは、ジョブ記述や投入時の指定によって出力先が変わることがあるためです。

バッチ投入、WRKSBMJOB、DSPJOBDの基本は SBMJOB・WRKSBMJOB・DSPJOBDの確認手順 で整理しています。帳票が見つからない時は、ジョブの投入条件とOUTQをセットで追うと、調査が早くなります。

昔の印刷トラブルと、今の印刷トラブルは少し違う

古い運用では、スプールは作成されているのに帳票が出ない原因として、プリンターライター、いわゆる書き出しプログラムが動いていないケースがよくありました。OUTQにスプールが溜まっている、ライターが停止している、保留状態になっている、装置記述や接続先が変わっている、といった切り分けです。

その場合は、まず「スプールが作られているか」「どのOUTQに入っているか」「ライターが起動しているか」「HLDやMSGW(メッセージ待ち)で止まっていないか」を分けて見ます。紙に出ないからといって、すぐプログラム修正や再実行に進むと、原因を見誤ることがあります。

一方で最近は、5250のプリンターセッションを使って直接帳票を出す運用は以前より減っています。PDF化、電子帳票、Windowsサーバー経由の印刷、IFS(統合ファイルシステム)への出力、FTPやCSV連携、複合機側のジョブ制御など、IBM iの外側で止まることも増えています。

  • スプール自体が作成されていないなら、ジョブやプログラム、ジョブログを確認する
  • スプールはあるが出ないなら、OUTQ、ライター、保留、MSGW、装置側を確認する
  • PDF化や電子帳票に流しているなら、IFS、権限、文字コード、転送先、Windows側の処理を確認する

つまり現在の印刷トラブルは、「プリンターが悪いか」だけでなく、「IBM i内で止まっているのか、外部連携側で止まっているのか」を最初に分けることが大事です。ジョブログ側の確認は CPFエラーをジョブログで確認する手順、連携側の確認は IFS・FTP・CSV連携トラブルの確認手順 も合わせて見ると切り分けやすくなります。

再印刷前に確認すること

帳票が出ない時にすぐ再印刷すると、二重印刷や二重送付の原因になります。まず、スプールが残っているか、すでに出力済みになっていないか、プリンター側で紙詰まりや保留になっていないかを確認します。

WRKSPLFで見るところ

WRKSPLFでは、ユーザー、印刷装置、用紙タイプ、スプール・ファイル名、ジョブ名、番号などを指定してスプールを探します。

AS400のWRKSPLF画面。スプールファイルを確認する例
WRKSPLFは、帳票、ジョブログ、コンパイルリストなどのスプールを確認する画面です。条件を指定して対象スプールを探します。

何を探す画面なのか

探すものよく見る場面確認すること
ジョブログ障害調査、MSGW対応どこで止まったか、前後のメッセージ
コンパイルリストRPG/CL修正後重大度、エラー番号、コンパイル結果
帳票単体テスト、業務確認出力されたか、内容が想定通りか
バッチ結果夜間処理、販売管理処理実行結果、エラー有無、後続影響

初心者が気をつけること

スプールがたくさんある環境では、古いスプールを見て判断してしまうことがあります。作成日時、ジョブ名、ユーザー、番号を確認し、今回の処理で出力されたものかを見ます。

障害対応でスクショを共有する時も、ジョブ名、ユーザー、番号が見える状態にしておくと、メンバー間で同じスプールを追いやすくなります。

参考:IBM公式ドキュメント(WRKOUTQ)

本記事で扱った WRKOUTQ の全パラメーターと表示項目の定義は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。