Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Extension for .NET Framework 使用の手引


2.1.3 COBOL2002 for .NET Frameworkを使用したUAPの開発および実行

COBOL2002 for .NET Frameworkを使用することで,COBOL言語でSPP.NETおよびSUP.NETの開発・実行ができます。COBOL2002 for .NET Frameworkを使用すると,次のような利点があります。

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には,標準出力および標準エラー出力をリダイレクトするための機能がありません。