TP1Client

TP1Clientの概要

名前空間

Hitachi.OpenTP1.Client

継承関係

System.Object
 +- Hitachi.OpenTP1.Client.TP1Client

説明

TP1/Serverのサーバに対してサービス要求を行うクラスです。

コンストラクタの一覧

名称説明
TP1Client()TP1/ServerのサーバにRPCを行うTP1Clientクラスのインスタンスを作成します。

フィールドの一覧

名称説明
DCRPC_MAX_MESSAGE_SIZERPC送受信メッセージの最大長を指定します。指定できる最大値は1048576バイトです。

メソッドの一覧

名称説明
AcceptNotification(System.Byte[], System.Int32&, System.Int32, System.Int32, System.Byte[], System.Byte[])サーバ側の関数(dc_rpc_cltsend関数)で通知されるメッセージを,timeout引数で指定した時間まで待ち続けます。
AcceptNotificationChained(System.Byte[], System.Int32&, System.Int32, System.Byte[], System.Byte[])サーバ側の関数(dc_rpc_cltsend関数)で通知されるメッセージを,timeout引数で指定した時間まで待ち続けます。
Begin()グローバルトランザクションを,Beginメソッドを呼び出すTP1Clientオブジェクトから開始します。
Call(System.String, System.String, System.Byte[], System.Int32, System.Byte[], System.Int32&, System.Int32)SPP.NETまたはSPPのサービスを要求します。
CallTo(Hitachi.OpenTP1.Client.DCRpcBindTbl, System.String, System.String, System.Byte[], System.Int32, System.Byte[], System.Int32&, System.Int32)Callメソッドと同様に,SPP.NETまたはSPPのサービスを要求します。
CallToメソッドでは,サービスグループ名,サービス名,およびホスト名を検索のキーにして,該当するサービスメソッドまたはサービス関数をサービスの要求先に限定します。
CancelNotification(System.Byte[], System.Int32, System.String, System.Int32)サーバからの一方通知受信待ち状態(AcceptNotificationメソッド,またはAcceptNotificationChainedメソッドの発行)を解除します。
CloseConnection()CUP.NETとrapリスナーおよびrapサーバとの間で確立されている常設コネクションを切断します。
CloseNotification()一方通知連続受信機能を使用するための環境を削除します。
CloseRpc()TP1/ServerのSPP.NETまたはSPPを呼び出すための環境を解放します。
Commit()トランザクションの同期点を取得します。
Commitメソッドが正常に終了すると,グローバルトランザクションは終了します。
グローバルトランザクションの範囲外からは,SPP.NETまたはSPPをトランザクションとして実行できません。
CommitChained()トランザクションの同期点を取得します。
CommitChainedメソッドが正常終了すると新しいグローバルトランザクションが発生し,以降実行するメソッドは新しいグローバルトランザクションの範囲になります。
CreateScdDirectObject(System.String, System.Int32, System.Int32)通信先スケジューラのホスト名およびポート番号を設定したDCRpcBindTblを作成します。
GetTransactionID(System.Byte[], System.Byte[])現在のトランザクショングローバル識別子およびトランザクションブランチ識別子を取得します。
GetTransactionInfo()GetTransactionInfoメソッドを呼び出したTP1Clientオブジェクトが,現在トランザクションとして稼働しているかどうかを報告します。
OpenConnection()Client .NET構成定義の<TP1Server>要素および<rapService>要素のport属性で指定されたrapサーバとの間に常設コネクションを確立します。
OpenConnection(System.String, System.Int32)リモートAPI機能を使用したRPCを行うために,CUP.NETとrapリスナーおよびrapサーバとの間に常設コネクションを確立します。
OpenNotification(System.Int32)一方通知連続受信機能を使用するための環境を作成します。
OpenRpc()TP1/ServerのSPP.NETまたはSPPを呼び出すための環境を初期化します。
OpenRpc(System.String)TP1/ServerのSPP.NETまたはSPPを呼び出すための環境を初期化します。
Receive(System.Byte[], System.Int32&, System.Int32, System.Int32)MHPが送信したメッセージを受信します。
ReceiveAssembledMessage(System.Byte[], System.Int32&, System.Int32, System.Int32)受信メッセージの組み立て機能を使用してメッセージを受信します。
Rollback()トランザクションをロールバックします。
Rollbackメソッドを呼び出すと,グローバルトランザクションは終了します。
グローバルトランザクションの範囲外からは,SPP.NETまたはSPPをトランザクションとして実行できません。
RollbackChained()トランザクションをロールバックします。
RollbackChainedメソッドが正常終了すると,新しいグローバルトランザクションが発生し,以降呼び出すメソッドは新しいグローバルトランザクションの範囲になります。
Send(System.Byte[], System.Int32, System.String, System.Int32, System.Int32)MHPにメッセージを送信します。
SendAssembledMessage(System.Byte[], System.Int32, System.String, System.Int32, System.Int32, System.Int32)受信メッセージの組み立て機能を使用してメッセージを送信します。
SetConnectInformation(System.Byte[] inf, System.Int16 inf_len)端末識別情報を設定します。
SetDataTraceMode(System.String, System.Int32, System.Int32, System.Boolean)データトレースを取得するかどうかを指定します。
SetErrorTraceMode(System.String, System.Int32, System.Boolean)エラートレースを取得するかどうかを指定します。
SetExtendLevel(System.Int32)Client .NETの機能の拡張レベルを指定します。
SetMethodTraceMode(System.String, System.Int32, System.Boolean)メソッドトレースを取得するかどうかを指定します。
SetRapDelay(System.Int32)rapサーバとCUP.NET間の通信遅延時間を設定します。
SetRapInquireTime(System.Int32)CUP.NETがサーバに対して問い合わせを行ってから,次の問い合わせをするまでの間隔の最大時間を設定します。
SetRpcExtend(System.Int32)Client .NETから発行するRPCの機能拡張オプションを指定します。
SetRpcWatchTime(System.Int32)同期応答型RPCの場合に,CUP.NETからSPP.NETまたはSPPへサービス要求を送ってからサービスの応答が返るまでの最大応答待ち時間を設定します。
SetTP1Server(System.String, System.Int32)窓口となるTP1/Serverのホスト名とポート番号を設定します。
SetTraceArray(System.String[])パラメタに指定された配列にエラートレースを取得するかどうかを指定します。
SetUapTraceMode(System.String, System.Int32, System.Boolean)UAPトレースを取得するかどうかを指定します。

コンストラクタの詳細

TP1Client

説明
TP1/ServerのサーバにRPCを行うTP1Clientクラスのインスタンスを作成します。
宣言
【C#の場合】

public TP1Client(
);

【Visual Basicの場合】

Public New( _
)

【J#の場合】

public TP1Client(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
AUTO-METHOD. CONSTRUCTOR.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END AUTO-METHOD.

パラメタ
なし
例外
なし

フィールドの詳細

DCRPC_MAX_MESSAGE_SIZE

説明
RPC送受信メッセージの最大長を指定します。指定できる最大値は1048576バイトです。
宣言
【C#の場合】

public const int DCRPC_MAX_MESSAGE_SIZE

【Visual Basicの場合】

Public Const DCRPC_MAX_MESSAGE_SIZE As Integer

【J#の場合】

public static final int DCRPC_MAX_MESSAGE_SIZE

【COBOL言語の場合】
COBOL言語から定数値のフィールドを使用する場合は,「付録B Client .NETで利用できるクラスのフィールド」を参照して,対応する値を指定してください。

メソッドの詳細

AcceptNotification

説明
サーバ側の関数(dc_rpc_cltsend関数)によって通知されるメッセージを,timeout引数に指定した時間まで待ち続けます。メッセージを受信した時点でCUP.NETに制御を戻し,通知メッセージ,通知メッセージ長,通知元サーバのホスト名,および通知元サーバのノード識別子を返します。
宣言
【C#の場合】

public void AcceptNotification(
   byte[] inf,
   ref int inf_len,
   int port,
   int timeout,
   byte[] hostname,
   byte[] nodeid
);

【Visual Basicの場合】

Public Sub AcceptNotification( _
   ByVal inf() As Byte, _
   ByRef inf_len As Integer, _
   ByVal port As Integer, _
   ByVal timeout As Integer, _
   ByVal hostname() As Byte, _
   ByVal nodeid() As Byte _
)

【J#の場合】

public void AcceptNotification(
   ubyte[] inf,
   int inf_len,
   int port,
   int timeout,
   ubyte[] hostname,
   ubyte[] nodeid
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. AcceptNotification PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 inf           USAGE OBJECT REFERENCE BYTE-ARRAY.
01 inf_len       USAGE BINARY-LONG.
01 port          USAGE BINARY-LONG.
01 timeout       USAGE BINARY-LONG.
01 hostname      USAGE OBJECT REFERENCE BYTE-ARRAY.
01 nodeid        USAGE OBJECT REFERENCE BYTE-ARRAY.
PROCEDURE DIVISION USING BY VALUE inf BY REFERENCE inf_len
                       BY VALUE port BY VALUE timeout
                       BY VALUE hostname BY VALUE nodeid.
END METHOD AcceptNotification.

パラメタ
inf
サーバからの通知メッセージを格納する領域を指定します。
メソッドが正常終了した場合,サーバからの通知メッセージが格納されます。
inf_len
サーバからの通知メッセージを格納する領域の長さ(inf引数の長さ)を指定します。0からDCRPC_MAX_MESSAGE_SIZEの範囲で指定します。
ただし,Client .NET構成定義の<rpc>要素のmaxMessageSize属性に2以上を指定した場合,指定できる最大値は,DCRPC_MAX_MESSAGE_SIZEの値(1メガバイト)ではなく,Client .NET構成定義の<rpc>要素のmaxMessageSize属性に指定した値になります。
メソッドが正常終了した場合,サーバからの通知メッセージ長が格納されます。
port
サーバからの通知メッセージを受信するポート番号を,5001から65535の範囲で指定します。
同一マシン内で,複数のプロセス,または複数のスレッドを同時に実行する場合,port引数にはそれぞれ異なるポート番号を指定してください。また,port引数に指定できるポート番号でも,OS,またはほかのプログラムが使用するポート番号は指定しないでください。指定した場合,応答データを正しく受信できないことがあります。なお,OSが使用するポート番号は,OSごとに異なります。OSが使用するポート番号については,ご利用のOSの関連ドキュメントを参照してください。
timeout
タイムアウト値を,0から65535(単位:秒)の範囲で指定します。0を指定した場合,無限に待ち続けます。
hostname
通知してきたサーバのホスト名を格納する領域を指定します。256バイト以上を指定してください。
メソッドが正常終了した場合,通知元サーバのホスト名が格納されます。Client .NETは,通知元サーバのIPアドレスからSystem.Net.IPHostEntryクラスのオブジェクトを作成し,そのオブジェクトのHostNameプロパティからホスト名を取得します。取得したホスト名は,プラットフォームのデフォルト文字セットを使用して,バイト配列に変換されます。この結果が,hostnameに格納されます。通知元サーバのIPアドレスからホスト名への変換に失敗した場合,10進ドット記法(例:10.209.15.124)のIPアドレスをhostnameに格納します。
nullを指定した場合は,通知してきたサーバのホスト名を格納しません。
nodeid
通知してきたサーバのノード識別子を格納する領域を指定します。8バイト以上を指定してください。
メソッドが正常終了した場合,通知元サーバのノード識別子が格納されます。ノード識別子のフォーマットは,次のとおりです。
[図データ]
戻り値
なし
例外
ErrInvalidArgsException
メソッドの引数の指定に誤りがあります。
ErrProtoException
OpenRpcメソッドが実行されていません。
ErrIOErrException
何らかの入出力例外が発生しました。
ErrInvalidPortException
port引数で指定したポート番号は使用中です。
ErrClientTimedOutException
Client .NETでタイムアウトが発生しました。
ErrNetDownAtClientException
TP1/ServerとCUP.NETの間でネットワーク障害が発生しました。
ErrInvalidMessageException
不正なメッセージを受信しました。
ErrAcceptCanceledException
一方通知受信待ち状態がCancelNotificationによって解除されました。このときinf引数,inf_len引数,およびhostname引数にはすでに値が設定されています。nodeid引数には,先頭から8バイト目まで0で初期化された値が設定されます。
ErrReplyTooBigException
受信したメッセージが,CUP.NETで用意した領域に収まりません。収まらないメッセージは切り捨てました。このとき,hostname引数およびnodeid引数には,すでに値が設定されています。
ErrVersionException
通知元サーバのバージョンが不正です。
ErrSyserrException
システムエラーが発生しました。

 

AcceptNotificationChained

説明
サーバ側の関数(dc_rpc_cltsend関数)によって通知されるメッセージを,timeout引数で指定した時間まで待ち続けます。メッセージを受信した時点でCUP.NETに制御を戻し,通知メッセージ,通知メッセージ長,通知元サーバのホスト名,および通知元サーバのノード識別子を返します。このメソッドを発行するときは,あらかじめOpenNotificationメソッドを発行しておく必要があります。このメソッドは,OpenNotificationメソッドからCloseNotificationメソッドまでの間で発行できます。
宣言
【C#の場合】

public void AcceptNotificationChained(
   byte[] inf,
   ref int inf_len,
   int timeout,
   byte[] hostname,
   byte[] nodeid
);

【Visual Basicの場合】

Public Sub AcceptNotificationChained( _
   ByVal inf() As Byte, _
   ByRef inf_len As Integer, _
   ByVal timeout As Integer, _
   ByVal hostname() As Byte, _
   ByVal nodeid() As Byte _
)

【J#の場合】

public void AcceptNotificationChained(
   ubyte[] inf,
   int inf_len,
   int timeout,
   ubyte[] hostname,
   ubyte[] nodeid
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. AcceptNotificationChained PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 inf           USAGE OBJECT REFERENCE BYTE-ARRAY.
01 inf_len       USAGE BINARY-LONG.
01 timeout       USAGE BINARY-LONG.
01 hostname      USAGE OBJECT REFERENCE BYTE-ARRAY.
01 nodeid        USAGE OBJECT REFERENCE BYTE-ARRAY.
PROCEDURE DIVISION USING BY VALUE inf BY REFERENCE inf_len
                       BY VALUE timeout BY VALUE hostname
                       BY VALUE nodeid.
END METHOD AcceptNotificationChained.

パラメタ
inf
サーバからの通知メッセージを格納する領域を指定します。
メソッドが正常終了した場合,サーバからの通知メッセージが格納されます。
inf_len
サーバからの通知メッセージを格納する領域の長さ(inf引数の長さ)を指定します。0からDCRPC_MAX_MESSAGE_SIZEの範囲で指定します。
ただし,Client .NET構成定義の<rpc>要素のmaxMessageSize属性に2以上を指定した場合,指定できる最大値はDCRPC_MAX_MESSAGE_SIZEの値(1メガバイト)ではなく,Client .NET構成定義の<rpc>要素のmaxMessageSize属性に指定した値になります。
メソッドが正常終了した場合,サーバからの通知メッセージ長が格納されます。
timeout
タイムアウト値を,0から65535(単位:秒)の範囲で指定します。0を指定した場合,無限に待ち続けます。
hostname
通知してきたサーバのホスト名を格納する領域を指定します。256バイト以上を指定してください。
メソッドが正常終了した場合,通知元サーバのホスト名が格納されます。Client .NETは,通知元サーバのIPアドレスからSystem.Net.IPHostEntryクラスのオブジェクトを作成し,そのオブジェクトのHostNameプロパティからホスト名を取得します。取得したホスト名は,プラットフォームのデフォルト文字セットを使用して,バイト配列に変換されます。この結果が,hostnameに格納されます。通知元サーバのIPアドレスからホスト名への変換に失敗した場合,10進ドット記法(例:10.209.15.124)のIPアドレスをhostnameに格納します。
nullを指定した場合,通知してきたサーバのホスト名を格納しません。
nodeid
通知してきたサーバのノード識別子を格納する領域を指定します。8バイト以上を指定してください。
メソッドが正常終了した場合,通知元サーバのノード識別子が格納されます。
ノード識別子のフォーマットは,次のとおりです。
[図データ]
戻り値
なし
例外
ErrInvalidArgsException
メソッドの引数の指定に誤りがあります。
ErrProtoException
OpenNotificationメソッドが実行されていません。
ErrIOErrException
何らかの入出力例外が発生しました。
ErrClientTimedOutException
Client .NETでタイムアウトが発生しました。
ErrNetDownAtClientException
TP1/ServerとCUP.NETの間でネットワーク障害が発生しました。
ErrInvalidMessageException
不正なメッセージを受信しました。
ErrAcceptCanceledException
一方通知受信待ち状態がCancelNotificationメソッドによって解除されました。このとき,inf引数,inf_len引数,およびhostname引数には,すでに値が設定されています。nodeid引数は,先頭から8バイト目まで0で初期化された値が設定されます。
ErrReplyTooBigException
受信したメッセージが,CUP.NETで用意した領域に収まりません。収まらないメッセージは切り捨てました。このとき,hostname引数およびnodeid引数には,すでに値が設定されています。
ErrVersionException
通知元サーバのバージョンが不正です。
ErrSyserrException
システムエラーが発生しました。

 

Begin

説明
グローバルトランザクションを,Beginメソッドを呼び出すTP1Clientオブジェクトから開始します。
このメソッドは,リモートAPI機能を使用する場合で,要求先TP1/Server Baseのバージョンが05-00以降のときだけ使用できます。
宣言
【C#の場合】

public void Begin(
);

【Visual Basicの場合】

Public Sub Begin( _
)

【J#の場合】

public void Begin(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. Begin PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD Begin.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrProtoException
Beginメソッドを不正なコンテキストから呼び出しています。
Hitachi.OpenTP1.Client.ErrTMException
トランザクションサービスでエラーが発生したため,トランザクションは開始できませんでした。
この例外が返されたあと,適当な時間を置いてから再度このメソッドを呼び出すと,トランザクションを開始できることがあります。
Hitachi.OpenTP1.Client.ErrRMException
リソースマネジャでエラーが発生しました。トランザクションは開始できませんでした。
Hitachi.OpenTP1.Client.ErrNoBufsException
メモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNotUpException
TP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrTimedOutException
タイムアウトが発生しました。
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrConnfreeException
CUP.NET実行プロセス側から常設コネクションが解放されました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrHostUndefException
通信先となるTP1/Serverのホスト名が,Client .NET構成定義の<TP1Server>要素に指定されていないか,または指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrInvalidPortException
通信先ポートが不正か,または設定されていません。

 

Call

説明
SPP.NETまたはSPPのサービスを要求します。
サービスグループ名とサービス名の組み合わせで識別されるサービスメソッドまたはサービス関数を呼び出し,その応答を受け取ります。このメソッドを呼び出したときに,目的のサービスグループが閉塞されているとErrServiceClosedExceptionが返されます。
flagsパラメタにDCRPC_TPNOTRANを指定すると,トランザクションの処理からのRPCをトランザクションの処理ではないサービス要求にできます。
このメソッドを呼び出したときに,目的のサービスグループがdcsvstopコマンドなどで終了処理中,または終了している場合は,ErrServiceTerminatingException,ErrServiceClosedException,またはErrNoSuchServiceGroupExceptionのどれかが返されます。どの例外が返されるかは,このメソッドを呼び出したタイミングによって異なります。
ソケット受信型サーバでは,ユーザサービス定義のmax_socket_msgおよびmax_socket_msglenオペランドの指定でメッセージの輻輳制御を行っています。そのためサーバがサービス要求を受信できない場合があります。この場合,メソッドを呼び出すとErrServerBusyExceptionが返されます。
この例外が返されたあと,適当な時間を置いてから再度このメソッドを呼び出すと,サービスを要求できることがあります。
宣言
【C#の場合】

public void Call(
 string group,
 string service,
 byte[] in_data,
 int in_length,
 byte[] out_data,
 ref int out_length,
 int flags
);

【Visual Basicの場合】

Public Sub Call( _
 ByVal group As String, _
 ByVal service As String, _
 ByVal in_data() As Byte, _
 ByVal in_length As Integer, _
 ByVal out_data() As Byte, _
 ByRef out_length As Integer, _
 ByVal flags As Integer _
)

【J#の場合】

public void Call(
 System.String group,
 System.String service,
 ubyte[] in_data,
 int in_length,
 ubyte[] out_data,
 int out_length,
 int flags
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. Call PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 group         USAGE STRING.
01 service       USAGE STRING.
01 in_data       USAGE OBJECT REFERENCE BYTE-ARRAY.
01 in_length     USAGE BINARY-LONG.
01 out_data      USAGE OBJECT REFERENCE BYTE-ARRAY.
01 out_length    USAGE BINARY-LONG.
01 flags         USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE group BY VALUE service
                 BY VALUE in_data BY VALUE in_length
                 BY VALUE out_data BY REFERENCE out_length
                 BY VALUE flags.
END METHOD Call.

パラメタ
group
サービスグループ名を,1から31文字の識別子で指定します。
service
サービス名を,1から31文字の識別子で指定します。
in_data
サービスの入力パラメタを指定します。
in_length
サービスの入力パラメタの応答領域長を,1からDCRPC_MAX_MESSAGE_SIZEの指定値までの範囲で指定します。
out_data
サービスメソッドまたはサービス関数で指定した応答が返される領域を指定します。
非応答型RPCの場合はnullを指定します。非応答型RPCの場合,null以外の値を指定しても何も格納されません。
out_length
サービスの応答の長さを,1からDCRPC_MAX_MESSAGE_SIZEの指定値までの範囲で指定します。
サービス要求終了時,SPP.NETのサービスメソッド,またはSPPのサービス関数で指定した応答の長さがout_lengthパラメタに設定されます。
非応答型RPCの場合,応答の長さを指定しても無視され,サービス要求終了時,out_lengthパラメタには何も設定されません。
flags
RPCの形態を指定します。
  • DCNOFLAGS:同期応答型RPC
  • DCRPC_NOREPLY:非応答型RPC
  • DCRPC_CHAINED:連鎖RPC
  • DCRPC_TPNOTRAN:トランザクションを引き継がないRPC
    このフラグを指定すると,トランザクションの処理からのRPCは,トランザクションの処理にしないサービス要求になります。このフラグはDCNOFLAGS,DCRPC_NOREPLY,またはDCRPC_CHAINEDと組み合わせて指定できます。

 

【指定例】

flags = TP1ClientFlags.DCNOFLAGS
       |TP1ClientFlags.DCRPC_TPNOTRAN;

DCNOFLAGSまたはDCRPC_CHAINEDを指定すると,サーバから応答が返されるか,Client .NET構成定義の<rpc>要素のWatchTime属性で指定した最大応答待ち時間が経過してタイムアウトするまで,このメソッドは制御を戻しません。ただし,サービス要求先のSPP.NETまたはSPPが異常終了した場合は,すぐに例外を返します。この場合,Client .NET構成定義の<rpc>要素のWatchTime属性で指定した値によって,次の例外を返します。
  • 1~65535の値を指定した場合:ErrTimedOutException
  • 0を指定した場合:ErrServiceNotUpException

 

DCRPC_NOREPLYを指定すると,要求したサービスは応答を返さないサービスと見なされます。この場合,このメソッドはサービスの実行終了を待たないですぐに制御を戻します。このフラグを指定した場合,応答(out_dataパラメタの指定値)と応答の長さ(out_lengthパラメタの指定値)は参照できません。さらに,サービスメソッドまたはサービス関数が実行されたかどうかはCUP.NET側からはわかりません。

 

DCRPC_CHAINEDを指定すると,同じサービスグループに属するサービスを複数回要求する場合は,最初の要求時と同一のプロセスで実行されます。
連鎖RPCを使用する場合,次に示す制限があります。
  • 2回目以降のこのメソッドの呼び出しの場合
    ユーザサーバおよびサービスの閉塞を検出できません。
  • 2回目以降のこのメソッドの呼び出しで,サービスメソッドまたはサービス関数の処理に異常が発生した場合
    サービス単位ではなく,ユーザサーバ全体が閉塞します。
  • flagsパラメタにDCRPC_CHAINEDを指定して呼び出したサービスの場合
    最後のサービス要求ではDCNOFLAGSを指定してRPCを実行する必要があります。最後のサービス要求でDCNOFLAGSを指定しないでCloseConnectionメソッドを呼び出すと,ErrTimedOutException,またはほかの例外を返します。また,サービスを実行していたプロセスは,連鎖RPCがタイムアウトするまでプロセスを占有されます。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。この場合,詳細メッセージに誤っているパラメタ名が設定されます。
Hitachi.OpenTP1.Client.ErrProtoException
メソッドの発行順序に誤りがあります。OpenConnectionメソッドが呼び出されていません。
Hitachi.OpenTP1.Client.ErrNoBufsException
メモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。または,通信先のTP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrTimedOutException
このメソッドの処理でタイムアウトが発生しました。または,サービス要求先のSPP.NETもしくはSPPが処理を完了する前に異常終了しました。
Hitachi.OpenTP1.Client.ErrMessageTooBigException
in_lengthパラメタに指定した入力パラメタ長が最大値を超えています。
Hitachi.OpenTP1.Client.ErrReplyTooBigException
サーバから返された応答の長さが,CUP.NETで用意した領域(out_dataパラメタの指定値)の長さを超えています。
Hitachi.OpenTP1.Client.ErrNoSuchServiceGroupException
groupパラメタに指定したサービスグループ名は定義されていません。
Hitachi.OpenTP1.Client.ErrNoSuchServiceException
serviceパラメタに指定したサービス名は定義されていません。
Hitachi.OpenTP1.Client.ErrServiceClosedException
serviceパラメタに指定したサービス名が存在するサービスグループは閉塞されています。
Hitachi.OpenTP1.Client.ErrServiceTerminatingException
serviceパラメタに指定したサービスは終了処理中です。
Hitachi.OpenTP1.Client.ErrServiceNotUpException
サービス要求したSPP.NETもしくはSPPは稼働していません。または,サービス要求したSPP.NETもしくはSPPが処理を完了する前に異常終了しました。
この例外は,Client .NET構成定義の<rpc>要素のWatchTime属性に0を指定した(応答を無限に待つ)場合に返されます。
Hitachi.OpenTP1.Client.ErrNotUpException
指定したサービスが存在するノードのTP1/Serverが稼働していません。
この場合,異常終了,停止中,終了処理中,またはネットワーク障害の発生が考えられます。
Hitachi.OpenTP1.Client.ErrSyserrAtServerException
指定したサービスでシステムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrNoBufsAtServerException
指定したサービスでメモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrInvalidReplyException
サービスメソッドまたはサービス関数が返した応答の長さが,1からDCRPC_MAX_MESSAGE_SIZEで指定した値までの範囲にありません。
Hitachi.OpenTP1.Client.ErrInitializingException
サービス要求したノードにあるTP1/Serverは開始処理中です。
Hitachi.OpenTP1.Client.ErrTrnchkException
ノード間負荷バランス機能を使用している環境で,複数のSPP.NETまたはSPPのトランザクション属性が一致していません。または,負荷を分散する先のノードにあるTP1/Serverのバージョンが,Client .NETのバージョンよりも古いため,ノード間負荷バランス機能を実行できません。
この例外は,ノード間負荷バランス機能を使用しているSPP.NETまたはSPPにサービス要求した場合だけ返されます。
Hitachi.OpenTP1.Client.ErrNotTrnExtendException
トランザクション処理の連鎖RPCを使用したあとで,flagsパラメタにDCRPC_TPNOTRANを指定したサービスを要求しています。
Hitachi.OpenTP1.Client.ErrTrnchkExtendException
次のどれかの要因が考えられます。
  • 同時に起動できるトランザクションブランチの数を超えたため,トランザクションブランチを開始できない。
  • 一つのトランザクションブランチから開始できる子トランザクションブランチの最大数を超えたため,トランザクションブランチを開始できない。
  • トランザクション内でドメイン修飾をしたサービス要求で,flagsパラメタにDCRPC_TPNOTRANを設定していない。
Hitachi.OpenTP1.Client.ErrServerBusyException
サービス要求先のソケット受信型サーバが,サービス要求を受信できません。
Hitachi.OpenTP1.Client.ErrSecchkException
サービス要求先のSPP.NETまたはSPPは,セキュリティ機能で保護されています。Callメソッドを呼び出したCUP.NETには,SPP.NETまたはSPPへのアクセス権限がありません。
Hitachi.OpenTP1.Client.ErrServiceTerminatedException
サービス要求したSPP.NETまたはSPPが,処理を完了する前に異常終了しました。
この例外はrapサービス定義のrpc_extend_functionオペランドに00000001を指定した場合だけ返されます。
rpc_extend_functionオペランドに00000000を指定,またはオペランドを省略した場合は,ErrTimedOutExceptionまたはErrServiceNotUpExceptionが返されます。
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。rapサーバが問い合わせ間隔の時間監視でタイムアウトし,コネクションを切断したことも考えられます。
Hitachi.OpenTP1.Client.ErrTestmodeException
テストモードのSPPに対してサービス要求を行いました。
Hitachi.OpenTP1.Client.ErrConnfreeException
rapサーバとの常設コネクションが切断されました。
Hitachi.OpenTP1.Client.ErrHostUndefException
通信先となるTP1/Serverのホスト名がClient .NET構成定義の<TP1Server>要素に指定されていないか,または指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrInvalidPortException
次の要因が考えられます。
  • リモートAPI機能を使用したRPCを行う場合,Client .NET構成定義で<rapService>要素のport属性が指定されていない。
  • スケジューラダイレクト機能を使用したRPCを行う場合,Client .NET構成定義で<scheduleService>要素のport属性が指定されていない。
注意事項
入力パラメタ(in_dataパラメタの指定値)と,サービスメソッドまたはサービス関数の応答(out_dataパラメタの指定値)に同じ領域を指定しないでください。
flagsパラメタにDCRPC_NOREPLYを指定した場合,次の例外は返されません。
  • 発生しない例外
    ErrReplyTooBigException
    ErrInvalidReplyException
  • 発生しても検出できない例外
    ErrNoSuchServiceException
    ErrServiceClosedException
    ErrServiceTerminatingException
    ErrSyserrAtServerException
    ErrNoBufsAtServerException
    ErrNotUpException
ErrTimedOutExceptionが返される場合,次に示す要因が考えられます。
  • Client .NET構成定義またはTP1/Serverの定義で指定した最大応答待ち時間が短い。
  • サービス要求先のSPP.NETから発行したサービスメソッド,またはSPPから発行したサービス関数が異常終了した。
  • サービス要求先のSPP.NETまたはSPPが存在するノードに障害が発生した。
  • サービス要求先のSPP.NETまたはSPPの処理完了前に異常終了した。
  • ネットワーク障害が発生した。
上記の場合,サービス要求先のSPP.NETまたはSPPから開始したトランザクションの処理はコミットされて,データが更新されていることがあります。データが更新されているかどうか確認してください。
このメソッドの呼び出し時,何らかの障害が発生した場合には例外が返されますが,その障害によってrapリスナーおよびrapサーバとの常設コネクションが切断されたかどうかは,その時点では判断できません。この場合,再びこのメソッドを呼び出すと,rapリスナーおよびrapサーバとの常設コネクションが切断されていれば,ErrConnfreeExceptionが返されます。
このメソッドの呼び出し時,何らかの障害でrapリスナーおよびrapサーバとの常設コネクションが切断された場合は,再びOpenConnectionメソッドを呼び出してrapリスナーおよびrapサーバとの常設コネクションを確立する必要があります。
オートコネクトモードを使用した常設コネクションの場合,サービス要求送信時にrapサーバとのネットワーク障害が発生すると,一度だけリトライ処理を行います。リトライしてもコネクションが確立されない場合は,ErrNetDownExceptionが返されます。
スケジューラダイレクト機能を使用したRPC,およびネームサービスを使用したRPCでは,flagsパラメタにDCRPC_CHAINEDを指定できません。

 

CallTo

説明
Callメソッドと同様に,SPP.NETまたはSPPのサービスを要求します。
CallToメソッドでは,サービスグループ名,サービス名,およびホスト名を検索のキーにして,該当するサービスメソッドまたはサービス関数をサービスの要求先に限定します。
このメソッドを呼び出す前にCreateScdDirectObjectメソッドを呼び出し,DCRpcBindTblインスタンスを作成しておく必要があります。
それ以外のインタフェースは,Callメソッドと同じです。
宣言
【C#の場合】

public void CallTo(
 Hitachi.OpenTP1.Client.DCRpcBindTbl direction,
 string group,
 string service,
 byte[] in_data,
 int in_length,
 byte[] out_data,
 ref int out_length,
 int flags
);

【Visual Basicの場合】

Public Sub CallTo( _
 ByVal direction As Hitachi.OpenTP1.Client.DCRpcBindTbl, _
 ByVal group As String, _
 ByVal service As String, _
 ByVal in_data() As Byte, _
 ByVal in_length As Integer, _
 ByVal out_data() As Byte, _
 ByRef out_length As Integer, _
 ByVal flags As Integer _
)

【J#の場合】

public void CallTo(
 Hitachi.OpenTP1.Client.DCRpcBindTbl direction,
 System.String group,
 System.String service,
 ubyte[] in_data,
 int in_length,
 ubyte[] out_data,
 int out_length,
 int flags
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.
 CLASS DCRPC-BINDTBL   AS 'Hitachi.OpenTP1.Client.DCRpcBindTbl'.

IDENTIFICATION DIVISION.
METHOD-ID. CallTo PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 direction     USAGE OBJECT REFERENCE DCRPC-BINDTBL.
01 group         USAGE STRING.
01 service       USAGE STRING.
01 in_data       USAGE OBJECT REFERENCE BYTE-ARRAY.
01 in_length     USAGE BINARY-LONG.
01 out_data      USAGE OBJECT REFERENCE BYTE-ARRAY.
01 out_length    USAGE BINARY-LONG.
01 flags         USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE direction BY VALUE group BY VALUE service
                       BY VALUE in_data BY VALUE in_length
                       BY VALUE out_data BY REFERENCE out_length BY VALUE flags.
END METHOD CallTo.

パラメタ
direction
DCRpcBindTblオブジェクトを指定します。
このメソッドを呼び出す前にCreateScdDirectObjectメソッドを呼び出し,通信先情報を設定しておきます。
group
サービスグループ名を1から31文字の識別子で指定します。
service
サービス名を1から31文字の識別子で指定します。
in_data
サービスの入力パラメタを指定します。
in_length
サービスの入力パラメタの応答領域長を,1からDCRPC_MAX_MESSAGE_SIZEの指定値までの範囲で指定します。
out_data
サービスメソッドまたはサービス関数で指定した応答が返される領域を指定します。
非応答型RPCの場合はnullを指定します。非応答型RPCの場合,null以外の値を指定しても何も格納されません。
out_length
サービスの応答の長さを,1からDCRPC_MAX_MESSAGE_SIZEの指定値までの範囲で指定します。
flags
RPCの形態を指定します。
  • DCNOFLAGS:同期応答型RPC
  • DCRPC_NOREPLY:非応答型RPC
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。詳細メッセージに誤ったパラメタ名が設定されます。
Hitachi.OpenTP1.Client.ErrProtoException
メソッドの発行順序に誤りがあります。OpenConnectionメソッドが呼び出されていません。
Hitachi.OpenTP1.Client.ErrNoBufsException
メモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。または,通信先のTP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrTimedOutException
このメソッドの処理でタイムアウトが発生しました。または,サービス要求先のSPP.NETもしくはSPPが処理を完了する前に異常終了しました。
Hitachi.OpenTP1.Client.ErrMessageTooBigException
in_lengthパラメタに指定した入力パラメタ長が最大値を超えています。
Hitachi.OpenTP1.Client.ErrReplyTooBigException
サーバから返された応答の長さが,CUP.NETで用意した領域(out_dataパラメタの指定値)の長さを超えています。
Hitachi.OpenTP1.Client.ErrNoSuchServiceGroupException
groupパラメタに指定したサービスグループ名は定義されていません。
Hitachi.OpenTP1.Client.ErrNoSuchServiceException
serviceパラメタに指定したサービス名は定義されていません。
Hitachi.OpenTP1.Client.ErrServiceClosedException
serviceパラメタに指定したサービス名が存在するサービスグループは閉塞されています。
Hitachi.OpenTP1.Client.ErrServiceTerminatingException
serviceパラメタに指定したサービスは終了処理中です。
Hitachi.OpenTP1.Client.ErrServiceNotUpException
サービス要求したSPP.NETもしくはSPPは稼働していません。または,サービス要求したSPP.NETもしくはSPPが処理を完了する前に異常終了しました。
この例外は,Client .NET構成定義の<rpc>要素のWatchTime属性に0を指定した(応答を無限に待つ)場合に返されます。
Hitachi.OpenTP1.Client.ErrNotUpException
指定したサービスが存在するノードのTP1/Serverが稼働していません。
この場合,異常終了,停止中,終了処理中,またはネットワーク障害の発生が考えられます。
Hitachi.OpenTP1.Client.ErrSyserrAtServerException
指定したサービスでシステムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrNoBufsAtServerException
指定したサービスでメモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrInvalidReplyException
サービスメソッドまたはサービス関数が返した応答の長さが,1からDCRPC_MAX_MESSAGE_SIZEで指定した値までの範囲にありません。
Hitachi.OpenTP1.Client.ErrInitializingException
サービス要求したノードにあるTP1/Serverは開始処理中です。
Hitachi.OpenTP1.Client.ErrTrnchkException
ノード間負荷バランス機能を使用している環境で,複数のSPP.NETまたはSPPのトランザクション属性が一致していません。または,負荷を分散する先のノードにあるTP1/Serverのバージョンが,Client .NETのバージョンよりも古いため,ノード間負荷バランス機能を実行できません。
この例外は,ノード間負荷バランス機能を使用しているSPP.NETまたはSPPにサービス要求した場合だけ返されます。
Hitachi.OpenTP1.Client.ErrNotTrnExtendException
トランザクション処理の連鎖RPCを使用したあとで,flagsパラメタにDCRPC_TPNOTRANを指定したサービスを要求しています。
Hitachi.OpenTP1.Client.ErrTrnchkExtendException
次のどれかの要因が考えられます。
  • 同時に起動できるトランザクションブランチの数を超えたため,トランザクションブランチを開始できない。
  • 一つのトランザクションブランチから開始できる子トランザクションブランチの最大数を超えたため,トランザクションブランチを開始できない。
  • トランザクション内でドメイン修飾をしたサービス要求で,flagsパラメタにDCRPC_TPNOTRANを設定していない。
Hitachi.OpenTP1.Client.ErrServerBusyException
サービス要求先のソケット受信型サーバが,サービス要求を受信できません。
Hitachi.OpenTP1.Client.ErrSecchkException
サービス要求先のSPP.NETまたはSPPは,セキュリティ機能で保護されています。Callメソッドを呼び出したCUP.NETには,SPP.NETまたはSPPへのアクセス権限がありません。
Hitachi.OpenTP1.Client.ErrServiceTerminatedException
サービス要求したSPP.NETまたはSPPが,処理を完了する前に異常終了しました。
この例外は,rapサービス定義のrpc_extend_functionオペランドに00000001を指定した場合だけ返されます。
rpc_extend_functionオペランドに00000000を指定,またはオペランドを省略した場合は,ErrTimedOutExceptionまたはErrServiceNotUpExceptionが返されます。
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。rapサーバが問い合わせ間隔の時間監視でタイムアウトし,コネクションを切断したことも考えられます。
Hitachi.OpenTP1.Client.ErrTestmodeException
テストモードのSPPに対してサービス要求を行いました。
Hitachi.OpenTP1.Client.ErrConnfreeException
rapサーバとの常設コネクションが切断されました。
Hitachi.OpenTP1.Client.ErrHostUndefException
通信先となるTP1/Serverのホスト名がClient .NET構成定義の<TP1Server>要素に指定されていないか,または指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrInvalidPortException
次の要因が考えられます。
  • リモートAPI機能を使用したRPCを行う場合
    Client .NET構成定義の<rapService>要素のport属性が指定されていない。
  • スケジューラダイレクト機能を使用したRPCを行う場合
    Client .NET構成定義の<scheduleService>要素のport属性が指定されていない。
注意事項
ソケット受信型のユーザサーバにサービス要求を行った場合,このメソッドは,ErrServiceNotUpExceptionを返します。
サービス要求先のTP1/Serverのバージョンは,03-03以降でなければなりません。これ以前のバージョンのTP1/Serverをサービス要求先に指定した場合は,動作の保証はできません。
このメソッドは,リモートAPI機能を使用したRPCでは使用できません。リモートAPI機能を使用しているときにこのメソッドを発行した場合,このメソッドは,ErrProtoExceptionを返します。
このメソッドは,連鎖RPCでは使用できません。flagsパラメタにDCRPC_CHAINEDを指定した場合,このメソッドはErrInvalidArgsExceptionを返します。
CallToメソッドの呼び出し時は,Client .NET構成定義の次のオペランドは参照されません。
  • <TP1Server>要素
  • <nameService>要素のport属性
  • <scheduleService>要素のport属性,およびusePriority属性
また,SetTP1Serverメソッドで指定されたホスト名およびポート番号も参照されません。
これらの指定値は,次回Callメソッドの呼び出し時に有効になります。
サービス要求先のホスト名に誤りがあった場合,このメソッドはErrHostUndefExceptionを返します。
サービス要求先のポート番号に誤りがあった場合,このメソッドはErrInvalidPortExceptionを返します。

 

CancelNotification

説明
サーバからの一方通知受信待ち状態(AcceptNotificationメソッド,またはAcceptNotificationChainedメソッドの発行)を解除します。解除するときに,inf引数に指定したメッセージを,一方通知受信待ち状態のCUP.NETに通知できます。
宣言
【C#の場合】

public void CancelNotification(
 byte[] inf,
 int inf_len,
 string hostname,
 int port
);

【Visual Basicの場合】

Public Sub CancelNotification( _
 ByVal inf() As Byte, _
 ByVal inf_len As Integer, _
 ByVal hostname As String, _
 ByVal port As Integer _
)

【J#の場合】

public void CancelNotification(
 ubyte[] inf,
 int inf_len,
 System.String hostname,
 int port
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. CancelNotification PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 inf           USAGE OBJECT REFERENCE BYTE-ARRAY.
01 inf_len       USAGE BINARY-LONG.
01 hostname      USAGE STRING.
01 port          USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE inf BY VALUE inf_len
                       BY VALUE hostname BY VALUE port.
END METHOD CancelNotification.

パラメタ
inf
CUP.NETに通知するメッセージを指定します。
inf_len
CUP.NETに通知するメッセージ長(inf引数の長さ)を指定します。0からDCRPC_MAX_MESSAGE_SIZEの範囲で指定します。0を指定した場合はCUP.NETにメッセージを通知しません。
ただし,Client .NET構成定義の<rpc>要素のmaxMessageSize属性に2以上を指定した場合,指定できる最大値はDCRPC_MAX_MESSAGE_SIZEの値(1メガバイト)ではなく,Client .NET構成定義の<rpc>要素のmaxMessageSize属性に指定した値になります。
hostname
一方通知受信待ち状態のCUP.NETが存在するホスト名を指定します。ホスト名として,10進ドット記法(例:10.209.15.124)のIPアドレスを指定することもできます。
port
一方通知受信待ち状態のCUP.NETのポート番号を,5001から65535の範囲で指定します。
戻り値
なし
例外
ErrInvalidArgsException
メソッドの引数の指定に誤りがあります。
ErrProtoException
OpenRpcメソッドが実行されていません。
ErrIOErrException
何らかの入出力例外が発生しました。
ErrInvalidPortException
port引数で指定したポート番号が不正です。
ErrClientTimedOutException
Client .NETでタイムアウトが発生しました。
ErrNetDownAtClientException
CUP.NET間でネットワーク障害が発生しました。
ErrHostUndefException
hostname引数で指定したホスト名が不正です。
ErrSyserrException
システムエラーが発生しました。

 

CloseConnection

説明
CUP.NETとrapリスナーおよびrapサーバとの間で確立されている常設コネクションを切断します。
宣言
【C#の場合】

public void CloseConnection(
);

【Visual Basicの場合】

Public Sub CloseConnection( _
)

【J#の場合】

public void CloseConnection(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. CloseConnection PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD CloseConnection.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrProtoException
メソッドの発行順序に誤りがあります。
すでにコネクションが切断されている状態で,再度CloseConnectionメソッドが呼び出されました。
Hitachi.OpenTP1.Client.ErrTimedOutException
rapリスナー,rapサーバとのコネクション切断中に,タイムアウトが発生しました。
Hitachi.OpenTP1.Client.ErrNetDownException
rapリスナーとの通信でネットワーク障害が発生しました。
注意事項
このメソッドが例外を返した場合でも,常設コネクションは切断されています。

 

CloseNotification

説明
一方通知連続受信機能を使用するための環境を削除します。このメソッドは,OpenNotificationメソッドと対で発行します。OpenNotificationメソッドが正常終了した場合は,必ずこのメソッドを発行してください。
宣言
【C#の場合】

public void CloseNotification(
);

【Visual Basicの場合】

Public Sub CloseNotification( _
)

【J#の場合】

public void CloseNotification(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. CloseNotification PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD CloseNotification.

パラメタ
なし
戻り値
なし
例外
ErrNetDownAtClientException
TP1/ServerとCUP.NETの間でネットワーク障害が発生しました。
ErrSyserrException
システムエラーが発生しました。

 

CloseRpc

説明
TP1/ServerのSPP.NETまたはSPPを呼び出すための環境を解放します。
TP1/ServerのSPP.NETまたはSPPに対して再度サービス呼び出しを行う場合は,OpenRpcメソッドを呼び出します。
CUP.NETの実行の最後にこのメソッドを呼び出します。
宣言
【C#の場合】

public void CloseRpc(
);

【Visual Basicの場合】

Public Sub CloseRpc( _
)

【J#の場合】

public void CloseRpc(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. CloseRpc PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD CloseRpc.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。

 

Commit

説明
トランザクションの同期点を取得します。
Commitメソッドが正常に終了すると,グローバルトランザクションは終了します。
グローバルトランザクションの範囲外からは,SPP.NETまたはSPPをトランザクションとして実行できません。
宣言
【C#の場合】

public void Commit(
);

【Visual Basicの場合】

Public Sub Commit( _
)

【J#の場合】

public void Commit(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. Commit PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD Commit.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrProtoException
Commitメソッドを不正なコンテキストから呼び出しています。
Hitachi.OpenTP1.Client.ErrRollbackException
現在のトランザクションは,コミットできないでロールバックしました。
プロセスはトランザクションの範囲外です。
Hitachi.OpenTP1.Client.ErrHeuristicException
Commitメソッドを実行したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
この例外は,ヒューリスティック決定の結果がグローバルトランザクションの同期点の結果と一致しない場合に返されます。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。
この例外が返されたあと,このプロセスはトランザクション下にありません。
プロセスはグローバルトランザクションの範囲外です。
Hitachi.OpenTP1.Client.ErrHazardException
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。
しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。
この例外が返されたあと,このプロセスはトランザクション下にありません。プロセスはグローバルトランザクションの範囲外です。
Hitachi.OpenTP1.Client.ErrNoBufsException
メモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNotUpException
TP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrTimedOutException
タイムアウトが発生しました。
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrConnfreeException
CUP.NET実行プロセス側から常設コネクションが解放されました。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。

 

CommitChained

説明
トランザクションの同期点を取得します。
CommitChainedメソッドが正常終了すると新しいグローバルトランザクションが発生し,以降実行するメソッドは新しいグローバルトランザクションの範囲になります。
宣言
【C#の場合】

public void CommitChained(
);

【Visual Basicの場合】

Public Sub CommitChained( _
)

【J#の場合】

public void CommitChained(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. CommitChained PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD CommitChained.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrProtoException
CommitChainedメソッドを不正なコンテキストから呼び出しています。
Hitachi.OpenTP1.Client.ErrRollbackException
現在のトランザクションはコミットできないでロールバックしました。
この例外が返されたあとも,このプロセスはトランザクション下にあり,グローバルトランザクションの範囲内です。
Hitachi.OpenTP1.Client.ErrHeuristicException
CommitChainedメソッドを実行したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
この例外は,ヒューリスティック決定の結果がグローバルトランザクションの同期点の結果と一致しない場合に返されます。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。
この例外が返されたあとも,このプロセスはトランザクション下にあり,グローバルトランザクションの範囲内です。
Hitachi.OpenTP1.Client.ErrHazardException
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。
この例外が返されたあとも,このプロセスはトランザクション下にあり,グローバルトランザクションの範囲内です。
Hitachi.OpenTP1.Client.ErrNoBeginException
コミットまたはロールバック処理は正常に終了しましたが,新しいトランザクションは開始できませんでした。
この例外が返されたあと,このプロセスはトランザクション下にありません。
Hitachi.OpenTP1.Client.ErrRollbackNoBeginException
コミットしようとしたトランザクションは,コミットできないでロールバックしました。
新しいトランザクションは開始できませんでした。
この例外が返されたあと,このプロセスはトランザクション下にありません。
Hitachi.OpenTP1.Client.ErrHeuristicNoBeginException
CommitChainedメソッドを呼び出したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
この例外は,ヒューリスティック決定の結果がグローバルトランザクションの同期点の結果と一致しない場合に返されます。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。新しいトランザクションは開始できませんでした。
この例外が返されたあと,このプロセスはトランザクション下にありません。
Hitachi.OpenTP1.Client.ErrHazardNoBeginException
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。
しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルの内容を参照してください。新しいトランザクションは開始できませんでした。
この例外が返されたあと,このプロセスはトランザクション下にありません。
Hitachi.OpenTP1.Client.ErrNoBufsException
メモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNotUpException
TP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrTimedOutException
タイムアウトが発生しました。
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrConnfreeException
CUP.NET実行プロセス側から常設コネクションが解放されました。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。

 

CreateScdDirectObject

説明
通信先スケジューラのホスト名およびポート番号を設定したDCRpcBindTblを作成します。
宣言
【C#の場合】

public Hitachi.OpenTP1.Client.DCRpcBindTbl
CreateScdDirectObject(
 string host,
 int scdport,
 int flags
);

【Visual Basicの場合】

Public Function CreateScdDirectObject( _
 ByVal host As String, _
 ByVal scdport As Integer, _
 ByVal flags As Integer _
) As Hitachi.OpenTP1.Client.DCRpcBindTbl

【J#の場合】

public Hitachi.OpenTP1.Client.DCRpcBindTbl
CreateScdDirectObject(
 System.String host,
 int scdport,
 int flags
);

【COBOL言語の場合】

REPOSITORY.
 CLASS DCRPC-BINDTBL   AS 'Hitachi.OpenTP1.Client.DCRpcBindTbl'.

IDENTIFICATION DIVISION.
METHOD-ID. CreateScdDirectObject PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 host          USAGE STRING.
01 scdport       USAGE BINARY-LONG.
01 flags         USAGE BINARY-LONG.
01 RESULT        USAGE OBJECT REFERENCE DCRPC-BINDTBL.
PROCEDURE DIVISION USING BY VALUE host BY VALUE scdport BY VALUE flags
                       RETURNING RESULT.
END METHOD CreateScdDirectObject.

パラメタ
host
通信先スケジュールサーバのホスト名を指定します。
不正なホスト名,およびnullが指定された場合,このメソッドのあとに呼び出すCallToメソッドは,ErrHostUndefExceptionを返します。
scdport
通信先スケジュールサーバのポート番号を指定します。
ポート番号は,5001から65535までの範囲で指定します。
不正なポート番号が指定された場合,このメソッドのあとに呼び出すCallToメソッドは,ErrInvalidPortExceptionを返します。
flags
DCNOFLAGSを指定します。
戻り値
DCRpcBindTblオブジェクト。
例外
なし

 

GetTransactionID

説明
現在のトランザクショングローバル識別子およびトランザクションブランチ識別子を取得します。
このメソッドは内部の変数を参照するだけで,rapサーバとは通信しません。
現在のトランザクショングローバル識別子およびトランザクションブランチ識別子は,次に示すメソッドを呼び出してトランザクションが起動したときに,TP1/Serverが割り当てたものです。
  • Beginメソッド
  • CommitChainedメソッド
  • RollbackChainedメソッド
宣言
【C#の場合】

public void GetTransactionID(
 byte[] trngid,
 byte[] trnbid
);

【Visual Basicの場合】

Public Sub GetTransactionID( _
 ByVal trngid() As Byte, _
 ByVal trnbid() As Byte _
)

【J#の場合】

public void GetTransactionID(
 ubyte[] trngid,
 ubyte[] trnbid
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. GetTransactionID PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 trngid       USAGE OBJECT REFERENCE BYTE-ARRAY.
01 trnbid       USAGE OBJECT REFERENCE BYTE-ARRAY.
PROCEDURE DIVISION USING BY VALUE trngid BY VALUE trnbid.
END METHOD GetTransactionID.

パラメタ
trngid
トランザクショングローバル識別子を格納する,16バイト以上のbyte型配列を指定します。
trnbid
トランザクションブランチ識別子を格納する,16バイト以上のbyte型配列を指定します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrProtoException
GetTransactionIDメソッドを不正なコンテキストから呼び出しています。

 

GetTransactionInfo

説明
GetTransactionInfoメソッドを呼び出したTP1Clientオブジェクトが,現在トランザクションとして稼働しているかどうかを報告します。
このメソッドは内部の変数を参照するだけで,rapサーバとは通信しません。
宣言
【C#の場合】

public System.Boolean GetTransactionInfo(
);

【Visual Basicの場合】

Public Function GetTransactionInfo( _
) As System.Boolean

【J#の場合】

public System.Boolean GetTransactionInfo(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. GetTransactionInfo PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 RESULT        USAGE LOGICAL.
PROCEDURE DIVISION RETURNING RESULT.
END METHOD GetTransactionInfo.

パラメタ
なし
戻り値
true
GetTransactionInfoメソッドを呼び出したTP1Clientオブジェクトは,トランザクションの範囲内にあります。
false
GetTransactionInfoメソッドを呼び出したTP1Clientオブジェクトは,トランザクションの範囲外にあります。
例外
なし

 

OpenConnection

説明
Client .NET構成定義の<TP1Server>要素および<rapService>要素のport属性で指定されたrapサーバとの間に常設コネクションを確立します。なお,一つのCUP.NETから,同時に複数の常設コネクションを確立することはできません。
CUP.NETと接続要求先rapリスナーとの間にファイアウォールがある場合は,接続要求先rapリスナーにはファイアウォールのホスト名とポート番号を指定してください。
宣言
【C#の場合】

public void OpenConnection(
);

【Visual Basicの場合】

Public Sub OpenConnection( _
)

【J#の場合】

public void OpenConnection(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. OpenConnection PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD OpenConnection.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrHostUndefException
rapリスナーのホスト名が,Client .NET構成定義の<TP1Server>要素に指定されていません。
Hitachi.OpenTP1.Client.ErrTimedOutException
rapリスナーとのコネクション確立中にタイムアウトが発生しました。
Hitachi.OpenTP1.Client.ErrNetDownException
rapリスナーとの通信でネットワーク障害が発生しました。
または,通信先のTP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrNoBufsException
rapリスナー,rapサーバでメモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNotUpException
rapリスナー,rapサーバが稼働していません。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrProtoException
メソッドの発行順序に誤りがあります。
すでにコネクションを確立している状態で,再度OpenConnectionメソッドが呼び出されました。
Hitachi.OpenTP1.Client.ErrInvalidPortException
rapリスナーのポートが定義されていません。
注意事項
接続先のrapリスナーが起動していない場合,ErrIOErrExceptionまたはErrNetDownExceptionが返されます。
このメソッドが例外を返した場合,常設コネクションは確立されていません。

 

OpenConnection

説明
リモートAPI機能を使用したRPCを行うために,CUP.NETとrapリスナーおよびrapサーバとの間に常設コネクションを確立します。
常設コネクションの確立先はパラメタで指定された値を使用します。
宣言
【C#の場合】

public void OpenConnection(
 string host,
 int port
);

【Visual Basicの場合】

Public Sub OpenConnection( _
 ByVal host As String, _
 ByVal port As Integer _
)

【J#の場合】

public void OpenConnection(
 System.String host,
 int port
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. OpenConnection PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 host          USAGE STRING.
01 port          USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE host BY VALUE port.
END METHOD OpenConnection.

パラメタ
host
rapリスナーまたはファイアウォールのホスト名を指定します。
port
rapリスナーまたはファイアウォールのポート番号を,5001から65535までの範囲で指定します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrHostUndefException
hostパラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrTimedOutException
rapリスナーとのコネクション確立中にタイムアウトが発生しました。
Hitachi.OpenTP1.Client.ErrNoBufsException
rapリスナー,rapサーバでメモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNotUpException
指定されたサービスがあるノードのTP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrInvalidPortException
portパラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrProtoException
メソッドの発行順序に誤りがあります。
すでにコネクションを確立している状態で,再度OpenConnectionメソッドが呼び出されました。
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrNetDownException
rapリスナーとの通信でネットワーク障害が発生しました。
または,通信先のTP1/Serverが稼働していません。
注意事項
接続先のrapリスナーが起動していない場合,ErrIOErrExceptionまたはErrNetDownExceptionが返されます。
このメソッドが例外を返した場合,常設コネクションは確立されていません。

 

OpenNotification

説明
一方通知連続受信機能を使用するための環境を作成します。このメソッドは,CloseNotificationメソッドと対で発行します。このメソッドが正常終了した場合は,必ずCloseNotificationメソッドを発行してください。
宣言
【C#の場合】

public void OpenNotification(
int port
);

【Visual Basicの場合】

Public Sub OpenNotification( _
ByVal port As Integer _
)

【J#の場合】

public void OpenNotification(
int port
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. OpenNotification PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 port          USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE port.
END METHOD OpenNotification.

パラメタ
port
サーバからの通知メッセージを受信するポート番号を,5001から65535の範囲で指定します。
同一マシン内で,複数のプロセス,または複数のスレッドを同時に実行する場合,port引数にはそれぞれ異なるポート番号を指定してください。また,port引数に指定できるポート番号でも,OS,またはほかのプログラムが使用するポート番号は指定しないでください。指定した場合,応答データを正しく受信できないことがあります。なお,OSが使用するポート番号は,OSごとに異なります。OSが使用するポート番号については,ご利用のOSの関連ドキュメントを参照してください。
戻り値
なし
例外
ErrInvalidArgsException
メソッドの引数の指定に誤りがあります。
ErrProtoException
OpenRpcメソッドが実行されていない,あるいはOpenNotificationメソッドがすでに実行されています。
ErrInvalidPortException
port引数で指定したポート番号は,すでに使用されています。
ErrNetDownAtClientException
TP1/ServerとCUP.NETの間でネットワーク障害が発生しました。
ErrSyserrException
システムエラーが発生しました。

 

OpenRpc

説明
TP1/ServerのSPP.NETまたはSPPを呼び出すための環境を初期化します。
CUP.NETを実行するときは,最初にこのメソッドを呼び出します。
宣言
【C#の場合】

public void OpenRpc(
);

【Visual Basicの場合】

Public Sub OpenRpc( _
)

【J#の場合】

public void OpenRpc(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. OpenRpc PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD OpenRpc.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrProtoException
メソッドの発行順序に誤りがあります。
CloseRpcメソッドが呼び出されないで,再度OpenRpcメソッドが呼び出されました。
Hitachi.OpenTP1.Client.ErrFatalException
Client .NET構成定義の指定に誤りがあります。
または,TP1/Serverとの通信環境の初期化に失敗しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。

 

OpenRpc

説明
TP1/ServerのSPP.NETまたはSPPを呼び出すための環境を初期化します。
CUP.NETを実行するときは,最初にこのメソッドを呼び出します。
宣言
【C#の場合】

public void OpenRpc(
 string profileId
);

【Visual Basicの場合】

Public Sub OpenRpc( _
 ByVal profileId As String _
)

【J#の場合】

public void OpenRpc(
 System.String profileId
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. OpenRpc PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 profileId     USAGE STRING.
PROCEDURE DIVISION USING BY VALUE profileId.
END METHOD OpenRpc.

パラメタ
profileId
プロファイルIDを指定します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrProtoException
メソッドの発行順序に誤りがあります。
CloseRpcメソッドを呼び出さないで,再度OpenRpcメソッドが呼び出されました。
Hitachi.OpenTP1.Client.ErrFatalException
Client .NET構成定義に誤りがあります。
または,TP1/Serverとの通信環境の初期化に失敗しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。

 

Receive

説明
MHPが送信したメッセージを受信します。
Receiveメソッドを実行する場合,Client .NET構成定義の<tcpip>要素のtype属性にrecvまたはsendrecvを指定して,OpenRpcメソッドをあらかじめ実行しておく必要があります。
宣言
【C#の場合】

public void Receive(
 byte[] buff,
 ref int recvleng,
 int timeout,
 int flags
);

【Visual Basicの場合】

Public Sub Receive( _
 ByVal buff() As Byte, _
 ByRef recvleng As Integer, _
 ByVal timeout As Integer, _
 ByVal flags As Integer _
)

【J#の場合】

public void Receive(
 ubyte[] buff,
 int recvleng,
 int timeout,
 int flags
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. Receive PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 buff         USAGE OBJECT REFERENCE BYTE-ARRAY.
01 recvleng     USAGE BINARY-LONG.
01 timeout      USAGE BINARY-LONG.
01 flags        USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE buff BY REFERENCE recvleng
                       BY VALUE timeout BY VALUE flags.
END METHOD Receive.

パラメタ
buff
受信したメッセージを格納する領域を指定します。
recvlengで指定する長さ以上の領域を指定してください。
メソッド実行後は受信したメッセージが返されます。
recvleng
受信するメッセージの長さを指定します。
メソッド実行後は受信したメッセージの長さが返されます。
timeout
メッセージ受信時の最大待ち時間を,-1から65535までの整数(単位:秒)で指定します。
-1を指定した場合は,メッセージを受信するまで無制限に待ちます。
0を指定した場合は,メッセージの受信を待ちません。受信するメッセージがなかった場合は,ErrTimedOutExceptionが返されます。
1から65535の値を指定した場合は,指定した秒数だけメッセージの受信を待ちます。指定した時間を過ぎてもメッセージを受信できない場合は,ErrTimedOutExceptionが返されます。
flags
メッセージ受信後に,コネクションを解放するかどうかを指定します。
  • DCNOFLAGS:メッセージ受信後,コネクションを解放しません。
    DCNOFLAGSを指定した場合は,障害時を除き,CloseRpcメソッドを実行するまでコネクションを解放しません。
  • DCCLT_RCV_CLOSE:メッセージ受信後,コネクションを解放します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrProtoException
OpenRpcメソッドが実行されていません。または,OpenRpcメソッドは実行されていますが,Client .NET構成定義の<tcpip>要素のtype属性にrecvまたはsendrecvを指定していません。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrTimedOutException
メッセージ受信時にタイムアウトしました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrInvalidPortException
受信用portの指定に誤りがあります。
この例外は,Client .NET構成定義の<tcpip>要素のopenPortAtRecv属性にtrueを指定し,recvPort属性に指定したポートがすでに使用中の場合に発生します。
openPortAtRecv属性にfalseを指定した場合は,OpenRpcメソッドがErrFatalExceptionを返します。
Hitachi.OpenTP1.Client.ErrConnfreeException
MHPからコネクションが解放されました。
注意事項
Receiveメソッドは,次に示す場合にCUP.NETに制御を戻します。
  • MHPからrecvlengパラメタで指定した長さ分のメッセージを受信した場合
  • MHPからのメッセージ受信時に,タイムアウトが発生した場合
  • MHPからコネクションが解放された場合
  • ネットワーク障害が発生した場合
Receiveメソッドの発行時に,MHPからコネクションが解放された場合,ErrConnfreeExceptionでエラーリターンします。

 

ReceiveAssembledMessage

説明
受信メッセージの組み立て機能を使用してメッセージを受信します。ReceiveAssembledMessageメソッドを実行する場合,Client .NET構成定義の<tcpip>要素のtype属性にrecvまたはsendrecvを指定して,OpenRpcメソッドをあらかじめ実行しておく必要があります。
受信メッセージの組み立て機能を使用した場合,メッセージの先頭4バイトは,buff引数に指定されたバッファに格納されません。このメソッドが正常終了した場合,recvlengの長さのユーザデータを含むメッセージを受信し,ユーザデータがbuff[0]~buff[recvleng-1]に格納されます。
宣言
【C#の場合】

public void ReceiveAssembledMessage(
 byte[] buff,
 ref int recvleng,
 int timeout,
 int flags
);

【Visual Basicの場合】

Public Sub ReceiveAssembledMessage( _
 ByVal buff() As Byte, _
 ByRef recvleng As Integer, _
 ByVal timeout As Integer, _
 ByVal flags As Integer _
)

【J#の場合】

public void ReceiveAssembledMessage(
 ubyte[] buff,
 int recvleng,
 int timeout,
 int flags
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. ReceiveAssembledMessage PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 buff         USAGE OBJECT REFERENCE BYTE-ARRAY.
01 recvleng     USAGE BINARY-LONG.
01 timeout      USAGE BINARY-LONG.
01 flags        USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE buff BY REFERENCE recvleng
                       BY VALUE timeout BY VALUE flags.
END METHOD ReceiveAssembledMessage.

パラメタ
buff
受信したメッセージを格納する領域を指定します。
受信するメッセージの長さ以上の領域を指定してください。
recvleng
メソッド実行後に,受信したメッセージの長さがrecvlengに返されます。
timeout
メッセージ受信時の最大待ち時間を,-1から65535までの整数(単位:秒)で指定します。
-1を指定した場合は,メッセージを受信するまで無制限に待ちます。
0を指定した場合は,メッセージの受信を待ちません。受信するメッセージがなかった場合は,ErrTimedOutExceptionが返されます。
1から65535を指定した場合は,指定した秒数だけメッセージの受信を待ちます。指定した秒数を過ぎてもメッセージを受信できない場合は,ErrTimedOutExceptionが返されます。
flags
メッセージ受信後に,コネクションを解放するかどうかを指定します。
  • DCNOFLAGS:メッセージ受信後,コネクションを解放しません。
    DCNOFLAGSを指定した場合は,障害時を除き,CloseRpcメソッドを実行するまでコネクションを解放しません。
  • DCCLT_RCV_CLOSE:メッセージ受信後,コネクションを解放します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrProtoException
OpenRpcメソッドが実行されていません。または,OpenRpcメソッドは実行されていますが,Client .NET構成定義の<tcpip>要素のtype属性にrecvまたはsendrecvを指定していません。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrTimedOutException
メッセージ受信時にタイムアウトしました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrInvalidPortException
受信用portの指定に誤りがあります。
この例外は,Client .NET構成定義の<tcpip>要素のopenPortAtRecv属性にtrueを指定し,recvPort属性に指定したポートがすでに使用中の場合に発生します。
openPortAtRecv属性にfalseを指定した場合は,OpenRpcメソッドがErrFatalExceptionを返します。
Hitachi.OpenTP1.Client.ErrConnfreeException
MHPからコネクションが解放されました。
注意事項
ReceiveAssembledMessageメソッドは,次に示す場合にCUP.NETに制御を戻します。
  • メッセージ受信が完了した場合
  • 不正なメッセージ長のメッセージを受信した場合
  • 不正なセグメント情報のメッセージを受信した場合
  • buffパラメタで指定した長さを超えるメッセージを受信した場合
  • メッセージ受信時に,タイムアウトが発生した場合
  • 相手システムからコネクションが解放された場合
  • ネットワーク障害が発生した場合
ReceiveAssembledMessageメソッドの発行時に,MHPからコネクションが解放された場合,ErrConnfreeExceptionでエラーリターンします。

 

Rollback

説明
トランザクションをロールバックします。
Rollbackメソッドを呼び出すと,グローバルトランザクションは終了します。
グローバルトランザクションの範囲外からは,SPP.NETまたはSPPをトランザクションとして実行できません。
宣言
【C#の場合】

public void Rollback(
);

【Visual Basicの場合】

Public Sub Rollback( _
)

【J#の場合】

public void Rollback(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. Rollback PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD Rollback.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrProtoException
Rollbackメソッドを不正なコンテキストから呼び出しています。
Hitachi.OpenTP1.Client.ErrHeuristicException
Rollbackメソッドを実行したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
この例外は,ヒューリスティック決定の結果がグローバルトランザクションの同期点の結果と一致しない場合に返されます。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。
この例外が返されたあと,このプロセスはトランザクション下にありません。プロセスはグローバルトランザクションの範囲外です。
Hitachi.OpenTP1.Client.ErrHazardException
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。
しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。
この例外が返されたあと,このプロセスはトランザクション下にありません。プロセスはグローバルトランザクションの範囲外です。
Hitachi.OpenTP1.Client.ErrNoBufsException
メモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNotUpException
TP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrTimedOutException
タイムアウトが発生しました。
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrConnfreeException
CUP.NET実行プロセス側から常設コネクションが解放されました。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。

 

RollbackChained

説明
トランザクションをロールバックします。
RollbackChainedメソッドが正常終了すると,新しいグローバルトランザクションが発生し,以降呼び出すメソッドは新しいグローバルトランザクションの範囲になります。
宣言
【C#の場合】

public void RollbackChained(
);

【Visual Basicの場合】

Public Sub RollbackChained( _
)

【J#の場合】

public void RollbackChained(
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. RollbackChained PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
PROCEDURE DIVISION.
END METHOD RollbackChained.

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrProtoException
RollbackChainedメソッドを不正なコンテキストから呼び出しています。
Hitachi.OpenTP1.Client.ErrHeuristicException
RollbackChainedメソッドを実行したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
この例外は,ヒューリスティック決定の結果がグローバルトランザクションの同期点の結果と一致しない場合に返されます。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。
この例外が返されたあとも,このプロセスはトランザクション下にあり,グローバルトランザクションの範囲内です。
Hitachi.OpenTP1.Client.ErrHazardException
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。
しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルを参照してください。
この例外が返されたあとも,このプロセスはトランザクション下にあり,グローバルトランザクションの範囲内です。
Hitachi.OpenTP1.Client.ErrNoBeginException
コミットまたはロールバック処理は正常に終了しましたが,新しいトランザクションは開始できませんでした。
この例外が返されたあと,このプロセスはトランザクション下にありません。
Hitachi.OpenTP1.Client.ErrHeuristicNoBeginException
RollbackChainedメソッドを実行したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
この例外は,ヒューリスティック決定の結果がグローバルトランザクションの同期点の結果と一致しない場合に返されます。
この例外が返される原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルの内容を参照してください。
新しいトランザクションは開始できませんでした。
この例外が返されたあと,このプロセスはトランザクション下にありません。
Hitachi.OpenTP1.Client.ErrHazardNoBeginException
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。
しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
この例外が返される原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,TP1/Serverのメッセージログファイルの内容を参照してください。新しいトランザクションは開始できませんでした。
この例外が返されたあと,このプロセスはトランザクション下にありません。
Hitachi.OpenTP1.Client.ErrNoBufsException
メモリ不足が発生しました。
Hitachi.OpenTP1.Client.ErrNotUpException
TP1/Serverが稼働していません。
Hitachi.OpenTP1.Client.ErrIOErrException
何らかの入出力例外が発生しました。
Hitachi.OpenTP1.Client.ErrTimedOutException
タイムアウトが発生しました。
Hitachi.OpenTP1.Client.ErrConnfreeException
CUP.NET実行プロセス側から常設コネクションが解放されました。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。

 

Send

説明
MHPにメッセージを送信します。
Sendメソッドを実行する場合は,Client .NET構成定義の<tcpip>要素のtype属性にsendまたはsendrecvを指定して,OpenRpcメソッドをあらかじめ実行しておく必要があります。
宣言
【C#の場合】

public void Send(
 byte[] buff,
 int sendleng,
 string hostname,
 int portnum,
 int flags
);

【Visual Basicの場合】

Public Sub Send( _
 ByVal buff() As Byte, _
 ByVal sendleng As Integer, _
 ByVal hostname As String, _
 ByVal portnum As Integer, _
 ByVal flags As Integer _
)

【J#の場合】

public void Send(
 ubyte[] buff,
 int sendleng,
 System.String hostname,
 int portnum,
 int flags
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. Send PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 buff         USAGE OBJECT REFERENCE BYTE-ARRAY.
01 sendleng     USAGE BINARY-LONG.
01 hostname     USAGE STRING.
01 portnum      USAGE BINARY-LONG.
01 flags        USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE buff BY VALUE sendleng
                       BY VALUE hostname BY VALUE portnum BY VALUE flags.
END METHOD Send.

パラメタ
buff
送信するメッセージが格納されている領域を指定します。
sendlengで指定する長さ以上の領域を指定してください。
sendleng
送信するメッセージの長さを指定します。
hostname
コネクションが確立されていない場合,接続するMHPが存在するノードのホスト名を指定します。
nullを指定した場合は,OpenRpcメソッドを実行したときに取得したClient .NET構成定義の<tcpip>要素のsendHost属性の内容を参照します。
ホスト名として,10進ドット記法のIPアドレスを指定することもできます。
コネクションが確立されている場合,このパラメタは無視されます。
portnum
コネクションが確立されていない場合,接続するMHPのポート番号を,0から65535までの整数で指定します。
0を指定すると,OpenRpcメソッドを実行したときに取得したClient .NET構成定義の<tcpip>要素のsendPort属性の内容を参照します。
コネクションが確立されている場合,このパラメタは無視されます。
flags
メッセージ送信後にコネクションを解放するかどうかを指定します。
  • DCNOFLAGS:メッセージ送信後,コネクションを解放しません。
    DCNOFLAGSを指定した場合は,障害時を除き,CloseRpcメソッドを実行するまでコネクションを解放しません。
  • DCCLT_SND_CLOSE:メッセージ送信後,コネクションを解放します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrProtoException
OpenRpcメソッドが実行されていません。または,OpenRpcメソッドは実行されていますが,Client .NET構成定義の<tcpip>要素のtype属性にsendまたはsendrecvを指定していません。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrHostUndefException
hostnameパラメタの指定に誤りがあります。または,hostnameパラメタとClient .NET構成定義の<tcpip>要素のsendHost属性の両方に,ホスト名が指定されていません。
Hitachi.OpenTP1.Client.ErrInvalidPortException
portnumパラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrConnRefusedException
MHPに対するコネクションの確立要求が拒否されました。監視していないポートに対してコネクションを確立しようとしました。
注意事項
Sendメソッドを実行してメッセージを送信しているときに,MHPからコネクションが解放されると,次に実行するSendメソッドは正常終了または異常終了します。
正常終了した場合は,その次に実行するSendメソッドで初めて異常終了します。そのため,CUP.NETを作成するときは注意してください。

 

SendAssembledMessage

説明
受信メッセージの組み立て機能を使用してメッセージを送信します。SendAssembledMessageメソッドを実行する場合,Client .NET構成定義の<tcpip>要素のtype属性にsendまたはsendrecvを指定して,OpenRpcメソッドをあらかじめ実行しておく必要があります。
受信メッセージの組み立て機能を使用した場合,メッセージの先頭4バイトにメッセージ長(4+sendleng引数の指定値)を付けて,buff[0]~buff[sendleng-1]の長さのメッセージを送信します。相手システムとのコネクションが確立されていない場合,hostname引数およびportnum引数の指定に従ってコネクションを確立し,メッセージを送信します。
宣言
【C#の場合】

public void SendAssembledMessage(
 byte[] buff,
 int sendleng,
 string hostname,
 int portnum,
 int timeout,
 int flags
);

【Visual Basicの場合】

Public Sub SendAssembledMessage( _
 ByVal buff() As Byte, _
 ByVal sendleng As Integer, _
 ByVal hostname As String, _
 ByVal portnum As Integer, _
 ByVal timeout As Integer, _
 ByVal flags As Integer _
)

【J#の場合】

public void SendAssembledMessage(
 ubyte[] buff,
 int sendleng,
 System.String hostname,
 int portnum,
 int timeout,
 int flags
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. SendAssembledMessage PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 buff         USAGE OBJECT REFERENCE BYTE-ARRAY.
01 sendleng     USAGE BINARY-LONG.
01 hostname     USAGE STRING.
01 portnum      USAGE BINARY-LONG.
01 timeout      USAGE BINARY-LONG.
01 flags        USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE buff BY VALUE sendleng
                       BY VALUE hostname BY VALUE portnum BY VALUE timeout BY VALUE flags.
END METHOD SendAssembledMessage.

パラメタ
buff
送信するメッセージが格納されている領域を指定します。
sendlengパラメタで指定する長さ以上の領域を指定してください。
sendleng
送信するメッセージの長さを指定します。
hostname
コネクションが確立されていない場合,接続する相手システムのホスト名を指定します。
nullを指定した場合は,OpenRpcメソッドを実行したときに取得したClient .NET構成定義の<tcpip>要素のsendHost属性の内容を参照します。
ホスト名として,10進ドット記法のIPアドレスを指定することもできます。
コネクションが確立されている場合,このパラメタは無視されます。
portnum
コネクションが確立されていない場合,接続する相手システムのポート番号を,0から65535までの整数で指定します。0を指定すると,OpenRpcメソッドを実行したときに取得したClient .NET構成定義の<tcpip>要素のsendPort属性の内容を参照します。
コネクションが確立されている場合,このパラメタは無視されます。
timeout
予約引数です。0を指定してください。
flags
メッセージ送信後にコネクションを解放するかどうかを指定します。
  • DCNOFLAGS:メッセージ送信後,コネクションを解放しません。
    DCNOFLAGSを指定した場合は,障害時を除き,CloseRpcメソッドを実行するまでコネクションを解放しません。
  • DCCLT_SND_CLOSE:メッセージ送信後,コネクションを解放します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrProtoException
OpenRpcメソッドが実行されていません。または,OpenRpcメソッドは実行されていますが,Client .NET構成定義の<tcpip>要素のtype属性にsendまたはsendrecvを指定していません。
Hitachi.OpenTP1.Client.ErrNetDownException
ネットワーク障害が発生しました。
Hitachi.OpenTP1.Client.ErrSyserrException
システムエラーが発生しました。
Hitachi.OpenTP1.Client.ErrHostUndefException
hostnameパラメタの指定に誤りがあります。または,hostnameパラメタとClient .NET構成定義の<tcpip>要素のsendHost属性の両方に,ホスト名が指定されていません。
Hitachi.OpenTP1.Client.ErrInvalidPortException
portnumパラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrConnRefusedException
相手システムに対するコネクションの確立要求が拒否されました。監視していないポートに対してコネクションを確立しようとしました。
Hitachi.OpenTP1.Client.ErrTimedOutException
応答メッセージの受信時にタイムアウトになりました。
コネクションは解放されます。
Hitachi.OpenTP1.Client.ErrConnfreeException
相手システムからコネクションが解放されました。
Hitachi.OpenTP1.Client.ErrInvalidMessageException
不正なメッセージを受信しました。
Hitachi.OpenTP1.Client.ErrCollisionMessageException
送受信メッセージの衝突が発生しました。
注意事項
SendAssembledMessageメソッドを実行してメッセージを送信しているときに相手システムからコネクションが解放されると,次に実行するSendAssembledMessageメソッドは正常終了または異常終了します。
正常終了した場合は,その次に実行するSendAssembledMessageメソッドで初めて異常終了します。そのため,CUP.NETを作成するときは注意してください。

 

SetConnectInformation

説明
端末識別情報を設定します。
このメソッドに指定した端末識別情報は,Client .NET構成定義の<tp1Server>要素のhost属性にDCCM3論理端末のホスト名を,<tp1Server>要素のport属性または<rapService>要素のport属性にDCCM3論理端末のポート番号を指定し,次のどちらか方法でDCCM3論理端末との常設コネクションを確立した場合に有効となります。
  • OpenConnectionメソッドを呼び出します。引数有りのOpenConnectionメソッドの場合,引数hostにDCCM3のホスト名,引数portにDCCM3のポート番号を指定します。
  • Client .NET構成定義の<rapService>要素のautoConnect属性にtrueを指定し,Callメソッドを呼び出します。
このメソッドを呼び出した場合,Client .NET構成定義の<rapService>要素のconnectInformation属性に指定した端末識別情報は,再びOpenRpcメソッドを呼び出すまで無視されます。
なお,このメソッドに指定した端末識別情報は,DCCM3論理端末との常設コネクション確立時に認識されます。このメソッドを複数回呼び出した場合は,DCCM3論理端末との常設コネクションを確立する直前に指定した端末識別情報が有効となります。
また,ネームサービスを使用したRPC,またはスケジューラダイレクト機能を使用したRPCの場合は,このメソッドで指定した端末識別情報は無視されます。
宣言
【C#の場合】

public void SetConnectInformation(
 byte[] inf,
 short inf_len
);

【Visual Basicの場合】

Public Sub SetConnectInformation( _
 ByVal inf() As Byte, _
 ByVal inf_len As Short _
)

【J#の場合】

public void SetConnectInformation(
 ubyte[] inf,
 short inf_len
);

【COBOL言語の場合】

REPOSITORY.
 CLASS BYTE-ARRAY      AS 'System.Byte' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. SetConnectInformation PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 inf          USAGE OBJECT REFERENCE BYTE-ARRAY.
01 inf_len      USAGE BINARY-SHORT.
PROCEDURE DIVISION USING BY VALUE inf BY VALUE inf_len.
END METHOD SetConnectInformation.

パラメタ
inf
端末識別情報として,DCCM3論理端末の論理端末名称を64バイト以内のEBCDIKコードで指定します。
ただし,DCCM3側では先頭8バイト目までに指定した値だけが有効になり,9バイト目以降に指定された値は無視されます。
inf_len
端末識別情報長を指定します。
1から64までの範囲のバイト長を指定します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。

 

SetDataTraceMode

説明
データトレースを取得するかどうかを指定します。
宣言
【C#の場合】

public void SetDataTraceMode(
 string TrcPath,
 int size,
 int DataSize,
 System.Boolean flag
);

【Visual Basicの場合】

Public Sub SetDataTraceMode( _
 ByVal TrcPath As String, _
 ByVal size As Integer, _
 ByVal DataSize As Integer, _
 ByVal flag As System.Boolean _
)

【J#の場合】

public void SetDataTraceMode(
 System.String TrcPath,
 int size,
 int DataSize,
 System.Boolean flag
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetDataTraceMode PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 TrcPath       USAGE STRING.
01 size          USAGE BINARY-LONG.
01 DataSize      USAGE BINARY-LONG.
01 flag          USAGE LOGICAL.
PROCEDURE DIVISION USING BY VALUE TrcPath BY VALUE size BY VALUE DataSize BY VALUE flag.
END METHOD SetDataTraceMode.

パラメタ
TrcPath
データトレースを出力するディレクトリを指定します。
flagパラメタにfalseを指定した場合は無視されます。
size
出力するデータトレースファイルのサイズを4096から1048576(単位:バイト)までの範囲で指定します。
flagパラメタにfalseを指定した場合は無視されます。
DataSize
出力する一つのデータトレースの最大データ長を16から1048576までの範囲で指定します。
flagパラメタにfalseを指定した場合は無視されます。
flag
データトレースを取得するかどうかを指定します。
  • true:データトレースを取得します。
  • false:データトレースを取得しません。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。

 

SetErrorTraceMode

説明
エラートレースを取得するかどうかを指定します。
宣言
【C#の場合】

public void SetErrorTraceMode(
 string TrcPath,
 int size,
 System.Boolean flag
);

【Visual Basicの場合】

Public Sub SetErrorTraceMode( _
 ByVal TrcPath As String, _
 ByVal size As Integer, _
 ByVal flag As System.Boolean _
)

【J#の場合】

public void SetErrorTraceMode(
 System.String TrcPath,
 int size,
 System.Boolean flag
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetErrorTraceMode PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 TrcPath       USAGE STRING.
01 size          USAGE BINARY-LONG.
01 flag          USAGE LOGICAL.
PROCEDURE DIVISION USING BY VALUE TrcPath BY VALUE size BY VALUE flag.
END METHOD SetErrorTraceMode.

パラメタ
TrcPath
エラートレースを出力するディレクトリを指定します。
flagパラメタにfalseを指定した場合は無視されます。
size
出力するエラートレースファイルのサイズを4096から1048576(単位:バイト)までの範囲で指定します。
flagパラメタにfalseを指定した場合は無視されます。
flag
エラートレースを取得するかどうかを指定します。
  • true:エラートレースを取得します。
  • false:エラートレースを取得しません。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。

 

SetExtendLevel

説明
Client .NETの機能の拡張レベルを指定します。
機能の拡張レベルを複数指定する場合,それぞれの指定値の論理和を指定します。
宣言
【C#の場合】

public void SetExtendLevel(
 int flags
);

【Visual Basicの場合】

Public Sub SetExtendLevel( _
 ByVal flags As Integer _
)

【J#の場合】

public void SetExtendLevel(
 int flags
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetExtendLevel PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 flags  USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE flags.
END METHOD SetExtendLevel.

パラメタ
flags
Client .NETの機能の拡張レベルを指定します。
  • 0x00000000
    Client .NETの機能を拡張しません。
  • 0x00000001
    Client .NET機能を拡張します。Callメソッド呼び出し時,自CUP.NETのIPアドレスをサービスに連絡します。
    呼び出したサービスでdc_rpc_get_callers_addressメソッドを実行し,CUP.NETのアドレスを求める必要がある場合に指定してください。
戻り値
なし
例外
なし

 

SetMethodTraceMode

説明
メソッドトレースを取得するかどうかを指定します。
宣言
【C#の場合】

public void SetMethodTraceMode(
 string TrcPath,
 int size,
 System.Boolean flag
);

【Visual Basicの場合】

Public Sub SetMethodTraceMode( _
 ByVal TrcPath As String, _
 ByVal size As Integer, _
 ByVal flag As System.Boolean _
)

【J#の場合】

public void SetMethodTraceMode(
 System.String TrcPath,
 int size,
 System.Boolean flag
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetMethodTraceMode PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 TrcPath       USAGE STRING.
01 size          USAGE BINARY-LONG.
01 flag          USAGE LOGICAL.
PROCEDURE DIVISION USING BY VALUE TrcPath BY VALUE size BY VALUE flag.
END METHOD SetMethodTraceMode.

パラメタ
TrcPath
メソッドトレースを出力するディレクトリを指定します。
flagパラメタにfalseを指定した場合は無視されます。
size
出力するメソッドトレースファイルのサイズを4096から1048576(単位:バイト)までの範囲で指定します。
flagパラメタにfalseを指定した場合は無視されます。
flag
メソッドトレースを取得するかどうかを指定します。
  • true:メソッドトレースを取得します。
  • false:メソッドトレースを取得しません。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。

 

SetRapDelay

説明
rapサーバとCUP.NET間の通信遅延時間を設定します。
このメソッドを設定すると,rapサーバ側の最大応答待ち時間の時間監視を指定した値の分だけ早く終了させ,CUP.NET側の最大応答待ち時間の監視時間タイムアウトによるメッセージのすれ違いを防止できます。
SetRpcWatchTimeメソッドで指定した最大応答待ち時間が0の場合,このメソッドで指定した通信遅延時間は無視されます。
また,最大応答待ち時間からrapサーバ通信時間を引いた値が0または負の値になるときは,rapサーバ側での最大応答待ち時間を1と仮定してrapサーバが動作します。
なお,このメソッドの指定を有効にするには,Client .NET構成定義で<rapService>要素のwatchTimeInheritance属性にtrueを指定するか,またはSetRpcExtendメソッドのextendoptionパラメタにDCRPC_WATCHTIMINHERITを指定してください。
宣言
【C#の場合】

public void SetRapDelay(
 int sec
);

【Visual Basicの場合】

Public Sub SetRapDelay( _
 ByVal sec As Integer _
)

【J#の場合】

public void SetRapDelay(
 int sec
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetRapDelay PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 sec  USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE sec.
END METHOD SetRapDelay.

パラメタ
sec
rapサーバとCUP.NET間の通信遅延時間を0から65535(単位:秒)までの範囲で指定します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
secパラメタに指定された値が,0から65535までの範囲にありません。

 

SetRapInquireTime

説明
CUP.NETがサーバに対して問い合わせを行ってから,次の問い合わせをするまでの間隔の最大時間を設定します。この値はrapサーバで監視するタイマです。
指定時間を超えても問い合わせがない場合,rapサーバは強制的に常設コネクションを切断します。
このメソッドはTP1Clientクラスのインスタンスが存在している間,呼び出せます。
宣言
【C#の場合】

public void SetRapInquireTime(
 int sec
);

【Visual Basicの場合】

Public Sub SetRapInquireTime( _
 ByVal sec As Integer _
)

【J#の場合】

public void SetRapInquireTime(
 int sec
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetRapInquireTime PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 sec  USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE sec.
END METHOD SetRapInquireTime.

パラメタ
sec
rapサーバが監視する問い合わせ間隔最大時間を0から1048575(単位:秒)までの範囲で指定します。
0を指定した場合は,rapサーバはCUP.NETからの問い合わせを無限に待ちます。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
secパラメタに指定された値が,0から1048575までの範囲にありません。

 

SetRpcExtend

説明
Client .NETから発行するRPCの機能拡張オプションを指定します。
RPC機能の拡張レベルを複数指定する場合,それぞれの指定値の論理和を指定します。
宣言
【C#の場合】

public void SetRpcExtend(
 int extendoption
);

【Visual Basicの場合】

Public Sub SetRpcExtend( _
 ByVal extendoption As Integer _
)

【J#の場合】

public void SetRpcExtend(
 int extendoption
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetRpcExtend PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 extendoption  USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE extendoption.
END METHOD SetRpcExtend.

パラメタ
extendoption
RPC機能の拡張レベルを指定します。
  • DCRPC_SCD_LOAD_PRIORITY
    サービス要求を受け付けた窓口となるTP1/Serverを優先して負荷分散するかどうかを指定します。
    オプションの真偽動作
    真の場合Client .NET構成定義で,<scheduleService>要素のusePriority属性にtrueを指定したときと同じ動作をします。
    偽の場合Client .NET構成定義で,<scheduleService>要素のusePriority属性にfalseを指定したときと同じ動作をします。

 

  • DCRPC_WATCHTIMINHERIT
    リモートAPI機能を使用したRPCを行う場合に,CUP.NETの最大応答待ち時間をrapサーバ側に引き継ぐかどうかを指定します。
    オプションの真偽動作
    真の場合Client .NET構成定義で,<rapService>要素のwatchTimeInheritance属性にtrueを指定したときと同じ動作をします。
    偽の場合Client .NET構成定義で,<rapService>要素のwatchTimeInheritance属性にfalseを指定したときと同じ動作をします。

 

  • DCRPC_RAP_AUTOCONNECT
    リモートAPI機能を使用したRPCを行う場合に,Client .NETが自動的にコネクションを確立するかどうかを指定します。
    すでに非オートコネクトモードを使用し,OpenConnectionメソッドを呼び出してコネクションを確立している場合は,このオプションは無視されます。
    オプションの真偽動作
    真の場合Client .NET構成定義で,<rapService>要素のautoConnect属性にtrueを指定したときと同じ動作をします。
    偽の場合Client .NET構成定義で,<rapService>要素のautoConnect属性にfalseを指定したときと同じ動作をします。

 

  • DCRPC_WATCHTIMRPCINHERIT
    CUP.NETの最大応答待ち時間を,サーバ側に引き継ぐかどうかを指定します。
    オプションの真偽動作
    真の場合Client .NET構成定義で,<rpc>要素のwatchTimeNotification属性にtrueを指定したときと同じ動作をします。
    偽の場合Client .NET構成定義で,<rpc>要素のwatchTimeNotification属性にfalseを指定したときと同じ動作をします。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
extendoptionパラメタの指定に誤りがあります。

 

SetRpcWatchTime

説明
同期応答型RPCの場合に,CUP.NETからSPP.NETまたはSPPへサービス要求を送ってからサービスの応答が返るまでの最大応答待ち時間を設定します。
このメソッドで設定する値は,Client .NETの内部通信での最大応答待ち時間としても使用されます。
宣言
【C#の場合】

public void SetRpcWatchTime(
 int sec
);

【Visual Basicの場合】

Public Sub SetRpcWatchTime( _
 ByVal sec As Integer _
)

【J#の場合】

public void SetRpcWatchTime(
 int sec
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetRpcWatchTime PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 sec  USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE sec.
END METHOD SetRpcWatchTime.

パラメタ
sec
最大応答待ち時間を0から65535(単位:秒)までの範囲で指定します。
0を指定した場合は,応答を受信するまで無限に待ちます。使用する環境によっては,サーバがダウンしてもTCP/IPコネクションの切断を検出できない場合があります。この場合,待ち時間を無限にすると存在しないサーバからの応答を永久に待ち続けることになるため,適当な待ち時間を設定してください。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
secパラメタに指定された値が,0から65535までの範囲にありません。

 

SetTP1Server

説明
窓口となるTP1/Serverのホスト名とポート番号を設定します。
宣言
【C#の場合】

public void SetTP1Server(
 string host,
 int port
);

【Visual Basicの場合】

Public Sub SetTP1Server( _
 ByVal host As String, _
 ByVal port As Integer _
)

【J#の場合】

public void SetTP1Server(
 System.String host,
 int port
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetTP1Server PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 host      USAGE STRING.
01 port      USAGE BINARY-LONG.
PROCEDURE DIVISION USING BY VALUE host BY VALUE port.
END METHOD SetTP1Server.

パラメタ
host
窓口となるTP1/Serverのホスト名を指定します。
リモートAPI機能を使用したRPCを行う場合は,通信先のrapリスナーのホスト名を指定します。
CUP.NETとTP1/Serverとの間にファイアウォールがある場合は,ファイアウォールのホスト名を指定します。
port
窓口となるTP1/Server上で動作しているスケジュールサーバのポート番号,またはネームサーバのポート番号を指定します。リモートAPI機能を使用したRPCを行う場合は,通信先のrapリスナーのポート番号を指定します。
ポート番号は,5001から65535までの範囲で指定します。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrHostUndefException
hostパラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrInvalidPortException
portパラメタの指定に誤りがあります。
Hitachi.OpenTP1.Client.ErrProtoException
メソッドの発行順序に誤りがあります。リモートAPI機能を使用したRPCを行う場合で,すでにrapサーバとの間に常設コネクションが確立されている状態でこのメソッドが呼び出されました。

 

SetTraceArray

説明
パラメタに指定された配列にエラートレースを取得するかどうかを指定します。
宣言
【C#の場合】

public void SetTraceArray(
 string[] array
);

【Visual Basicの場合】

Public Sub SetTraceArray( _
 ByVal array() As String _
)

【J#の場合】

public void SetTraceArray(
 System.String[] array
);

【COBOL言語の場合】

REPOSITORY.
 CLASS STR-ARRAY       AS 'System.String' IS ARRAY.

IDENTIFICATION DIVISION.
METHOD-ID. SetTraceArray PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 array  USAGE OBJECT REFERENCE STR-ARRAY.
PROCEDURE DIVISION USING BY VALUE array.
END METHOD SetTraceArray.

パラメタ
array
エラートレースを格納するString配列を指定します。
nullを指定した場合,エラートレースを取得しません。
戻り値
なし
例外
なし

 

SetUapTraceMode

説明
UAPトレースを取得するかどうかを指定します。
宣言
【C#の場合】

public void SetUapTraceMode(
 string TrcPath,
 int size,
 System.Boolean flag
);

【Visual Basicの場合】

Public Sub SetUapTraceMode( _
 ByVal TrcPath As String, _
 ByVal size As Integer, _
 ByVal flag As System.Boolean _
)

【J#の場合】

public void SetUapTraceMode(
 System.String TrcPath,
 int size,
 System.Boolean flag
);

【COBOL言語の場合】

IDENTIFICATION DIVISION.
METHOD-ID. SetUapTraceMode PUBLIC.
DATA DIVISION.
LINKAGE SECTION.
01 TrcPath       USAGE STRING.
01 size          USAGE BINARY-LONG.
01 flag          USAGE LOGICAL.
PROCEDURE DIVISION USING BY VALUE TrcPath BY VALUE size BY VALUE flag.
END METHOD SetUapTraceMode.

パラメタ
TrcPath
UAPトレースを出力するディレクトリを指定します。
flagパラメタにfalseを指定した場合は無視されます。
size
出力するUAPトレースファイルのサイズを4096から1048576(単位:バイト)までの範囲で指定します。
flagパラメタにfalseを指定した場合は無視されます。
flag
UAPトレースを取得するかどうかを指定します。
  • true:UAPトレースを取得します。
  • false:UAPトレースを取得しません。
戻り値
なし
例外
Hitachi.OpenTP1.Client.ErrInvalidArgsException
パラメタの指定に誤りがあります。