Enterprise Developer と RM/COBOL とでは、RM/COBOL 索引ファイルを開く際のレコード長フィールドおよび一部のデータ フィールドの処理方法が異なります。
Enterprise Developer では、RM/COBOL 索引ファイルを開こうとすると、ランタイム エラー「COBRT161 中間コードが無効である」またはファイル状態コード 39「プログラムにおける固定ファイル属性とファイルに対して指定された属性との間に、競合が検知されました」が返されることがあります。
RM/COBOL で作成されたものと同じサイズのレコードを読み取るようにする必要があります。
ファイル記述項の長さが RM/COBOL で処理されたものと一致しない場合は、次を確認してください。
- RM/COBOL では、レコード記述項で指定された実際の長さとは異なる長さになるように、RECORD CONTAINS nn CHARACTERS 句を設定できます。この句が実際の記述よりも大きい場合は、RECORD CONTAINS 句と一致するようにレコード記述項を埋め草文字バイトで埋める必要があります。
- 符号付き数値表示データがファイルに含まれている場合に、"ANSI" を指定せずに RM 指令を使用すると、Enterprise Developer では、符号が個別のバイトとして扱われます。このようなフィールドを内部の符号として保存する場合は、RM"ANSI" を使用するか、RM 指令をまったく使用しないようにする必要があります。