2013.07.22
 

メンバーサイズの注意点

Question

RPGプログラムで物理ファイルを読み込み、違う物理ファイルに書き出しを行う処理したいのですが、13001件目でエラーとなり、処理が進みません。QSYSOPRにもメッセージが出ています。

Answer

物理ファイルを生成するときのコマンドデフォルトが初期レコード数10,000件、増分レコード数1,000、最大増分値3です。
その状態で生成した物理ファイルをDSPFDのファイル記述で確認するとレコード容量が13,000と確認することができます。
プログラムでレコードを追加し、レコード容量の上限に達したためにメッセージの応答が必要になったと考えられます。
作成時に指定しなく、既に生成されてしまった物理ファイルはCHGPFコマンドの物理ファイルの変更で変えることが出来ます。
*NOMAXにすればレコード数が増えてもメッセージが出て止まることはありませんが、プログラムの不具合によってデータを書き続けるような動きがあった場合にDISKを圧迫する等のデメリットもありますので注意が必要です。
ご利用になっているアプリケーションシステムにより適切なサイズを設定する、あるいは*NOMAXに設定してしまう等、ご利用のシステムに合わせて調整を行うことをお奨めします。

ページトップ

ボタン