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 では使用できません。代わりに、ネイティブ コードを共有または動的ランタイム システムにリンクします。これは、既存のアプリケーションには影響しません。
- UNIX での環境の設定
- UNIX で COBOL 環境を設定するには、cobsetenv スクリプトを使用します。
- Visual COBOL と旧 Micro Focus 製品の共存
- 同じマシンにインストールされた Visual COBOL と、Net Express または Studio Enterprise Edition を正しく機能させるようにするには、追加の構成が必要です。
制約事項とサポートされていない機能
旧 Micro Focus 製品の一部の機能は Visual COBOL では利用できません。ただし、これらの機能の多くには代替手法が用意されています。
- CBL2XML ユーティリティ
- CBL2XML ユーティリティは現在、コマンド ライン ツールとしてのみ使用できます。
- Character-Mode Dialog System
- Character-Mode Dialog System の互換バージョンを含む Compatibility AddPack for Visual COBOL をインストールすると、文字環境で動作するアプリケーションの文字ベースのユーザー インターフェイスの作成が Visual COBOL でサポートされます。AddPack は、Micro Focus SupportLine の Web サイトから無料で配布されています。
- 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 では使用できません。
- FSView
- FSView は、Fileshare サーバーを管理するためのユーティリティです。FSView GUI は、Visual COBOL ではサポートされません。
- ホスト互換性オプション (Host Compatibility Option; HCO)
- ホスト互換性オプション (HCO) は、Visual COBOL ではサポートされません。
- INTLEVEL のサポート
- INTLEVEL 指令は、Visual COBOL のコンパイラでは拒否されます。
- NSAPI
- Visual COBOL では、NSAPI はサポートされていません。
- オンライン ヘルプ システム
- Net Express は、文字ベースのアプリケーションからオンライン ヘルプを作成してそれを画面に表示するためのオンライン ヘルプ システムを備えていました。このオンライン ヘルプ システムは Visual COBOL では利用できず、オンライン ヘルプ システム情報ファイル タイプ (.HNF) はサポートされていません。
- OO Class and Method Wizards
- オブジェクト指向クラスおよびメソッド ウィザードは、Visual COBOL では使用できません。ただし、ベースおよび COM オブジェクト指向クラス ライブラリのランタイム コンポーネントは使用できます。
- OpenESQL
- Net Express および Studio Enterprise Edition では、OpenESQL での Oracle OCI がサポートされています。Visual COBOL では、OpenESQL での Oracle OCI はサポートされていません。
- Solo Web サーバー
- Net Express で Solo Web サーバーを使用すると、開発に使用した同じマシンで CGI ベースのインターネット アプリケーションをデバッグできます。Visual COBOL では使用できません。
- DB2 用の SQL オプション
- DB2 用の SQL オプション (XDB) は、Visual COBOL ではサポートされていません。
- タイプ ライブラリ アシスタント
- タイプ ライブラリ アシスタントは Visual COBOL には含まれていませんが、COM およびオブジェクト指向 COBOL ライブラリのランタイム コンポーネントは引き続き使用できます。
- UNIX パブリッシュ機能
- UNIX パブリッシュ機能は、Visual COBOL for Eclipse のリモート開発機能で置き換えらていれます。ローカル マシンの Eclipse IDE は、開発インターフェースとして使用します。ソース コードをホストするリモート開発サーバーで Visual COBOL Development Hub を使用します。
ランタイム技術の相違点
一部の技術は Visual COBOL では動作が異なります。これは、既存のアプリケーションのアップグレード方法に影響する可能性があります。
- COM Interop
- COM オブジェクトの作成を支援するツールは、Visual COBOL には付属していません。ただし、COM ランタイム コンポーネントが付属しているため、COM はサポートされており、アプリケーションは既存の COM オブジェクトと相互運用できます。
- ファイル処理
- 独自のセキュリティ モジュールを Fileshare に組み込む方法が変更されています。また、Visual COBOL と、Net Express および Server Express では FILEMAXSIZE の設定が異なります。
- テスト カバレッジ
- テスト カバレッジは、Server Express で提供されていた GNT Analyzer に相当する機能です。Visual COBOL の IDE 内で使用できるネイティブ COBOL アプリケーションのコード カバレッジは、テスト カバレッジ機能を統合しています。
編集およびデバッグの相違点
Net Express および Server Express の編集およびデバッグ機能の多くは Visual COBOL でも利用できますが、それらの機能の中には名前が異なるものや動作が若干異なるものがあります。また、バックグランド解析などの新しい機能もいくつかあります。
- データ ツール
- Net Express のデータ ツールは、Windows では Visual COBOL for Eclipse の クラシック データファイル ツール ユーティリティとして使用できますが、UNIX では使用できません。UNIX では、新しいデータ ファイル ツール ユーティリティがあります。これは、データ ファイルを作成および編集できる、新しい独立型テキスト エディターです。
- Debugging Native Object-Oriented COBOL
- Net Express では、オブジェクト指向 COBOL のデバッグ中にオブジェクトを検査し、そのオブジェクトを定義したクラスおよびそのクラスから派生した他のオブジェクトを表示できます。Visual COBOL でもネイティブ オブジェクト指向 COBOL のクラス情報を表示できますが、デバッグ中は表示できません。
- Interface Mapping Toolkit
- Interface Mapping Toolkit は、Visual COBOL for Eclipse で利用できます。ただし、CICS または IMS サービス インターフェイスはサポートされません。
- 混合言語のデバッグ
- Net Express では、混合言語アプリケーションをデバッグできました。 Visual COBOL では、構成を追加することで、ネイティブ COBOL および Java、またはネイティブ COBOL および C をデバッグできます。
- プログラム ブレークポイント
- プログラム ブレークポイントは、指定したプログラムまたはそのプログラム内のエントリ ポイントが呼び出されるたびに実行を停止するブレークポイントです。これらは Visual COBOL でサポートされていますが、デフォルトでは Net Express の動作とは異なります。
- リモート デバッグ
- プログラムのリモート デバッグに使用される Net Express animserv ユーティリティは、Visual COBOL では cobdebugremote (Windows) または cobdebugremote32 (UNIX) (64 ビットのプロセスをデバッグする場合は cobdebugremote64) に置き換えられています。
- ソース プール ビュー
- Net Express のソース プール ビューは、現在のビルド タイプでソース ファイルが使用されるかどうかに関係なく、プロジェクト ディレクトリ内のソース ファイルをすべて表示していました。このビューは、Visual COBOL では使用できません。