SEND同期型メッセージの送受信(データ操作言語)

形式

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

CD  通信記述名
   FOR  I-O
STATUS  KEY  IS  データ名1〕
SYMBOLIC  TERMINAL  IS  データ名2〕
SYNCHRONOUS MODE  IS {SYNC|データ名6}〕
WAITING  TIME  IS  データ名11〕.

PROCEDURE DIVISION(通信文)の指定

SEND  通信記述名  FROM  一意名1
BEFORE  RECEIVING  MESSAGE  INTO  一意名3〕.

機能

次に示すCALLインタフェースの機能を実現します。

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

●FOR 句

次の値を指定します。

I-O
同期型メッセージの送信,または同期型メッセージの送受信

●STATUS KEY 句

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

●SYMBOLIC TERMINAL 句

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

●SYNCHRONOUS MODE 句

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

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

●WAITING TIME 句

同期型メッセージ送信または,同期型メッセージ送受信の場合の,限界経過時間の値を指定します。

データ名11
限界経過時間の値を,HHMMSS00(HH:時 MM:分 SS:秒 00は固定)の形式で指定します。

この句を省略,またはデータ名11に'00000000'を設定した場合は,MCFマネジャ定義のUAP共通定義(mcfmuap -t)で指定した同期受信監視時間を設定します。

通信文に指定する項目

●一意名1

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

[図データ]

●BEFORE 句

同期型メッセージ送受信の場合に設定します。メッセージ送信後にその端末から受信したメッセージを受け取る場合に指定します。

一意名3
受信メッセージを格納するデータ項目

同期型メッセージを送受信する場合の,受信するセグメントの領域(一意名3)の形式を次に示します。

[図データ]

ステータスコード

ステータスコード意味
00000正常に終了しました。
71002メッセージキューへの出力処理中に障害が発生しました。
メッセージキューが閉塞されています。
メッセージキューが割り当てられていません。
一意名1のLに32000バイトを超える値を設定しています。
MCFが終了処理中のため,メッセージの送信を受け付けられません。
71003メッセージキューが満杯です。
71004メッセージを格納するバッファをメモリ上に確保できませんでした。
71108メッセージを送信しようとしましたが,送信先の管理テーブルが確保できませんでした。
プロセスのローカルメモリが不足しています。
72000FOR句にI-Oを設定していますが,SYNCHRONOUS MODE句でSYNCを設定していません。
<MHPの実行でリターンした場合>
先頭セグメントを受信するRECEIVE文を実行する前に,SEND文を実行しています。
<SPPの実行でリターンした場合>
トランザクションでないSPPの処理から,SEND文を実行しています。
72001SYMBOLIC TERMINAL 句に設定した論理端末名称が間違っています。
SEND文を実行できない論理端末を設定しています。
72013一意名1のLの指定値を超えるセグメントを受信しました。
一意名1のLの指定値を超えた部分は切り捨てられました。
32763バイトを超えるセグメントを受信しました。
32763バイトを超えた部分は切り捨てられました。
72020SYNCHRONOUS MODE句に設定した値が間違っています。
72024FOR 句に設定した値が間違っています。
72036一意名3のセグメントを受信する領域の長さに指定した受信領域長が不足しています。5バイト以上の領域を確保してください。
72037BEFORE 句に設定した値が間違っています。
72041一意名1のLに4以下,またはマイナスの値を設定しています。
72045NEXT TRANSACTION句は設定できません。
72047NEXT TRANSACTION句は設定できません。
73001出力先の論理端末で障害が発生しました。
73005WAITING TIME句に設定した時間が経過しましたが,論理端末からの応答がありません。
73010入力または出力メッセージ編集UOCで障害が発生しました。
メッセージの読み込み時に障害が発生しました。
73015出力先の論理端末は,ほかのUAPで仕掛り中です。
73018WAITING TIME 句に設定した値が間違っています。
73020出力先の論理端末は停止しています。
77001指定したコネクショングループ内に使用できるコネクションがありません。
77301送信メッセージ長と「制御情報+パラメタ+ユーザデータ」のサイズが一致していません。
77302制御情報のサイズの設定が間違っています。
77303転送手順の設定が間違っています。
77304サービスプリミティブコードの設定が間違っています。
77310パラメタ情報サイズの設定が間違っています。
77311Initiating-TPSU-Titleに設定した値が間違っています。
77312Recipient-AP-Titleに設定した値が間違っています。
77313Recipient-TPSU-Titleに設定した値が間違っています。
77314Functional-Unitsに設定した値が間違っています。
77315Quality-of-Serviceに設定した値が間違っています。
77316Application-Context-Nameに設定した値が間違っています。
77317Confirmationに設定した値が間違っています。
77318Resultに設定した値が間違っています。
77321Confirmation-Urgencyに設定した値が間違っています。
77330ユーザデータのサイズが間違っています。
77331APDUの連結状態が間違っています。
77332ユーザデータのサイズが設定されていません。
77333ユーザデータが設定できません。
77350サービスプリミティブの発行順が間違っています。
サービスプリミティブの連結数が超過しています。
77433相手からのメッセージによって,ダイアログが未確立になりました。
77436相手からのメッセージによって,ダイアログを解放しています。
77437相手からのメッセージによって,ハンドシェイクが応答待ちになりました。
77491相手からのメッセージによって,エラー処理中です。
上記以外プログラムの破壊などによる,予期しないエラーが発生しました。