8.2.2 TP1/COBOLアクセス用BeanユーザインタフェースAPI
TP1/COBOLアクセス用Beanで使用できるメソッドについて説明します。
(1) 遠隔サービスの要求
(a) 遠隔サービスの要求
[ callメソッド ] public void call(int cltid, java.lang.String group, java.lang.String service, int flags) throws J2CBException
- パラメタ:
-
cltid - クライアントID
group - サービスグループ名
service - サービス名
- 戻り値:
-
なし
- 例外:J2CBException - 例外情報の取得
-
詳細は「8.8 J2CBExceptionユーザインタフェースAPI」をご覧ください。
- 注意事項:
-
出力引数の指定がない場合,flagsにTP1Const.DCRPC_NOREPLY以外を指定してこのメソッドを実行すると,例外が発生します。
(b) 通信先を指定した遠隔サービスの要求
[ callToメソッド ] public void callTo(int cltid, java.lang.String hostnm, int scdport, java.lang.String group, java.lang.String service, int flags) throws J2CBException
- パラメタ:
-
cltid - クライアントID
hostnm - サービス要求先のホスト名
scdport - サービス要求先のホストに存在するスケジュールサービスのポート番号
group - サービスグループ名
service - サービス名
- 戻り値:
-
なし
- 例外:J2CBException - 例外情報の取得
-
詳細は「8.8 J2CBExceptionユーザインタフェースAPI」をご覧ください。
- 注意事項:
-
出力引数の指定がない場合,flagsにTP1Const.DCRPC_NOREPLY以外を指定してこのメソッドを実行すると,例外が発生します。
(2) 出力引数データの取得
[getXxxOメソッド] public Object getXxxO( [ int dim1 { , int dim2 } … ] ) throws J2CBException
メソッド名getXxxOのXxxは,設定するデータ項目のデータ名を表します。また,[ int dim1 { , int dim2 } … ]は,OCCURS句による繰り返しがあることを表します。([setXxxIメソッド]の例をご覧ください)
- パラメタ:
-
dim1,dim2… :(添字が必要な場合の)各次元の添字
- 戻り値:
-
取得できたデータオブジェクト
- 例外:J2CBException - 例外情報の取得
-
詳細は「8.8 J2CBExceptionユーザインタフェースAPI」をご覧ください。
(3) メッセージの送受信
(a) メッセージの受信
[ receiveメソッド ] public void receive(int cltid, int timeout, int flags) throws J2CBException
- パラメタ:
-
cltid - クライアントID
timeout - メッセージ受信時の最大待ち時間(秒)
- flags - メッセージ受信後に,コネクションを解放するかどうかを指定
-
:TP1Const.DCNOFLAGS - 解放しない
:TP1Const.DCCLT_RCV_CLOSE - 解放する
- 戻り値:
-
なし
- 例外:J2CBException - 例外情報の取得
-
詳細は「8.8 J2CBExceptionユーザインタフェースAPI」をご覧ください。
- 注意事項:
-
出力引数をgetterで取得できる点が,「8.3 TP1/COBOL基本BeanユーザインタフェースAPI(TP1/Client/PおよびTP1/Client/W)」で提供されるreceiveメソッドと異なります。
(b) メッセージの受信(障害時メッセージ受信)
[ receive2メソッド ] public void receive2(int cltid, int timeout, int flags) throws J2CBException
- パラメタ:
-
cltid - クライアントID
timeout - メッセージ受信時の最大待ち時間(秒)
- flags - メッセージ受信後に,コネクションを解放するかどうかを指定
-
:TP1Const.DCNOFLAGS - 解放しない
:TP1Const.DCCLT_RCV_CLOSE - 解放する
- 戻り値:
-
なし
- 例外:J2CBException - 例外情報の取得
-
詳細は「8.8 J2CBExceptionユーザインタフェースAPI」をご覧ください。
- 注意事項:
-
出力引数をgetterで取得できる点が,「8.3 TP1/COBOL基本BeanユーザインタフェースAPI(TP1/Client/PおよびTP1/Client/W)」で提供されるreceive2メソッドと異なります。
(c) メッセージの送信
[ sendメソッド ] public void send(int cltid, java.lang.String hostname, int portnum, int flags) throws J2CBException
- パラメタ:
-
cltid - クライアントID
hostname - 接続するMHPが存在するノードのホスト名
portnum - MHPのポート番号
- flags - メッセージ送信後に,コネクションを解放するかどうかを指定
-
:TP1Const.DCNOFLAGS - 解放しない
:TP1Const.DCCLT_SND_CLOSE - 解放する
- 戻り値:
-
なし
- 例外:J2CBException - 例外情報の取得
-
詳細は「8.8 J2CBExceptionユーザインタフェースAPI」をご覧ください。
- 注意事項:
-
入力引数をsetterで設定できる点が,「8.3 TP1/COBOL基本BeanユーザインタフェースAPI(TP1/Client/PおよびTP1/Client/W)」で提供されるsendメソッドと異なります。
(4) setter発行時の入力引数長設定
[setInLenFollowSetDataメソッド] public void setInLenFollowSetData()
TP1/Clientに渡す入力引数の長さをこのメソッドを呼び出した直後のsetXxx(obj)の末尾までの長さとします。また.設定するデータが英数字項目(Stringまたはbyte[])の場合は,objを英数字項目に転記後の末尾までの長さとします。
- このメソッドを呼び出す例
01 ARG. 02 ARGCOMP PIC S9(9) USAGE COMP. --> setter名はsetArgcompIとなる 02 ARGALNUM PIC X(60). --> setter名はsetArgalnumIとなる
上記の入力引数の設定前にこのメソッドを呼び出すと,入力引数の長さを変更できます。
(その1)ARGCOMPまでの入力引数とする場合 setInLenFollowSetData(); setArgcompI(new Integer(10)); call(....); --> 入力引数の長さは4となる。 (その2)ARGALNUMの先頭8文字までを入力引数とする場合 setArgcompI(new Integer(4)); setInLenFollowSetData(); setArgalnumI("abcdefgh"); call(....); --> 入力引数の長さは12となる。
このメソッドを呼び出さない場合
入力引数の長さは,入力引数領域長です。
パラメタ:なし
戻り値:なし
例外:なし
(5) 入力引数データの設定
[setXxxIメソッド] public void setXxxI(Object xxxI [ , int dim1 { , int dim2 } … ] ) throws J2CBException
メソッド名setXxxIのXxxおよび引数xxxIのxxxは,設定するデータ項目のデータ名を表します。
- (例)
-
02 WK-DATANAME PIC X(10). と定義されたデータが入力引数にある場合,次に示すsetterになります。
public void setWk_datanameI(Object wk_datanameI) throws J2CBException
-
setterを呼び出してデータ項目に値を設定する場合,データ項目に対応するデータ属性のパラメタxxxIを指定してください。データ項目の対応は,「表 8-6 各データ項目に対応する表示文字列」をご覧ください。
-
[ , int dim1 { , int dim2 } … ]は,OCCURS句による繰り返しがあることを表します。
dimは次元の個数分作成されます。
- (例)
-
2次元の文字データが引数にある場合,次に示すsetterになります。
public void setWk_dataname(Object wk_datanameI, int dim1, int dim2) throws J2CBException
- パラメタ:
-
xxxI - 設定するデータ
dim1,dim2… :(添字が必要な場合の)各次元の添字
- 戻り値:
-
なし
- 例外:J2CBException - 例外情報の取得
-
詳細は「8.8 J2CBExceptionユーザインタフェースAPI」をご覧ください。