スプール・ファイルをテキスト形式で取得したい (PCOMM)
Question
当社環境では、IBM Personal Communications(パーソナル・コミュニケーションズ 以下PCOMM)を使用してIBM i (AS/400)への接続を行っています。
この度、とあるツールのエラーによりシステムログを取得する必要が出てきたのですが、開発元の会社より、テキストデータでログを取得してほしい旨の連絡を受けました。
調べてみると他のエミュレータですとテキスト化できるようなのですが、PCOMMを使用して、スプール・ファイルをテキストにする方法はございますか。
Answer
お使いのエミュレータがPCOMMという事ですので、スプール・ファイルを直接テキスト化することは出来ないのですが、以下のようなやり方であれば、テキストとして取得することが可能になります。
- スプール・ファイルを物理ファイルにコピーする
- 物理ファイルの内容を、PCOMMのデータ転送機能で取得する
以下に、それぞれの操作方法をご案内いたします。(すでにOUTQに存在するスプール・ファイルを対象としています)
スプール・ファイルを物理ファイルにコピーする
テキストにする予定のスプール・ファイルの情報を確認する
WRKOUTQ OUTQ(スプールが入っているOUTQ名) を実行します。「出力待ち行列処理」画面にて「F11」を押します。以下の情報を控えておいてください。
- ファイル名
- ファイルNO
- ジョブ名
- ユーザー名
- 番号
- 空の物理ファイルを用意する
例: CRTPF FILE(QGPL/LOGFILE) RCDLEN(132) IGCDTA(*YES) TEXT('LOG FILE')
※ スプール・ファイルに合わせた桁数を指定します。桁数が足りないとデータが欠落します。
スプール・ファイルを物理ファイルにコピーする
CPYSPLF を入力し「F4」を押します。事前に控えた情報を、各パラメータに入力します。(「TOデータベース・ファイル」は、事前に作成した物理ファイル名「LOGFILE」を指定します)
※ 複数のスプールをコピーする際は、「MBROPT(*ADD)」の指定を忘れないようにしてください。- 内容が物理ファイルにコピーされていることを確認する
RUNQRY *N QGPL/LOGFILE
物理ファイルの内容を、PCOMMのデータ転送機能で取得する
PCOMMのデータ転送機能を起動する
エミュレータ画面上にありますメニューバーより、「アクション」→「ホストからファイルを受信」を選択します。
取得したいファイル名を指定し実行する
転送元の「ライブラリー/ファイル(メンバー)」に対象の物理ファイルを指定、転送先の出力ファイル名などを指定します。
必要に応じて「拡張」ボタンを押し、PCファイル・タイプを指定してください。 転送されたファイルの内容を確認する
指定したフォルダにファイルが作成されていますので、内容に問題がないか確認をしてください。
(転送されたファイルと一緒に作成された「.FDF」のファイルは、ファイル定義ファイルとなり、ファイルのレイアウト情報が入っています。こちらは不要であれば削除してか05:00:00まいません)
操作になれていないと、初めは少し手間に感じるかもしれませんが、行っている事自体は難しいものではありませんので、一時的にテキストデータが欲しいという事であれば、この方法で良いかと思います。
もし、IBM i Access Client Solutions(ACS)を使用することが出来るのであれば、ACSの機能を使用したスプール・ファイルのテキスト化のほうが簡単です。
ACSでの方法も当サイトにて案内していますので、参考にしてみてください。
ACSでスプール・ファイルをテキスト化する方法(「プリンター出力」による出力)
https://www.e-bellnet.com/category/technology/1604/1604-212.html
by かんぴょう木綿さん