UNIX系で、COBOLアプリケーションで扱うファイルのサイズの上限を教えてください。

UNIX系で、COBOLアプリケーションで扱うファイルのサイズの上限を教えてください。
ファイルの種別により上限値が異なります。
レコード順ファイル、行順ファイルおよび相対ファイルの上限は1GBです。索引ファイルの上限は1.7GBです。
なお、レコード順ファイルと行順ファイルについては、BSAM指定(ビーサム指定)をすることで、上限を2GBに拡張できます。
また、Solaris 2.6以降ではOSがラージファイルに対応していますので、大容量ファイルアクセス指定(LFS指定)をすることで、すべてのCOBOLファイルで、システムの上限1TBまで拡張できます。
COBOLファイルの種別 通常の上限値 大容量ファイルアクセス
指定の上限値
レコード順ファイル BSAM指定なし 1GB システムの上限
BSAM指定あり 2GB システムの上限
行順ファイル BSAM指定なし 1GB システムの上限
BSAM指定あり 2GB システムの上限
相対ファイル 1GB システムの上限
索引ファイル 1.7GB システムの上限

1GBを超える入力ファイルの読み込みを行う場合、LFSの指定をしなくてもデータの読み込みが成功する場合がありますが、動作は保証されません。
なお、ファイルのサイズが2GBを超えるとき、LFS指定をしていない場合には、OPEN文実行時にエラー(注)となります。

(注)
JMP0310I-I/U 'ERFLD=xxxx'が出力されます。
'ERFLD=xxxx'はシステムのerrnoを16進表記で示しています。

OS システムのerrno
Solaris 79 (=0x4F)
Linux 75 (=0x4B)
通常の上限値を超えるファイルを扱う際は、入力・出力いずれの場合も大容量アクセス指定(LFS指定)をしてください。

【参考】
システムの上限値は、以下のとおりです。
Solaris : 1TB、 Linux x86 : 4TB
製品・サービス情報
対象製品NetCOBOL
プラットフォームSolaris, Linux x86
アンサー種別 技術サポート
このページの先頭へ