鈴木 由臣
株式会社クレスコ・ジェイキューブ
デジタルソリューションセンター
今回のIBM i技術情報は、スプールファイルを16進数で確認する方法について紹介します。
IBM iのスプールファイルを16進数で確認したいと思ったことはありませんか?
印刷して文字化けしたり、エミュレータ画面で確認した時には表示されなかった文字が印刷されたら、私はスプールファイルの実際の文字データの16進数はいくつなのだろうと確認したくなります。
実はスプールファイルのデータは、ライブラリーQSPL内のQxxxxxNxxxという名前の物理ファイルの先頭Qで始まるメンバーに格納されています。今回は、スプールファイルがどの物理ファイル・メンバーに格納されているのかを探し出して、その物理ファイル・メンバーを16進数で確認する方法をご紹介します。
ご紹介する大まかな手順は、次の通りです。
(1)エミュレータ画面でスプールファイルを表示する。
(2)表示しているジョブがロックしている物理ファイル・メンバーを確認する。
(3)確認した物理ファイル・メンバーを16進数で確認する。
今回は、スプールファイルRPG01PをACSのエミュレータ画面で確認する例でご説明します。
(1)ACSエミュレータ画面でスプールファイルを表示する。
・WRKSPLFコマンドでスプール一覧を表示して、該当スプールのOPTに5を入力して実行キーを押下する。

・印刷データが‘ABC123’であることを確認する。

(2)表示しているジョブがロックしている物理ファイル・メンバーを確認する。
スプールを直接表示しても16進数で確認することはできません。また、スプールデータがライブラリーQSPLの具体的にどの物理ファイルに格納されているのかは、スプール属性の情報にも保持されていません。
ライブラリーQSPLの中のどの物理ファイルにスプールデータが格納されているのかを知るために、次の手順を実行します。
・スプールを表示している状態でACSエミュレータ画面を右クリックする。
パッド画面が表示されたら「システム要求」を選択する。

・実行キーを押下して「システム要求」のメニュー画面を表示する。

・「システム要求」のメニュー画面で「3. 現行ジョブの表示」を選択する。

・「ジョブの表示」画面で「12.ロックの表示」を選択する。

・「ジョブロックの表示」の画面でライブラリーQSPLを探し出す。
ライブラリーQSPLのオブジェクトQxxxxxNxxxのOPTに5を入力して、実行キーを押下する。

・「ジョブ・メンバー・ロックの表示」画面で、次の3項目を確認(メモ)する。
・ライブラリー:QSPL
・ファイル :Q04079N003
・メンバー :Q234430140

・3項目を確認したら、F3(=終了)キーを3回押下してコマンド入力画面まで戻る。
(3)確認した物理ファイル・メンバーを16進数で確認する。
(A)DSPPFMコマンドで確認する方法
・確認した物理ファイルとメンバーをDSPPFMコマンドのパラメータに指定する。
DSPPFM FILE(QSPL/Q04079N003) MBR(Q234430140)

・「物理ファイル・メンバー表示」の画面でF10(16進表示)を押下後に、F11(上下に表示)を押下する。
印刷データ‘ABC123’が16進数では‘C1C2C3F1F2F3’であることが確認できます。

(B)CPYFコマンドで確認する方法
・確認した物理ファイルとメンバーをCPYFコマンドのパラメータに指定する。
CPYF FROMFILE(QSPL/Q04079N003) TOFILE(*PRINT) FROMMBR(Q234430140) OUTFMT(*HEX)

・出力されるスプールファイルQSYSPRTを表示する(WRKJOBコマンド > 4 を実行)。

・印刷データ‘ABC123’が16進数では‘C1C2C3F1F2F3’であることが確認できる。
