技術によっては制約事項があるか、マネージ コードではサポートされていない場合があります。マネージ コードに移行するには、次の事項を事前に検討する必要があります。
SQL(DBMAN=ADO) 指令で OpenESQL を使用して、マネージ アプリケーションをコンパイルできます。Micro Focus では、OpenESQL ネイティブ コードとマネージ コードのランタイム システム間で可能な限りソース コードの互換性が維持されるよう努めています。各ランタイム システムには、基盤となるデータベース API および実行環境に基づく拡張、制限、および相違がありますが、埋め込み SQL 文 (DECLARE CURSOR、OPEN、FETCH、CLOSE、SELECT、INSERT、UPDATE、DELETE、CONNECT、DISCONNECT、COMMIT、ROLLBACK など) の大部分は完全に互換性があり、変更は必要ありません。
ADO.NET ランタイム システムには、EXEC ADO 文を使用したオフラインの DataSet および DataTable をサポートする拡張機能があります。また、オブジェクト ホスト変数および従来の COBOL ホスト変数をサポートしています。
次の制約事項は、マネージ コードにおけるデータベース サポートに適用されます。
マネージ コードは、Visual COBOL for Visual Studio 2019 を通して Dialog System アプリケーションをモダナイズする優れた方法です。最初のステップとして、Visual COBOL でアプリケーションをインポートし、それを新しい IDE でビルドおよび実行できます。次に、アプリケーションを徐々にモダナイズしていくことができます。たとえば、ある Dialog System スクリーンを Windows Form に置き換えたり、.NET ユーザー コントロールを ActiveX としてラップし、それを Dialog System で使用したりすることができます。一方、残りのコードは変更しないまま保持できます。モダナイゼーションのさまざまな技法の詳細については、「Dialog System アプリケーションのモダナイズ」を参照してください。
特定のライブラリ ルーチンは、ネイティブ コードでのみサポートされています。マネージ コードで使用できるルーチンの詳細については、本ドキュメントの「ライブラリ ルーチン」セクションを参照してください。
ネイティブ コードは、マネージ コードから呼び出すことができますが、禁止されている環境もあります。たとえば、.NET ストアド プロシージャおよび特定の Java アプリケーション サービスから、ネイティブ COBOL を呼び出すことはできません。
Visual COBOL は、アプリケーションのユーザー インターフェイスをモダナイズするための優れたオプションを提供します。.NET の Windows Presentation Foundation を使用できます。アプリケーション アーキテクチャ、および元のユーザー インターフェイスとバックエンド モジュールの関連付けの強さによっては、問題が発生する可能性がある点に注意してください。
.NET フレームワークなどのマネージ環境でコンパイルおよび実行される、手続き型 COBOL を作成して使用できます。ただし、マネージ環境で利用可能なすべての機能を最大限に活用し、コードを他のマネージ言語に公開できるようにするには、マネージ COBOL 構文の使用が必要になる場合があります。マネージ COBOL コードの作成については、次のリソースを参照してください。
オペレーティング システムを呼び出すサード パーティ API に対する、既存の手続き型コードを確認してください。他のソフトウェア ベンダーによって提供される技術は、マネージ コードでの利用向けに書き替える必要がある場合があります。
Win32 API ルーチンは、マネージ コードではサポートされていません。手続き型コードをマネージ COBOL に移行する場合、意図した結果を得るには、Win32 API ルーチンの呼び出しを削除し、同等の .NET 機能を代わりに使用する必要があります。