メニューボタン
サポートチーム便り2026.06.24

IBM i V7.5以降スプールファイルをCPYSPLFでPDF化する方法!

Question

IBM i (AS/400)OS標準機能でどこまで実現できるのかを検証したく、スプールファイルをCPYSPLFコマンドでPDF化する方法を試してみたいと思っています。

ネットで検索するとQCCSIDが65535か5026の場合、ジョブQCTXDMONをCCSID:5035で起動しなければいけないとの情報がありました。

IBM i (AS/400)v7.5でQCCSID:65535環境なのですがWRKACTJOBで確認してもジョブQCTXDMONが見つかりません。

何か特別な手順が必要なのでしょうか。

Answer

IBM i (AS/400)v7.5では5770-TS1でのPDF化にて仕様変更がありました。

Am I Using Transform Services (5770TS1)
https://www.ibm.com/support/pages/node/7243029

----------------------------
Both QCTXMGR and QCTXDMON jobs run under QSECOFR user profile.
NOTE: Prior releases the QCTXDMON runs under QUSER user profile.
(機械翻訳)
QCTXMGRジョブとQCTXDMONジョブはどちらもQSECOFRユーザープロファイルで実行されます。
注:以前のリリースでは、QCTXDMONはQUSERユーザープロファイルで実行されていました。
----------------------------

IBM i (AS/400)v7.4未満の環境ではジョブQCTXDMONが存在しますが、IBM i (AS/400)v7.5からはジョブQCTXDMONの実行ジョブがQUSERからQSECOFRに変わっており、内部的な起動方法が変更されています。

CPYSPLFコマンドを実行したジョブからQCTXMGRが投入され、必要に応じてジョブQCTXDMONが実行されるようになりました。

これによりIBM i (AS/400)v7.5以降の環境では、あくまでも事前開始ジョブとしてのQCTXDMONは存在しないので、ジョブQCTXDMONをCCSID:5035で起動させるための手順は不要になります。

しかし、CPYSPLFコマンドを実行したジョブの環境の影響を受けますので、CHGJOB CCSID(5035) と実行してからCPYSPLFコマンドを実行してください。

ご参考までに、IBM i v7.5以降でのスプールファイルのPDF化手順をご案内します。

ここでは、WRKACTJOB OUTPUT(*PRINT) にて出力されるスプールファイルをPDF化する手順になります。

<前提>

IBM i (AS/400)OS標準機能でスプールファイルをPDF化するには、下記2つのライセンス・プログラムが必要です。

  • IBM TRANSFORM SERVICES FOR I (5770-TS1 *BASE) (無償)
  • 変換-AFP からPDF への変換 (5770-TS1 Option1) (無償)

インストール状況は次のように確認します。

GO LICPGM
→「10.導入済みライセンス・プログラムの表示」

<手順(IBM i (AS/400)v7.5以降の場合)>

  1. 事前にシステム値を変更してください。

    ※オブジェクトが存在せずエラーになってもそのまま登録できます。
    システム値 . . . . . . : QIGCCDEFNT
    記述 . . . . . . . . . : 2バイト・コード・フォント

    コード化フォント名 . . . . . : X0M32F
    ライブラリー . . . . . . . : QFNT61

  2. システム値 QCCSID の値を確認してください。

    ※システム値のCCSIDが「65535」或は「5026」の場合ではCPFCE06が出ます。以下の順に従って別途設定が必要です。

    システム値QCCSIDの確認コマンド:

    DSPSYSVAL SYSVAL(QCCSID)

    システム値QCCSIDが「5035」以外の場合には、CHGJOB CCSID(5035)を実行してください。

    CPYSPLFコマンドを実行するジョブ環境の影響を受けるため、CPYSPLFコマンドを実行する前にジョブのCCSIDを5035へ変更します。

  3. OVRPRTFをスプールファイル名に行います。

    コマンド例:

    OVRPRTF FILE(QPDSPAJB) DEVTYPE(*AFPDS) CDEFNT(X0N16O) OVRSCOPE(*JOB)

    ※パラメーター CDEFNT(X0N16O) は5026用です。
    生データが5035の時は X0N16V を使用するようにしてください。

  4. WRKACTJOB OUTPUT(*PRINT) を実行してスプールファイルを出力します。
  5. CPYSPLFコマンドを実行しPDF化します。

    コマンド例:

    CPYSPLF FILE(QPDSPAJB) TOFILE(*TOSTMF) JOB(*)
       SPLNBR(*LAST) TOSTMF('/HOME/TSUKI/QPDSPAJB.PDF')
       WSCST(*PDF) STMFOPT(*REPLACE)

    「スプール・ファイルが/HOME/TSUKI/QPDSPAJB.PDFにコピーされました。」若しくは、「Spooled file copied to /HOME/TSUKI/QPDSPAJB.PDF.」というメッセージが表示されれば成功です。

  6. ネットワークドライブの共有を掛けることでIFS上のファイルを見ることができます。

    エクスプローラーにてIFSディレクトリーをネットワークドライブとして割り当ててから、上記手順で作成したPDFをPC上に落として確認してください。

    ACSの「統合ファイル・システム」機能でPC上にダウンロードする方法でもよいです。

    (IBM i 上で表示しても文字化けします。PC上にダウンロードしてからご確認ください)


【注意】

上記のIBM i (AS/400)OS標準機能の方法では、これから作成されるスプールファイルをPDF化することは可能ですが、既に作成されているスプールファイルのPDF化はできません。

PDF化するには、スプールファイルを作成する時に「印刷装置タイプ (DEVTYPE) 」を *AFPDS にて作成する必要があるためです。

「印刷装置タイプ:*AFPDS」にて作成されたスプールファイルはプリンターへ印刷できません。

通常、プリンターへ印刷可能なスプールファイルの用紙タイプは *STD にて作成されています。

半角カナが含まれるとずれる等の報告もあり、シングルバイトの英文字のみであれば影響も少ないと思いますが、DBCS(漢字等)やカタカナ等の考慮はされていない部分も多いようです。

実際の運用で利用できる範囲か否かを確認して、レイアウト等が気になるようであれば有償ツールの利用をご検討ください。

by . 槻樹

あわせて読みたい記事

PAGE TOP