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

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

3.3.1 RECEIVEメッセージの受信

<この項の構成>
(1) 形式
(2) 機能
(3) 通信記述項に設定する項目
(4) 通信文に指定する項目
(5) ステータスコード

(1) 形式

DATA DIVISION(通信記述項)の指定
 
CD 通信記述名
   FOR {INPUT|I-O}
  〔STATUS KEY IS データ名1〕
  〔SYMBOLIC TERMINAL IS データ名2〕
  〔MESSAGE DATE IS データ名3〕
  〔MESSAGE TIME IS データ名4〕.
 
PROCEDURE DIVISION(通信文)の指定
 
RECEIVE 通信記述名
    〔FIRSTSEGMENT
       INTO 一意名1.
 

(2) 機能

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

(3) 通信記述項に設定する項目

(4) 通信文に指定する項目

(5) ステータスコード

ステータスコード 意味
00000 正常に終了しました。
71000 先頭セグメントを受信するRECEIVE文を2回以上呼び出しています。
中間セグメントまたは最終セグメントを受信する場合は,FIRSTを指定しないでRECEIVE文を呼び出してください。
71001 メッセージの最終セグメントを受信したあとで,次のセグメントを受信するRECEIVE文を呼び出しています。直前に呼び出したRECEIVE文でメッセージはすべて受信しました。このステータスコードが返されたあとに,再びRECEIVE文を呼び出した場合は,ステータスコード72000が返されます。
71002 メッセージキューからの入力処理中に障害が発生しました。
メッセージキューが閉塞されています。
メッセージキューが割り当てられていません。
MCF終了処理中のため,メッセージの受信を受け付けられません。
71108 メッセージ受信に必要な管理テーブルが確保できませんでした。
プロセスのローカルメモリが不足しています。
72000 <MHPの実行でリターンした場合>
  • 先頭セグメントを受信するRECEIVE文を呼び出す前に,中間セグメントまたは最終セグメントを受信するRECEIVE文を呼び出しています。先頭セグメントを受信する場合は,FIRSTを指定してRECEIVE文を呼び出してください。
  • ステータスコード71001が返されたあとで,RECEIVE文を呼び出しています。
<SPPの実行でリターンした場合>
SPPではRECEIVE文を呼び出せません。
ステータスコード71001が返されたあとに,再びRECEIVE文を呼び出しました。
72001 SYMBOLIC TERMINAL 句に設定した論理端末名称が間違っています。
RECEIVE文を呼び出せない論理端末を設定しています。
72013 一意名1のLの指定値を超えるセグメントを受信しました。一意名1のLの指定値を超えた部分は切り捨てられました。
72016 WAITING に設定した値が間違っています。
72024 FOR句に設定した値が間違っています。
72036 一意名1のLが不足しています。5バイト以上の領域を確保してください。
上記以外 プログラムの破壊などによる,予期しないエラーが発生しました。