2.1.3 COBOL2002 for .NET Frameworkを使用したUAPの開発および実行
COBOL2002 for .NET Frameworkを使用することで,COBOL言語でSPP.NETおよびSUP.NETの開発・実行ができます。COBOL2002 for .NET Frameworkを使用すると,次のような利点があります。
-
COBOL言語で開発された既存のSPPおよびSUPと連携できる
-
COBOL言語で開発された既存のSPPおよびSUPを容易にSPP.NETおよびSUP.NETに移行できる
-
COBOL言語で開発された既存のCOBOLプログラム資産を部品として再利用できる
UAPの開発手順の詳細については,「4.8 COBOL言語でのUAPの作成方法」を参照してください。COBOL言語の仕様については,マニュアル「COBOL2002 for .NET Framework ユーザーズガイド」を参照してください。また,COBOL言語でSPP.NETおよびSUP.NETを開発する場合のOpenTP1のAPIについては,マニュアル「OpenTP1 プログラム作成リファレンス COBOL言語編」を参照してください。
なお,COBOL言語で開発したSPP.NETおよびSUP.NETの実行手順は,ほかの言語で開発した場合と同じです。
(1) Extension .NETが提供するP/Invoke指示ファイルのサンプル
Extension .NETは,COBOL2002 for .NET FrameworkでUAP開発時に必要となる,P/Invoke指示ファイル(.piv)のサンプルを提供しています。TP1/Server BaseまたはTP1/LiNKと併用する場合のサンプルは,それぞれ次のディレクトリに格納されています。
- 【TP1/Server Base】
〈インストールディレクトリ〉\examples\ExtNET\COBOL.NET\PIV\TP1Base.piv
- 【TP1/LiNK】
〈インストールディレクトリ〉\sample\ExtNET\COBOL.NET\PIV\TP1LiNK.piv
P/Invoke指示ファイルの使用方法については,「4.8.3 TP1/ServerのCOBOL言語のサービスルーチンの利用」を参照してください。
(2) 注意事項
(a) UAPの開発時の注意事項
COBOL2002 for .NET Frameworkを使用する場合,次の機能は利用できません。
-
.NETインタフェース定義を使用したSPP.NETの開発
-
.NETインタフェース定義を使用したRPC
-
サービス定義(カスタムレコード)を使用したRPC
-
DBMSとのトランザクション連携
-
Extension .NETが提供するクラスライブラリ※
- 注※
-
Extension .NETが提供するクラスライブラリを使用できない代わりに,TP1/Serverが提供するCOBOL言語のサービスルーチンを使用できます。COBOL言語のサービスルーチンについては,マニュアル「OpenTP1 プログラム作成リファレンス COBOL言語編」を参照してください。
(b) UAPの実行時の注意事項
-
COBOL2002 for .NET Frameworkのランタイムが必要とする環境変数を設定する必要があります。設定方法を次に示します。
- 【TP1/Server Base】
-
ユーザサービス定義などのシステム定義で環境変数を設定します。
詳細については,「3. システム定義【TP1/Server Base】」を参照してください。
- 【TP1/LiNK】
-
TP1/LiNKのダイアログボックスで環境変数を設定します。
詳細については,「5.2 ユーザサーバの環境設定(SPP.NET)」を参照してください。
-
PROPAGATE翻訳指令にOFFを指定したSPP.NETで,CobolException.CobolRuntimeError(実行時エラー)が発生した場合,ユーザサーバが異常終了します。
CobolException.CobolRuntimeErrorについては,マニュアル「COBOL2002 for .NET Framework ユーザーズガイド」を参照してください。
-
環境変数NETCBL_SYSOUTおよびNETCBL_SYSERRを設定して,COBOL2002 for .NET Frameworkのランタイムが出力する標準出力および標準エラー出力を任意のファイルにリダイレクトさせてください。この設定を省略すると,標準出力および標準エラー出力がファイルにリダイレクトされないため,実行時エラーの内容がわかりません。
TP1/Server Baseを使用する場合は,TP1/Server Baseの標準出力リダイレクト機能を利用して,標準出力および標準エラー出力をファイルにリダイレクトできます。標準出力リダイレクト機能については,TP1/Server Baseの「Windows版ご使用上の注意事項」を参照してください。TP1/LiNKには,標準出力および標準エラー出力をリダイレクトするための機能がありません。