SEND - メッセージの送信(データ操作言語)
形式
DATA DIVISION(通信記述項)の指定
CD 通信記述名
FOR {OUTPUT|I-O}
〔STATUS KEY IS データ名1〕
〔SYMBOLIC TERMINAL IS データ名2〕
〔SYNCHRONOUS MODE IS {SYNC|ASYNC|データ名6}〕
〔SWITCHING MODE IS {NORMAL|PRIOR|データ名7}〕
〔DETAIL MODE IS データ名10〕.
PROCEDURE DIVISION(通信文)の指定
SEND 通信記述名 FROM 一意名1
機能
次に示すCALLインタフェースの機能を実現します。ただし,扱えるのは単一セグメントだけです。
通信記述項に設定する項目
●FOR 句
次のどちらかの値を指定します。
●STATUS KEY 句
ステータスコードを受け取りたい場合に指定します。省略した場合は,ステータスコードを受け取りません。
●SYMBOLIC TERMINAL 句
論理端末名称を設定したデータ項目を指定します。
●SYNCHRONOUS MODE 句
非同期型でメッセージを送信するか,同期型でメッセージを送信するかを指定します。
省略した場合は,一方送信メッセージの送信(ASYNC)が設定されます。
●SWITCHING MODE 句
一方送信メッセージの場合に,一般か優先かを指定します。
省略した場合は,一般の一方送信メッセージ(NORMAL)が設定されます。
●DETAIL MODE 句
一方送信メッセージの場合に,出力通番を付けるかどうかを指定します。
省略した場合は,出力通番を付けません。
通信文に指定する項目
●一意名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 | 出力先の論理端末は閉塞しています。 |
上記以外 | プログラムの破壊などによる,予期しないエラーが発生しました。 |
注意事項