2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM i のユーザーやプリンター(OUTQ)毎に印刷出力したページ数を把握したい

Last updated at Posted at 2024-01-31

本日のお題です。

IBM i のスプール出力した枚数をカウントしたい

Q.
・プリンター(OUTQ)、ユーザーID、日別に印刷枚数(ページ数)を把握したい。
・現状の設定(運用)では、IBM iからの帳票印刷はWindowsサーバを経由しており、IBM i 上のスプールはWindowsサーバーへ送信されると同時にIBM iから消去されている。(スプールの属性が SAVE(*NO)になっている)

対応案1. スプール属性をSAVE(*YES)に変更可能な場合

この場合、IBM i 上に印刷後もスプールが残存しますので、その情報を何らかの方法で集計すればよい事になります。当然ですがスプールの削除も定期的に実施する必要があります。

スプールのページ数やユーザー数など明細情報を取得する方法 その1

こちらの記事で紹介した IBM i サービス SYSTOOLS.DELETE_OLD_SPOOLED_FILES プロシージャーを使用すれば様々な条件で、SQL一発でスプールの出力情報を取得できます。
SQLでPREVIEW(*YES)にすればスプールを削除せずに何度も検索ができます。
検索結果をDB化する、ユーザーへ返答するアプリ画面に組み込む等できると思います。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f313031313339342f39646562333837312d356563332d366430312d373132642d3665646239366362663964322.png

この方法の場合、SQLのPREVIEW(*NO)を指定すれば削除もできますので、シンプルだと思います。

スプールのページ数やユーザー数など明細情報を取得する方法 その2 SPOOLED_FILE_INFO 表関数

IBM i サービスの一つとしてSPOOLED_FILE_INFO 表関数というのもあります。

このSQLでも上記と同様に個々のスプールファイルのページ数、その他属性を取得できます。

対応案2. スプール属性をSAVE(*NO)のままにしたい

この場合は、IBM i OSの監査ジャーナル機能でスプール関連のユーザー操作を監査ジャーナルとして出力できます。

参考:SF (スプール・ファイルに対する処置) ジャーナル項目
https://www.ibm.com/docs/ja/i/7.3?topic=entries-sf-action-spooled-file-journal

下図のようなユーザー操作を監査履歴として取得できます。
image.png

監査ジャーナルを使う場合の考慮点

・スプールファイルの属性 SAVE(*YES)への変更は不要です。
・監査ジャーナルをかけた場合、一般にはシステム負荷が追加になりますので、システムパフォーマンスに影響ないかの検証が必要です。
・監査ジャーナルが生成される分のストレージ消費量の検証(検討)も必要と思われます。

監査ジャーナルの確認のしかた

次の記事 で監査ジャーナルの設定の仕方、監査レコードの検索の仕方などを説明しています。

2
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?