Micro Focus 製品との下位互換性

Studio Enterprise Edition との下位互換性

ファイル制御記述 (FCD)
32 ビット アプリケーションのファイル処理操作のデフォルトの FCD 形式は、Studio Enterprise Edition では FCD2 でしたが、Visual COBOL では FCD3 です。

Net Express および Net Express with .NET 5.1 との下位互換性

デフォルトの作業モード
Visual COBOL R4 以前のバージョンでは、COBMODE 環境変数で設定されるデフォルトの作業モードは 32 ビットでした。現行リリースの Visual COBOL および Enterprise Developer では 64 ビットです。
索引ファイルの形式
Net Express では、IDXFORMAT オプションのデフォルトの設定は 4 でした。現行リリースの Visual COBOL では 8 です。
FILEMAXSIZE ファイル ハンドラー設定オプション

Net Express では、FILEMAXSIZE のデフォルトの設定は 4 でした。現行リリースの Visual COBOL では 8 です。

Net Express 5.1 または Net Express with .NET 5.1 を使用して開発されたアプリケーションは、Visual COBOL に移行する際にいくつかの変更が必要になることがあります。特に、Visual COBOL では、Net Express 5.1 で利用可能であった次の機能はサポートされません。

  • デバッグ ツール:
    • Animator
    • データ ツール (データ ファイル コンバータ、データ ファイル エディタ、索引ファイルの修正、および IMS データベース エディタ)
      注:データ ファイル コンバータ、データ ファイル エディタ、およびレコード レイアウト エディタを含む Micro Focus データ ファイル ツール追加パックは別途インストールできます。追加パックは、Micro FocusSupportLine サイト からダウンロードします。
    • FSView
    • リモート開発
  • 診断ツール:
    • FaultFinder

      FaultFinder ツールは、現行バージョンの Visual COBOL では削除されました。これに伴い、次のチューナーが削除されました。

      • faultfind_level
      • faultfind_outfile
      • faultfind_recsize
      • faultfind_config
      • faultfind_cache_enable

      これらのチューナーについては、アプリケーションから削除するか、構成ファイルでチューナーcobconfig_error_report=false を設定してください。

  • ランタイム/開発サポート:
    • シングルスレッド ランタイム システム
    • 静的リンク ランタイム システム
  • プログラミング機能:
    • Btrieve
    • ISAPI
    • メインフレーム サブシステム (CICS、JCL、および IMS)
    • NSAPI

旧バージョンの Visual COBOL との下位互換性

ランタイム システムの更新

COBOL Server は、さまざまな開発製品を使用してビルドされたアプリケーションを実行できる実行環境を提供します。この結果として、バージョン 2.3 以前の Visual COBOL を使用してビルドされたメインの COBOL 実行可能ファイル (.exe) がアプリケーションに含まれている場合は、必ずその実行可能ファイルをリビルドし、新しいランタイム システムとともにパッケージ化する必要があります。リビルドは、IDE またはコマンド ラインから行うことができます。

以前のバージョンの Visual COBOL を使用してビルドされた他の COBOL サブプログラムには、リビルドは必要ありません。

呼び出しプログラムの検索順序
以前のバージョンの Visual COBOL および以前の Micro Focus 製品) では、実行時チューナーを使用して、ランタイム システムが呼び出し先のサブプログラムを検索する特定の順序を定義できました。ランタイム システムの変更により、実行可能な特定の検索順序が 1 つだけになったため、実行時チューナーは利用できなくなりました。実行時チューナーを設定していた場合は、構成から取り除く必要があります。デフォルトの (そして唯一の) 検索順序は次のとおりです。
  • サブプログラムがすでにロードされている場合、または静的にリンクされている場合は、サブプログラムが検索され、検索が終了します。
  • COBPATH が設定されている場合、変数内のパスのリストが順番に検索されます。 COBPATH が設定されていない場合、現在のディレクトリが検索されます。
  • Windows プラットフォームでは、共有オブジェクト (.so) を特定のパスなしで呼び出している場合、LD_LIBRARY_PATH または LIBPATH 環境変数が検索されます。
  • 呼び出し元のプログラムのパスが検索されます。

上記の方法のいずれかを使用してサブプログラムを見つけることができない場合、実行時エラーが生成されます。

メンバー参照でのかっこの使用
マネージ COBOL 構文では、メソッドを参照する際に、かっこのみ使用できます。そのため、フィールドやプロパティを参照する場合は、かっこを指定できません。かっこを指定すると、構文エラーが発生します。

次に例を示します。

set intLength to testString::Length()

これは次のように変更する必要があります。

set intLength to testString::Length
RM/COBOL 互換ライブラリ ルーチンの呼び出し
以前は、RM/COBOL 互換のライブラリ ルーチンを呼び出すには、正しい呼び出し規則が使用されていることを確認する DIALECT"RM" コンパイラ指令を設定する必要がありました。現在この機能を設定するには、CALL 文で正しい呼び出し規則を明示的に使用する必要があります。
ILUSING
$set コマンドを使用してこのコンパイラ指令を設定した場合、インポートされた名前空間は、そのファイル内のプログラム、クラス、および参照されるコピーブックにのみ適用されます。IDE またはコマンド ラインから指令を設定すると、インポートされた名前空間は、プロジェクト内またはコマンド ラインで指定されたすべてのプログラムおよびクラスに適用されます。
FLAGCD
この指令は、Visual COBOL では使用できなくなりました。この指令はコードから削除する必要があります。このコードが残っていると、COBCH0053 Directive invalid or not allowed here というエラーが発生します。
CALLFH
コードで ACUFH パラメーターを指定すると、使用時に弊害が生じる場合もあります。このパラメーターを使用する代わりに、「Vision データ ファイルの使用」または「Configuring Access to RM/COBOL Indexed Data Files」で説明されている方法を用いることを推奨します。いずれの方法も、これらのタイプのデータ ファイルを処理するための万全なソリューションを提供しています。
互換性のある ACUCOBOL-GT ファイル処理環境変数
ACUCOBOL-GT との互換性のために導入された以下の環境変数は、ファイル ハンドラー構成ファイルに追加する他の環境変数または構成オプションに変更されました。これ以外の ACUCOBOL-GT ファイル処理環境変数はサポートされていません。
使用できなくなった変数 使用できる変数またはオプション
FILE_CASE FILECASE 構成オプション
FILE_PREFIX COBDATA 環境変数
FILE_SUFFIX FILESUFFIX 構成オプション
APPLY_FILE_PATH 該当なし
FILE_ALIAS_PREFIX dd_ mapping

これらの環境変数を設定しても効果はありません。

Micro Focus 製品との共存

COBCONFIG に起因するランタイム システム エラー
Visual COBOL アプリケーションを実行する場合、または Visual COBOL を使用してプロジェクトを編集または作成し、Visual COBOL が参照する構成ファイルに Visual COBOL にとって無効なエントリが含まれている場合、COBCONFIG または COBCONFIG_ 環境変数を設定すると、ランタイム システム エラーが発生します。

たとえば、Net Express または Studio Enterprise Edition がインストールされていて、それに対する COBCONFIG または COBCONFIG_ が設定されている場合は、このエラーが発生する可能性があります。

この問題を回避するには、Visual COBOL が実行されていないことを確認してから、次のいずれかを行って構成ファイルを変更します。

  • 無効なチューナーが他のアプリケーションから必要とされていない場合は、そのチューナーをランタイム構成ファイルから削除します。
  • 構成ファイルの先頭に次の行を追加します。
    set cobconfig_error_report=false
  • COBCONFIG (または COBCONFIG_) を設定解除します。あるいは、実行中の特定のセッションで、無効なチューナーを含まない別の構成ファイルを COBCONFIG (または COBCONFIG_) に設定します。
環境設定によるライセンス エラー
Net Express または Studio Enterprise Edition ユーティリティを Visual COBOL から呼び出すと、「Micro Focus License Manager service is not running」というメッセージが発生する可能性があります。この問題は、Net Express または Studio Enterprise Edition 環境設定を必要としているツールが Visual COBOL 環境設定で呼び出された場合に起こります。

この問題は、Net Express または Studio Enterprise Edition に関連付けられている .dat などのファイルを編集した場合に起こります。これは、Net Express または Studio Enterprise Edition 製品内のユーティリティを Visual COBOL の外部ツールとして呼び出す場合にも発生します。

Visual COBOL でこの問題を回避するには、次の操作を行います。

  1. ツールを呼び出す前に COBREG_PARSED を設定解除するバッチ ファイルを作成します。バッチ ファイルには、次の内容が含まれます。
    Set COBREG_PARSED=
    Call [PathToUtility] %1

    PathToUtilityは、Net Express または Studio Enterprise Edition ユーティリティへのパスです。

  2. Visual Studio IDE で、外部ツールとしてユーティリティ自体の代わりにバッチ ファイルを追加します。

    これにより、そのツールの実行時に適切な環境が確立されます。

指令スキャン

Visual COBOL の以前のリリース以降、指令スキャンのデフォルト オプション (IDE で [Tools > Options > Micro Focus > Directives > COBOL] をクリック) が変更されました。