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

IBM i 上のファイルの現在のレコード件数と、設定された最大レコード件数を一覧で確認できませんか。

Question

夜間のバッチ処理でファイルに対してレコードが一杯になると、処理がMSGWで止まってしまいます。

「CPA5305 レコードは追加されなかった。」のメッセージについて
https://www.e-bellnet.com/category/technology/1807/1807-106.html

処理が止まってしまうと困りますので、事前にファイルの最大サイズと現時点のサイズを一覧で比較・確認する方法を教えていただけますでしょうか。

Answer

ファイルの最大レコード件数と、現時点のレコード件数ということでお間違いないでしょうか。

それでしたら、一例ではございますが、

DSPFD FILE(調べたい対象のLIB/*ALL) TYPE(*MBR) OUTPUT(*OUTFILE) OUTFILE(出力するLIB/出力するFILE)
を実行後、WRKQRYで、フィールドをMBFILE、MBLIB、MBNAME、MBRCDC、lMBNRCDに絞っていただくと、ご希望の内容が確認できます。

→SQLでも対象の上記フィールドを絞るように指定していただければよいでしょう。

実際に内容を確認してみましょう。

今回は、DSPFDにてデータベースに出力後、5250画面でWRKQRYを実行しレコードを抽出するパターンです。

WRKQRYでのレコード抽出は少々手間がかかります。

以下の画面よりおおよその位置を参考に選択してください。

WRKQRYにて1=作成を選択および実行後、ファイル選択指定を済ませましたら、「フィールドの選択および順序付け」を選びます。

画面遷移後1ページ目

2ページ目

フィールド一覧は、もう少しありますが、今回指定すべき箇所はこれら5つで十分でしょう。

実行キーを押して、元画面に戻りましたらF5キーにて表示してみましょう。

今回は目で見ることにフォーカスしましたが、例えばバッチ処理完了後にレコード容量と現行レコード数の差を比べて、レコード容量が残りいくつになったらメールで知らせる、といった処理を組み込んだりすると事前に検知するのに役立つかもしれません。

by . 大熊猫橋

あわせて読みたい記事

PAGE TOP