Net Express または Server Express で作成されたアプリケーションのほとんどは、Visual COBOL でも変更なしで引き続き機能します。ただし、これらの開発システムの間には、Visual COBOL へのアップグレード時に考慮すべきいくつかの相違点があります。
コンパイルおよびビルドの相違点
Visual COBOL におけるアプリケーションのコンパイルおよびビルドには、異なる働き方をする側面がいくつかあります。場合によっては、プロジェクト プロパティを変更し、以前に使用したコンパイラの指令および設定をいくつか更新する必要があります。
- 出力ファイル フォーマット
- 各プロジェクトは、単一のファイル (.dll、.so、.exe) または同じファイル タイプの複数のファイル (ソース ファイルごとに 1 つの出力ファイル (.dll、.so、.exe、.int、.gnt)) へコンパイルされます。現在は、Windows 上の .int および .gnt ファイルの集合を含む .lbr ファイルに加えて、.dll をアプリケーション コンポーネントのコンテナーとして使用できます。
- コンパイラ指令
- ソース コードを Visual COBOL にアップグレードすると、16 ビット システム専用に設計された一部のコンパイラ指令が適切ではなくなっているため、コンパイル時にエラーを生成します。この場合、コンパイルする前にコードおよび指令ファイルからそれらのコンパイラ指令を削除する必要があります。
- リンク
- Windows では静的ランタイム システムおよびシングルスレッド ランタイム システムは不要になっており、Visual COBOL には付属していません。現在、Visual COBOL でビルドされたアプリケーションは、共有または動的ランタイム システムにリンクされるようになっています。 UNIX では、シングルスレッドまたはマルチスレッドの共有または動的ランタイム システムにリンクできます。
- 呼び出されるプログラムと依存性
- 実行時に、呼び出し先のプログラムは以前と同じ方法で検索されます。ただし、COBPATH を設定してファイルを共通フォルダーにコピーするための新しい方法もいくつかあります。
- ファイル ハンドラー
- ファイル ハンドラー .obj ファイルは、Visual COBOL では使用できません。Visual COBOL では、代わりに mffh.dll ファイルでパッケージ化されたファイル ハンドラーを使用します。
- Makefile 変換
- 既存の makefile を Visual COBOL for Eclipse 内から使用するには、Eclipse の一部のデフォルト設定を変更し、変更済みのビルド プロセスを導入する必要があります。Visual COBOL でサポートされているコマンドを呼び出す makefile は以前と同様に機能します。既存の makefile の使用の詳細については、Micro Focus までお問い合わせください。
- OpenESQL アシスタント
- Visual COBOL では、OpenESQL アシスタントのデータ ソース名 (DSN) を ODBC DSN として構成する必要があります。
- SQL コンパイラ指令オプション
- Visual COBOL にアップグレードする際に、一部の SQL アプリケーションではコンパイラ エラーを回避するために SQL コンパイラ指令オプションを追加する必要がある場合があります。
- XML PARSE 文
- Net Express および Server Express では、XMLPARSE コンパイラ指令のデフォルト設定は COMPAT です。COMPAT を使用すると、XML PARSE 文は IBM Enterprise COBOL Version 3 の情報およびイベントを返します。Visual COBOL では、デフォルトは XMLPARSE(XMLSS) です。XMLPARSE(XMLSS) は、IBM Enterprise COBOL Version 4 の情報およびイベントを返します。
ランタイム システムの相違点
Visual COBOL に付属しているランタイム システムと、Net Express および Server Express に付属しているランタイム システムには、いくつかの相違点があります。ただし、Visual COBOL で既存のアプリケーションをソース コードから再コンパイルすれば、これらの相違点は既存のアプリケーションには影響しません。
- OpenESQL
- Visual COBOL は、最適なパフォーマンスを実現するために BEHAVIOR SQL コンパイラ指令オプションをデフォルトで MAINFRAME に設定します。Net Express および Server Express で示されたデフォルト動作に戻るには、BEHAVIOR 指令を UNOPTIMIZED に設定します。
- シングルスレッド ランタイム システム
- シングルスレッド ランタイム システムは、Windows 上の Visual COBOL では使用できません。代わりに、シングルスレッド アプリケーションおよびマルチスレッド アプリケーションは、どちらもマルチスレッド ランタイム システムを使用して実行されます。これは、既存のアプリケーションには影響しません。UNIX では、シングルスレッド ランタイム システムを利用できるため、アプリケーションはサードパーティ製のコードとリンクできます。
- 静的リンク ランタイム システム
- 静的リンク ランタイム システムは、Visual COBOL では使用できません。代わりに、ネイティブ コードを共有または動的ランタイム システムにリンクします。これは、既存のアプリケーションには影響しません。
- Setting the environment on UNIX
- UNIX で COBOL 環境を設定するには、cobsetenv スクリプトを使用します。
- Visual COBOL と旧 Micro Focus 製品の共存
- 同じマシンにインストールされた Visual COBOL と、Net Express または Studio Enterprise Edition を正しく機能させるようにするには、追加の構成が必要です。
制約事項とサポートされていない機能
旧 Micro Focus 製品の一部の機能は Visual COBOL では利用できません。ただし、これらの機能の多くには代替手法が用意されています。
- CBL2XML ユーティリティ
- CBL2XML ユーティリティは現在、コマンド ライン ツールとしてのみ使用できます。
- DBMS プリプロセッサ
- 旧 Micro Focus 製品では、Visual COBOL ではサポートされていない DBMS プリプロセッサ バージョンがサポートされていました。現在サポートされている DBMS プリプロセッサのリストについては、「Database Access Support with Native COBOL」のトピックを参照してください。
- Dialog System
- Dialog System アプリケーションは Eclipse ではサポートされていませんが、アプリケーションの非 GUI コンポーネントを Eclipse にアップグレードしてから、Eclipse の GUI ツールを使用して GUI コンポーネントを再作成できます。
- Form Designer
- Form Designer は、CGI ベースのインターネットおよびイントラネット アプリケーションのユーザー インターフェイスを作成するための Net Express のツールです。Form Designer および HTML ページ ウィザードは、Visual COBOL では使用できません。
- GNT Analyzer
- GNT Analyzer は、Visual COBOL では使用できません。テスト カバレッジで置き換えられています。
- ホスト互換性オプション (Host Compatibility Option; HCO)
- ホスト互換性オプション (HCO) は、Visual COBOL ではサポートされません。
- INTLEVEL のサポート
- INTLEVEL 指令は、Visual COBOL のコンパイラでは拒否されます。
- NSAPI
- Visual COBOL では、NSAPI はサポートされていません。
- オンライン ヘルプ システム
- Net Express は、文字ベースのアプリケーションからオンライン ヘルプを作成してそれを画面に表示するためのオンライン ヘルプ システムを備えていました。このオンライン ヘルプ システムは Visual COBOL では利用できず、オンライン ヘルプ システム情報ファイル タイプ (.HNF) はサポートされていません。
- OpenESQL
- Net Express および Studio Enterprise Edition では、OpenESQL での Oracle OCI がサポートされています。Visual COBOL では、OpenESQL での Oracle OCI はサポートされていません。
ランタイム技術の相違点
一部の技術は Visual COBOL では動作が異なります。これは、既存のアプリケーションのアップグレード方法に影響する可能性があります。
- ファイル処理
- 独自のセキュリティ モジュールを Fileshare に組み込む方法が変更されています。また、Visual COBOL と、Net Express および Server Express では FILEMAXSIZE の設定が異なります。
- Java and COBOL
- cobsje スクリプトは、UNIX 上の Visual COBOL では使用できません。Visual COBOL は、COBOL ランタイム システムを使用し、LIBPATH、LD_LIBRARY_PATH、JAVA_HOME などに基づいて JVM をロードします。
- テスト カバレッジ
- テスト カバレッジは、Server Express で提供されていた GNT Analyzer に相当する機能です。Visual COBOL の IDE 内で使用できるネイティブ COBOL アプリケーションのコード カバレッジは、テスト カバレッジ機能を統合しています。
編集およびデバッグの相違点
Net Express および Server Express の編集およびデバッグ機能の多くは Visual COBOL でも利用できますが、それらの機能の中には名前が異なるものや動作が若干異なるものがあります。また、バックグランド解析などの新しい機能もいくつかあります。
- プログラム ブレークポイント
- プログラム ブレークポイントは、指定したプログラムまたはそのプログラム内のエントリ ポイントが呼び出されるたびに実行を停止するブレークポイントです。これらは Visual COBOL でサポートされていますが、デフォルトでは Net Express の動作とは異なります。
- リモート デバッグ
- プログラムのリモート デバッグに使用される Net Express animserv ユーティリティは、Visual COBOL では cobdebugremote (Windows) または cobdebugremote32 (UNIX) (64 ビットのプロセスをデバッグする場合は cobdebugremote64) に置き換えられています。
- ソース プール ビュー
- Net Express のソース プール ビューは、現在のビルド タイプでソース ファイルが使用されるかどうかに関係なく、プロジェクト ディレクトリ内のソース ファイルをすべて表示していました。このビューは、Visual COBOL では使用できません。