分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSI-TP編

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

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

形式

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

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

PROCEDURE DIVISION(通信文)の指定

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