COBOL2002 ユーザーズガイド
インタフェース領域は,COBOLプログラムとMSMQシステムとの間で情報をやり取りするための連絡領域です。インタフェース領域に必要な情報を設定してサービスルーチンを呼び出し,また,処理結果をインタフェース領域から取得します。
MSMQアクセスサービスルーチンで使用するインタフェース領域の形式を次に示します。
表29-2 MSMQアクセスサービスルーチンで使用するインタフェース領域
記述形式 | 内容 | C R E A T E |
D E L E T E |
O P E N |
C L O S E |
S E N D |
R E C V |
L O C A T E |
---|---|---|---|---|---|---|---|---|
01 データ名01. | CALL文のUSINGで指定するインタフェース領域の名前 | |||||||
02 データ名02 PIC X(8). | MSMQのエラーコード※1 | △ | △ | △ | △ | △ | △ | △ |
02 データ名03 PIC S9(9) USAGE COMP. |
詳細コード※2 | △ | △ | △ | △ | △ | △ | △ |
02 データ名04 PIC X. | 検索強制終了フラグ (0:無効,1:有効) |
○ | ||||||
02 データ名05 PIC X. | アクセスモード (1:RECEIVE,2:SEND) |
○ | ||||||
02 データ名06 PIC X(2). | メッセージクラス | △ | ||||||
02 データ名07 PIC S9(9) USAGE COMP. |
受信待ち時間 | ○ | ||||||
02 データ名08 PIC 9(4) USAGE COMP. |
優先順位(0〜7) | ○ | △ | |||||
02 データ名09 PIC X. | 配信方法 (0:高速,1:回復可能) |
○ | △ | |||||
02 データ名10 PIC X. | ジャーナリング (0:無効,1:有効) |
○ | △ | |||||
02 データ名11 PIC X. | 配信不能メッセージ (0:無効,1:有効) |
○ | △ | |||||
02 データ名12 PIC X. | データ変換フラグ (0:無効,1:有効) |
○ | ○ | |||||
02 データ名13 PIC X(102). | 予約領域 | × | × | × | × | × | × | × |
表29-3 詳細コードの内容
戻り値 | 詳細コード | エラーの要因 | 該当する サービスルーチン |
対処 |
---|---|---|---|---|
2 | 1 | 受信メッセージのラベルが不正である。 | CBLMQRECEIVEMSG | メッセージのラベルをテキストデータとして正しい値で再送信し,メッセージを再受信する。 (サービスルーチンの動作) サービスルーチンは,受信したメッセージのラベルをテキストデータに変換しないで格納した。 |
2 | バイナリデータとして送信されたメッセージを受信し,テキストデータへの変換に失敗した。 | CBLMQRECEIVEMSG |
サービスルーチンは,受信したメッセージデータをテキストデータに変換しないで格納した。 |
|
3 | テキストデータとして送信されたメッセージを受信したが,テキストデータへの変換に失敗した。 | CBLMQRECEIVEMSG | メッセージをテキストデータとして正しい値で再送信し,再受信する。 (サービスルーチンの動作) サービスルーチンは,受信したメッセージデータをテキストデータに変換しないで格納した。 |
|
4 | 受信メッセージのラベルが不正である。かつ,テキストデータとして送信されていないメッセージを受信し,テキストデータへの変換に失敗した。 | CBLMQRECEIVEMSG |
サービスルーチンは,受信したメッセージのラベル,およびメッセージデータをテキストデータに変換しないで格納した。 |
|
5 | 受信メッセージのラベルが不正である。かつ,テキストデータとして送信されたメッセージを受信したが,テキストデータへの変換に失敗した。 | CBLMQRECEIVEMSG | メッセージのラベル,およびメッセージデータをテキストデータとして正しい値で再送信し,再受信する。 (サービスルーチンの動作) サービスルーチンは,受信したメッセージのラベル,およびメッセージデータをテキストデータに変換しないで格納した。 |
|
6 | 検索したキューのパス名が不正である。 | CBLMQLOCATE | 検索したキューのパス名をテキストデータとして正しい値で再作成し,再度キューのパス名を検索する。 (サービスルーチンの動作) サービスルーチンは,検索したキューのパス名をテキストデータに変換しないで格納した。 |
|
7 | 検索したキューのパス名が長過ぎる。 | CBLMQLOCATE | 検索したキューのパス名が,絶対パスで256バイト以下になるようにキューを再作成し,再度キューのパス名を検索する。 (サービスルーチンの動作) サービスルーチンは,検索したキューのパス名の先頭256バイトだけを格納した。 |
|
-2 | 40 | キューをオープンしていない。 | CBLMQCLOSE CBLMQSENDMSG CBLMQRECEIVEMSG |
|
41 | キューをクローズしていない。 | CBLMQCREATE CBLMQDELETE CBLMQOPEN CBLMQLOCATE |
キューをクローズしてからサービスルーチンを呼び出す。 | |
42 | キューのパス名の検索が終了していない。 | CBLMQCREATE CBLMQDELETE CBLMQOPEN CBLMQCLOSE CBLMQSENDMSG CBLMQRECEIVEMSG |
CBLMQLOCATEサービスルーチンでの検索を終了してから,ほかのMSMQアクセスサービスルーチンを呼び出す。 | |
50 | インタフェース領域の必ず設定する項目に,規定の値が設定されていない。 | CBLMQOPEN CBLMQSENDMSG CBLMQRECEIVEMSG CBLMQLOCATE |
引数で指定したインタフェース領域に,規定の値を設定してサービスルーチンを呼び出す。 | |
51 | データパラメタのデータ長が不正である。 | CBLMQCREATE CBLMQDELETE CBLMQOPEN CBLMQSENDMSG CBLMQLOCATE |
引数で指定したデータパラメタ領域のデータ長に正しい値を設定してサービスルーチンを呼び出す。 | |
52 | データパラメタのデータが不正である。 | CBLMQCREATE CBLMQDELETE CBLMQOPEN CBLMQSENDMSG CBLMQLOCATE |
引数で指定したデータパラメタ領域のメッセージデータに正しい値を設定してサービスルーチンを呼び出す。 | |
60 | コード変換のための環境が整っていない(Unicode機能を使用する場合)。 | CBLMQCREATE CBLMQDELETE CBLMQOPEN CBLMQCLOSE CBLMQSENDMSG CBLMQRECEIVEMSG CBLMQLOCATE |
コード変換ライブラリが正しくインストールされているか,または使用するコード変換ライブラリが前提バージョンを満たしているかを確認する。 | |
61 | コード変換中にエラーが発生した(Unicode機能を使用する場合)。 | CBLMQCREATE CBLMQDELETE CBLMQOPEN CBLMQCLOSE CBLMQSENDMSG CBLMQRECEIVEMSG CBLMQLOCATE |
UCS-4の範囲(UCS-2の範囲を含む)の文字コードを使用しているか確認する。 | |
99 | サービスルーチンを実行するためのメモリが不足している。 | CBLMQOPEN CBLMQSENDMSG CBLMQRECEIVEMSG CBLMQLOCATE |
削除できるプログラムなどを削除して再実行する。 | |
負数 | 上記以外の予期しないエラーを検出した。 | CBLMQCREATE CBLMQDELETE CBLMQOPEN CBLMQCLOSE CBLMQSENDMSG CBLMQRECEIVEMSG CBLMQLOCATE |
当社保守員に連絡する。このとき,詳細コードの値,ソースファイル,登録集原文,およびコンパイルリストファイルが資料として必要になる。 |
01 CBLMQINF. 02 MSMQ-ERRCD PIC X(8) VALUE SPACE. 02 DETAIL-CD PIC S9(9) USAGE COMP VALUE ZERO. 02 LOCATE-END PIC X VALUE SPACE. 02 QUEUE-ACCESS PIC X VALUE SPACE. 02 MQMSG-CLASS PIC X(2) VALUE SPACE. 02 MQMSG-TIMEOUT PIC S9(9) USAGE COMP VALUE ZERO. 02 MQMSG-PRIORITY PIC 9(4) USAGE COMP VALUE ZERO. 02 MQMSG-DELIVERY PIC X VALUE SPACE. 02 MQMSG-JOURNAL PIC X VALUE SPACE. 02 MQMSG-DEADLETTER PIC X VALUE SPACE. 02 MSGDATA-CONV PIC X VALUE SPACE. 02 CBLMQ-RESERVE PIC X(102) VALUE LOW-VALUE.
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.