ファイル処理の制限

次の制限は、ファイル処理に影響します。

COBOL コンパイラに関連する制限を超えることはできません。ただし、実行時に、オペレーティングシステムやハードウェアが COBOL ランタイムシステムの操作に影響を与える場合は、コンパイラの制限よりも緩やかな制限が課せられます。さらに、オペレーティングシステムまたはハードウェア環境の特定の構成では、コンパイラとランタイムシステムの両方の制限よりも緩やかな制限が課せられる場合があります。

COBOL コンパイラ制限

ランタイム制限とオペレーティングシステム制限は、COBOL コンパイラの制限よりも低い場合があります。

索引キー制限

各ファイル (分割キー構成要素を含む) 255 キー
分割キーを含む、1 つのキーの長さ 1016 バイト (512 以下で最適なパフォーマンス)
分割キーの構成要素数 62
副キーの数 252

SORT および MERGE 操作制限

USING または GIVING ファイルの数
    (デフォルトモジュールを使用)

128
    (呼び出し可能ソートモジュールを使用) 255

ランタイム制限

ランタイム制限は、COBOL コンパイラで課せられる制限よりも低い場合があります。

ファイルの同時オープン

アプリケーションがオープンしているすべてのファイルは、少なくとも 1 つのファイルハンドルを保有しています。このファイルハンドルは、ファイルがオープンされた時、そのファイルに割り当てられる識別子です。Unix オペレーティングシステムでは、これらのファイルハンドルはファイル記述子と呼ばれます。

標準入力、標準出力および標準エラーファイルを除いて同時にオープンできるファイルの最大数は、使用している UNIX システムの構成に依存します。使用しているシステムの構成についての詳細は『リリースノート』を参照してください。ファイルのオープンモードも、同時にオープンできるファイルの最大数に影響を及ぼします。INPUT 用にオープンされるファイル数の上限は、UNIX システムで構成されているプロセスごとにファイル最大数までとなります。EXCLUSIVE アクセス用ファイル (たとえば OUTPUT 用にオープンされるファイル) ではファイルのロックが必要であるため、ファイル数の上限は UNIX システムで構成されているプロセスごとにファイルロックの最大数までとなります。これらの 2 つの上限は必ずしも同じである必要はありません。

索引付きファイルは、データファイル用に 1 つと索引ファイル用に 1 つ、合わせて 2 つのハンドルを使用します。

ランタイムシステムは、通常の操作中にいくつかのファイルハンドルを使用します。その数は、ユーザが COBOL SORT 文を使用したり、Animator を使ってプログラムを実行すると増加します。

ファイルサイズ (レコード数)

すべてのファイル編成 制限は指定できません。レコードサイズとファイルサイズにより異なります。

索引キー (数)

次の中で同じ重複キー値を含むレコード
    標準ファイル
    IDXFORMAT"4" または IDXFORMAT"8"指令を使用

65,535
4,294,967,297
分割キーの構成要素
    (Micro Focus 形式ファイルを使用)
    (C-ISAM 形式ファイルを使用)

62
8

レコードサイズ

IDXFORMAT 9 4080 バイト
すべてのファイルタイプ 62 キロバイト

注意: IDXFORMAT 9 形式は重複の無い唯一のキーを持ちます。


ソートキー

ソートキーサイズ 4096
整列キー数 64

ファイルサイズ制限

COBOL ファイルハンドラでは、ファイルサイズについていくつかの制限があります。また、UNIX プラットフォームでも 2 ギガバイトのファイルサイズ制限がある場合があります。そのため、ファイルのストライプ化を使用しなければならないことがあります。大きいファイルサイズをサポートする UNIX プラットフォームでも、デフォルトのカーネル設定では2ギガバイト制限を課している場合がよくあります。


注: アプリケーションを Windows アプリケーションシステムに移植する場合は、ファイルサイズの制限が UNIX の制限と異なることに注意してください。Windows のファイルサイズ制限については、Net Express のオンラインヘルプで確認してください。


索引ファイルサイズ制限

索引ファイルに影響を与えるファイルサイズ制限は次のとおりです。

固定レコード長ファイルの場合のデフォルトは IDXFORMAT 1 (C-ISAM) で、可変レコード長ファイルの場合のデフォルトは IDXFORMAT 3 です。別の形式のファイルを作成するには、IDXFORMAT 構成オプションまたはコンパイラ指令設定を使用します。既存のファイルを他の形式に変換するには、REBUILD ユーティリティを使用します。

IDXFORMAT 排他# 重複キー圧縮の有効にして排他 デフォルトのロックを共有
1 4 Gb 2 Gb 1 Gb
2 4 Gb 2 Gb 1 Gb
3 4GB 2GB 1 Gb
4 4GB 2GB 1 Gb
8 (デフォルト) 128TB 128TB 128TB
8* 8MTB 8MTB 4 MTb

この場合は、次のようになります。

* extfh.cfg が FILEPOINTERSIZE=8 に設定されている IDXFORMAT 8 (バイト数で指定。例えば、8 バイトは 64 ビットになります。)
# ファイルに排他的にアクセスするか、extfh.cfg を使用する、またはコンパイラ指令設定を LOCKTYPE 1 または 2 に設定して共有ファイルにアクセスします。つまり、LOCKTYPE 1 または 2 を使用してもファイルサイズには影響ありません。

注:


順ファイルおよび相対ファイルのサイズ制限

順ファイルおよび相対ファイルに影響を与えるファイルサイズ制限は、次のとおりです。

排他
共有
8MTB 4MTB

オペレーティングシステム制限

オペレーティングシステムおよびハードウェア構成では、COBOL コンパイラまたは COBOL ランタイムのどちらかによって課せられている制限よりも低い直接制限が設けられています。オペレーティングシステムおよびハードウェアをチェックして、制限の実際の値を確認してください。ただし、次の点を考慮する必要があります。

非標準ファイルハンドラを使用している場合は索引キーの数とサイズを制限することができ、非標準 SORT モジュールを使用している場合は、キーの数とサイズを制限することができます。