CBLDCMCF('REPLY ') - 応答メッセージの送信(COBOL言語)
形式
PROCEDURE DIVISIONの指定
CALL 'CBLDCMCF' USING 一意名1 一意名2 一意名3
DATA DIVISIONの指定
01 一意名1.
02 データ名A PIC X(8) VALUE 'REPLY '.
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 VALUE ZERO.
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).
02 データ名M7 PIC X(1) VALUE '2'.
02 データ名N PIC X(14) VALUE LOW-VALUE.
01 一意名2.
02 データ名O PIC X(4) VALUE SPACE.
02 データ名P PIC X(8) VALUE SPACE.
02 データ名Q PIC X(8).
02 データ名R PIC X(8).
02 データ名T PIC X(28) VALUE LOW-VALUE.
01 一意名3.
02 データ名U PIC 9(4) COMP.
02 データ名V PIC X(2) VALUE LOW-VALUE.
02 データ名W PIC X(n).
機能
メッセージを入力した端末に応答送信するメッセージのうち,一つのセグメントを送信要求します。必要なセグメントの数だけ送信要求を呼び出すことで,一つのメッセージを応答送信できます。
送信できる一つのセグメントの最大長は,32000バイトまでです。
継続問い合わせ応答の処理形態で,データ名Rの指定は,最初のセグメントだけ有効です。また,継続問い合わせ応答の終了要求をする場合,データ名Rを空白で埋めてください。
応答送信するセグメント領域(一意名3で示す領域)の形式を次に示します。
TP1/NET/XMAP3の論理端末に応答する場合は,XMAP3で作成した出力論理マップをCOPY文で取り込み,一意名3として指定します。出力論理マップの詳細については,マニュアル「画面・帳票サポートシステム XMAP3 プログラミングガイド 帳票編」,マニュアル「画面・帳票サポートシステム XMAP3 プログラミングガイド 画面編」,マニュアル「XMAP3 Version 5 画面・帳票サポートシステム XMAP3 プログラミングガイド」,またはマニュアル「XMAP3 Version 5 画面・帳票サポートシステム XMAP3 開発ガイド」を参照してください。コーディング例については,「付録G.1 コーディング例」を参照してください。
UAPで値を設定するデータ領域
●データ名A
応答メッセージの送信を示す要求コード「VALUE 'REPLY△△△'」を設定します。
●データ名C,データ名D
空白を設定します。
●データ名E,データ名F
MCFで使用する領域です。
●データ名G
0を設定します。
●データ名H
送信する応答メッセージのセグメントが,論理メッセージの最終セグメントかどうかを設定します。
●データ名I,データ名J
空白を設定します。
●データ名K
出力通番を付けるかどうかを設定します。
●データ名L,データ名M1,データ名M2,データ名M3
空白を設定します。
●データ名M4,データ名M5
0を設定します。
●データ名M6
マッピングモードを設定します。
●データ名M7
使用する送受信バッファの形式を「VALUE '2'」と設定します。
●データ名N
MCFで使用する領域です。
●データ名O,データ名P
空白を設定します。
●データ名Q
メッセージ送信時,マップ名を6文字以内で設定します。マップ名の後ろを空白で埋めて,8文字になるように設定してください。
●データ名R
継続問い合わせ応答の処理形態で,次の端末入力メッセージによって起動するアプリケーションを変更する場合にそのアプリケーション名を設定します。
継続問い合わせ応答中のMHPでは,変更しない場合,空白を設定してください。
継続問い合わせ応答を引き継いだエラーイベントで,空白を設定した場合,継続問い合わせ応答を終了します(アプリケーションを起動した場合を除く)。
その他の処理形態の場合は空白で埋めてください。
データ名Rの設定は,最初のセグメントだけ有効です。継続問い合わせ応答の処理形態で,終了要求をする場合は空白で埋めてください。
●データ名T
MCFで使用する領域です。
●データ名U
応答送信する出力論理マップの長さ(論理マップ固定部の長さ+論理マップ可変部・定数部の長さ)を設定します。先頭セグメントまたは中間セグメントの応答送信後,応答メッセージの送信の終了を連絡する場合には,4を設定してください。
●データ名V
MCFで使用する領域です。
●データ名W
送信する応答メッセージのセグメントの内容(論理マップ可変部・定数部に出力する内容)を設定します。
OpenTP1から値が返されるデータ領域
●データ名B
ステータスコードが,5けたの数字で返されます。
ステータスコード
ステータスコード | 意味 |
---|---|
00000 | 正常に終了しました。 |
71002 | メッセージキューへの出力処理中に障害が発生しました。 |
メッセージキューが閉塞されています。 | |
メッセージキューが割り当てられていません。 | |
送信する応答メッセージのセグメント長に32000バイトを超える値を設定しています。 | |
MCFが終了処理中のため,応答メッセージの送信を受け付けられません。 | |
71003 | メッセージキューが満杯です。 |
71004 | メッセージを格納するバッファをメモリ上に確保できませんでした。 |
71108 | 応答メッセージを送信しようとしましたが,応答送信先の管理テーブルを確保できませんでした。 |
プロセスのローカルメモリが不足しています。 | |
72000 | <MHPの実行でリターンした場合>
|
<SPPの実行でリターンした場合> SPPではCBLDCMCF('REPLY△△△')を呼び出せません。 | |
72001 | 該当する論理端末には,応答メッセージを送信できません。 |
72005 | 先頭セグメントまたは中間セグメントを送信するCBLDCMCF('REPLY△△△')で,データ名Uに4以下の値を設定しています。 |
72008 | データ名Hに最終セグメント「VALUE 'EMI△'」を設定したCBLDCMCF('REPLY△△△')を,2回以上呼び出しました。 |
応答型のMHPから,CBLDCMCF('EXECAP△△')を呼び出して応答型のほかのMHPを開始したあとで,CBLDCMCF('REPLY△△△')を呼び出しました。 | |
継続問い合わせ応答型のMHPから,CBLDCMCF('EXECAP△△')で継続問い合わせ応答型のほかのMHPを開始したあとで,CBLDCMCF('REPLY△△△')を呼び出しました。 | |
72011 | 継続問い合わせ応答中でないMHPが,次に起動するアプリケーション名を指定して,CBLDCMCF('REPLY△△△')を呼び出しました。 |
72016 | データ名N,データ名Tに設定した値が間違っています。 |
データ名M7に設定した値が間違っています。 | |
72017 | データ名Kに設定した値が間違っています。 |
72019 | データ名M6に設定した値が間違っています。 |
72020 | データ名Iに設定した値が間違っています。 |
72026 | データ名Hに設定した値が間違っています。 |
72028 | データ名Aに設定した値が間違っています。 |
72041 | 単一セグメントを送信するCBLDCMCF('REPLY△△△')で,データ名Uに4以下,またはマイナスの値を設定しています。 |
72044 | CBLDCMCF('CONTEND△')を呼び出したあとで,次に起動するアプリケーション名を指定してCBLDCMCF('REPLY△△△')を呼び出しました。 |
72045 | データ名Rに,アプリケーション属性定義(mcfaalcap)で継続問い合わせ応答型と定義していないMHPのアプリケーション名を設定しています。 |
72046 | データ名Rにアプリケーション名を設定したCBLDCMCF('REPLY△△△')を,2回以上呼び出しました。 |
72047 | データ名Rに設定したアプリケーション名は,アプリケーション属性定義(mcfaalcap)に定義されていません。 |
上記以外 | プログラムの破壊などによる,予期しないエラーが発生しました。 |