予約キーワードとデータ項目名の間の競合解決

Micro Focus は、新しいキーワードを COBOL 言語の新しいレベルの一部として追加することにより、予約 COBOL 語のリストを拡張し続けています。 各 Micro Focus リリースは、特定のレベルに対応します。 ユーザーは、MFLEVEL コンパイラ指令を使用してコード内の Micro Focus 固有の予約語を有効にし、特定レベルの言語との互換性を保つように特定の機能の動作を変更できます。

Enterprise Developer を使用して、旧 Micro Focus 製品で作成したアプリケーションをコンパイルし、これらのアプリケーションが Enterprise Developer の予約キーワードになっているデータ名を使用している場合は、COBOL 構文エラー COBCH0666 ("Reserved word used as data name or unknown data description qualifier") が発生します。 この問題を回避し、ソース コードで一部の予約語をデータ名として引き続き使用するには、次のいずれかの操作を行います。

これらの指令は、コマンド ラインから設定するか、ソース コードで設定するか、またはプロジェクトの COBOL プロパティの [Additional Directives] フィールドで設定できます。

コマンド ラインからの指令の設定

REMOVE を Enterprise Developer コマンド ラインから使用するには、次のように入力します。

cobol myprogram.cbl remove(title) ;

上記のコマンドはキーワードとしての TITLE を言語から削除するため、それを COBOL プログラムの識別子として使用できるようになります。

Net Express v5.1 WrapPack 5 で使用されていた予約語のセットを使用するには、次のコマンド ラインを使用します。

cobol myprogram.cbl mflevel"15" ;

ソース コードでの指令の設定

上記指令のいずれかをソース コードで設定するには、$ で始まる次の行を COBOL プログラムの指示領域に入力します。

$set remove "ReservedWord"

または

$set mflevel"nn"

IDE での指令の設定

上記指令のいずれかをプロジェクトのプロパティで設定するには、次の操作を行います。

  1. IDE で [Project > Properties > Micro Focus COBOL > Project Settings > COBOL] をクリックします。
  2. MFLEVEL"nn" または REMOVE "ReservedWord" を [Additional directives] フィールドに入力します。
  3. [Apply] をクリックしてから、[OK] をクリックします。

各種製品バージョンで使用される MFLEVEL コンパイラ指令とキーワードの詳細については、製品ヘルプの次のトピックを参照してください。