分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSAS-NIF編
CALL 'CBLDCMCF' USING 一意名1 一意名2 一意名3 一意名4
01 一意名1. 02 データ名A PIC X(8) VALUE 'SENDRECV'. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC X(4) VALUE SPACE. 02 データ名D PIC X(4) VALUE SPACE. 02 データ名E PIC 9(8). 02 データ名F PIC 9(8). 02 データ名G PIC 9(9) COMP. 02 データ名H PIC X(4). 02 データ名I PIC X(4) VALUE SPACE. 02 データ名J PIC X(4) VALUE SPACE. 02 データ名K PIC X(4) VALUE SPACE. 02 データ名L PIC X(8) VALUE SPACE. 02 データ名M1 PIC X(4) VALUE SPACE. 02 データ名M2 PIC X(8) VALUE SPACE. 02 データ名M3 PIC X(4) VALUE SPACE. 02 データ名M4 PIC 9(9) COMP VALUE ZERO. 02 データ名M5 PIC 9(9) COMP VALUE ZERO. 02 データ名M6 PIC X(1) VALUE SPACE. 02 データ名M7 PIC X(1). 02 データ名N PIC X(14) VALUE LOW-VALUE. 01 一意名2. 02 データ名O PIC X(4) VALUE 'IO '. 02 データ名P PIC X(8). 02 データ名Q PIC X(8) VALUE SPACE. 02 データ名R PIC X(8) VALUE SPACE. 02 データ名T PIC X(28) VALUE LOW-VALUE. 01 一意名3. 02 データ名U PIC 9(x) COMP. 02 データ名V PIC X(x). 02 データ名W PIC X(n). 01 一意名4. 02 データ名X PIC 9(x) COMP. 02 データ名Y1 PIC X(x) VALUE SPACE. 02 データ名Y2 PIC X(1). 02 データ名Z PIC X(n).
同期型でメッセージを送信したあと,同期型でメッセージを受信します。
CBLDCMCF('SENDRECV')では,相手システムへ送る論理メッセージのうち,一つのセグメントを送信できます。必要なセグメントの数だけCBLDCMCF('SENDRECV')を発行することによって,一つの論理メッセージを送信できます。
メッセージの最終セグメントを送信すると,CBLDCMCF('SENDRECV')は相手システムからの応答を待ちます。応答が届くと,そのメッセージの先頭セグメントを受信します。
中間セグメントおよび最終セグメントを受信する場合はCBLDCMCF('RECVSYNC')を発行してください。
セグメントを送信する領域(一意名3で示す領域)の形式を次に示します。
セグメントを受信する領域(一意名4で示す領域)の形式を次に示します。
ステータスコード | 意味 |
---|---|
00000 | 正常に終了しました。 |
71002 | メッセージキューへの入出力処理時に障害が発生しました。 |
メッセージキューが閉塞されています。 | |
メッセージキューが割り当てられていません。 | |
データUに32000バイトを超える値を設定しています。 | |
MCFが終了処理中のため,受け付けられません。 | |
71003 | メッセージキューが満杯です。 |
71004 | メッセージを格納するバッファを,メモリ上に確保できませんでした。 |
71108 | メッセージ送信しようとしましたが,送信先に管理テーブルが確保できませんでした。 |
プロセスのローカルメモリが不足しています。 | |
72000 | <MHPの実行でリターンした場合> 先頭セグメントを受信するCBLDCMCF('RECEIVE△')を呼び出す前に,CBLDCMCF('SENDRECV')を呼び出しています。 |
72001 | データ名Pに設定した論理端末名称が間違っています。 |
CBLDCMCF('SENDRECV')を呼び出せない論理端末を設定しています。 | |
72005 | 先頭セグメントまたは中間セグメントを送信するCBLDCMCF('SENDRECV')で,長さが0バイトのセグメントを送信しています。 |
72013 | データ名Gの指定値を超えるセグメントを受信しました。データ名Gの指定値を超えた部分は切り捨てられました。 |
72016 | データ名Nまたはデータ名Tに設定した値が間違っています。 |
データ名M4に設定した値が間違っています。 | |
データ名M7に設定した値が間違っています。 | |
72019 | データ名M6に設定した値が間違っています。 |
72024 | データ名Oに設定した値が間違っています。 |
72026 | データ名Hに設定した値が間違っています。 |
72028 | データ名Aに設定した値が間違っています。 |
72036 | データ名Gの指定値が不足しています。バッファ形式1の場合は9バイト以上,バッファ形式2の場合は5バイト以上の領域を確保してください。 |
72041 | 単一セグメントを送信するCBLDCMCF('SENDRECV')で,長さが0バイトのセグメントを送信しています。 |
73001 | メッセージの送受信処理中に障害が発生しました。 |
73002 | 論理端末が閉塞されています。 |
73004 | メッセージの送信処理中にタイムアウトが発生しました。 |
73005 | メッセージの受信処理中にタイムアウトが発生しました。 |
73008 | 運用コマンドまたは障害による論理端末閉塞処理中に,CBLDCMCF('SENDRECV')を呼び出しました。 |
73009 | 論理端末閉塞解除処理中に,CBLDCMCF('SENDRECV')を呼び出しました。 |
73010 | 入力メッセージ編集UOCまたは出力メッセージ編集UOCで障害が発生しました。 |
73015 | 出力先の論理端末は,ほかのUAPで仕掛り中です。 |
73018 | データ名M5に設定した値が間違っています。 |
上記以外 | プログラムの破壊などによる,予期しないエラーが発生しました。 |
All Rights Reserved. Copyright (C) 2009, Hitachi, Ltd.