分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/User Datagram Protocol編

[目次][用語][索引][前へ][次へ]

SEND − メッセージの送信(データ操作言語)

形式

DATA DIVISION(通信記述項)の指定

 
CD  通信記述名
   FOROUTPUTI-O}
 〔STATUS  KEY  IS  データ名1〕
 〔SYMBOLIC  TERMINAL  IS  データ名2〕
 〔SYNCHRONOUS MODE  IS  {SYNCASYNC|データ名6}〕
 〔SWITCHING MODE IS {NORMALPRIOR|データ名7}〕
 〔DETAIL MODE IS データ名10〕.
 

PROCEDURE DIVISION(通信文)の指定

 
SEND  通信記述名  FROM  一意名1
 

機能

次に示すCALLインタフェースの機能を実現します。ただし,扱えるのは単一セグメントだけです。

通信記述項に設定する項目

●FOR 句

次のどちらかの値を指定します。

OUTPUT
一方送信メッセージの送信

I-O
同期型メッセージの送信
I-Oを指定した場合,SYNCHRONOUS MODE句で同期型メッセージの送信(SYNC)を必ず指定してください。指定しなかった場合,SEND文はステータスコード(72000)を返します。

●STATUS KEY 句

ステータスコードを受け取りたい場合に指定します。省略した場合は,ステータスコードを受け取りません。

●SYMBOLIC TERMINAL 句

論理端末名称を設定したデータ項目を指定します。

●SYNCHRONOUS MODE 句

非同期型でメッセージを送信するか,同期型でメッセージを送信するかを指定します。

SYNC
同期型メッセージの送信
同期型メッセージ送信のとき指定します。

ASYNC
非同期型のメッセージ送信
一方送信メッセージの送信のとき指定します。

データ名6
次の値を設定したデータ項目
'0':一方送信メッセージの送信
'1':同期型メッセージ送信

省略した場合は,一方送信メッセージの送信(ASYNC)が設定されます。

●SWITCHING MODE 句

一方送信メッセージの場合に,一般か優先かを指定します。

NORMAL
一般の一方送信メッセージ

PRIOR
優先の一方送信メッセージ

データ名7
次の値を設定したデータ項目
'0'または'△':一般の一方送信メッセージ
'1':優先の一方送信メッセージ

省略した場合は,一般の一方送信メッセージ(NORMAL)が設定されます。

●DETAIL MODE 句

一方送信メッセージの場合に,出力通番を付けるかどうかを指定します。

データ名10
次の値を設定したデータ項目
'0'または'△':出力通番を付けます。
'1':出力通番を付けません。

省略した場合は,出力通番を付けません。

通信文に指定する項目

●一意名1

セグメントを送信するデータ項目を指定します。一つのセグメントで制御ヘッダの24バイトを含めて32000バイトまで送信できます。一意名1の形式を次に示します。

[図データ]

相手IPアドレスと相手ポート番号の設定方法については,「2.1.3 通信相手のアドレスの指定」を参照してください。

ステータスコード

ステータスコード 意味
00000 正常に終了しました。
71002 メッセージキューへの出力処理中に障害が発生しました。
メッセージキューが閉塞されています。
メッセージキューが割り当てられていません。
一意名1のLに32000バイトを超える値を設定しています。
MCFが終了処理中のため,メッセージの送信を受け付けられません。
71003 メッセージキューが満杯です。
71004 メッセージを格納するバッファをメモリ上に確保できませんでした。
71108 メッセージを送信しようとしましたが,送信先の管理テーブルが確保できませんでした。
プロセスのローカルメモリが不足しています。
72000 FOR句にI-Oを設定していますが,SYNCHRONOUS MODE句でSYNCを設定していません。
<MHPの実行でリターンした場合>
先頭セグメントを受信するRECEIVE文を実行する前に,SEND文を実行しています。
<SPPの実行でリターンした場合>
トランザクションでないSPPの処理から,SEND文を実行しています。
72001 SYMBOLIC TERMINAL句に設定した論理端末名称が間違っています。
SEND文を実行できない論理端末を設定しています。
72017 DETAIL MODE句に設定した値が間違っています。
72018 SWITCHING MODE句に設定した値が間違っています。
72020 SYNCHRONOUS MODE句に設定した値が間違っています。
72024 FOR句に設定した値が間違っています。
72041 一意名1のLに4以下,またはマイナスの値を設定しています。
73001 出力先の論理端末で障害が発生しました。
73010 出力メッセージ編集UOCで障害が発生しました。
メッセージの読み込み時に障害が発生しました。
73011 一意名1のLに5以上28以下の値を設定しています。
73019 システムに対する送信時に障害が発生しました。
73020 出力先の論理端末は閉塞しています。
上記以外 プログラムの破壊などによる,予期しないエラーが発生しました。

注意事項