すべてのプログラムは少なくともステータスとメッセージを返します。ステータスは、文字列値または文字列MQRで始まるMQ APIの理由コードになります。
- OK
- ERROR
- FATAL
- MQR2058 - 待ち行列マネージャー名が無効または不明
- MQR2086 - 待ち行列マネージャーが不明
など
JSMMQDEPTH - 待ち行列の深さ
パラメータ | 記述 | I/O | タイプ | 長さ | 小数点の位置 |
|---|---|---|---|---|---|
JSMQMGR | キュー・マネージャ | I | CHAR | 48 | |
JSMQNAME | 待ち行列 | I | CHAR | 48 | |
JSMDEPTH | 待ち行列の深さ | O | DEC | 8 | 0 |
JSMSTS | 状態 | O | CHAR | 20 | |
JSMMSG | メッセージ | O | CHAR | 256 |
JSMMQDEPTHプログラムはスタンドアロンであるため、JSMサービスを開かずに呼び出すことができます。
例
CALL PGM(JSMMQDEPTH) PARM(#JSMQMGR #JSMQNAME #JSMDEPTH #JSMSTS #JSMMSG) NUM_LEN(*DEFINED)
JSMMQGET - 待ち行列からメッセージを取得する
パラメータ | 記述 | I/O | タイプ | 長さ | 小数点の位置 |
|---|---|---|---|---|---|
JSMQMGR | キュー・マネージャ | I | CHAR | 48 | |
JSMQNAME | 待ち行列 | I | CHAR | 48 | |
JSMWAIT | 待ち時間(ミリ秒、無制限の場合は-1) | I | DEC | 8 | 0 |
JSMMSIZE | メッセージ・サイズ(0は20K | 値) | I | DEC | 8 | 0 |
JSMMID | メッセージID(*BLANKまたはメッセージID) | I/O | CHAR | 24 | |
JSMCID | 相関ID(*BLANKまたは相関ID) | I/O | CHAR | 24 | |
JSMRQMGR | 応答待ち行列マネージャー | O | CHAR | 48 | |
JSMREPLYQ | 応答待ち行列 | O | CHAR | 48 | |
JSMMTYPE | メッセージ・タイプ | O | DEC | 9 | 0 |
JSMSTS | 状態 | O | CHAR | 20 | |
JSMMSG | メッセージ | O | CHAR | 256 |
LANSAファンクションやRPGプログラムでメッセージIDと相関IDを受信する場合、ロードされたJSMサービスにこれらの値を送信しないでください。値には有効なEBCDIC文字が含まれていないためです。
メッセージIDと相関IDを使用すると、この入力値のいずれかまたは両方に一致するメッセージを取得できます。次のメッセージが必要な場合は、JSMMQGETプログラムを呼び出す前にメッセージIDフィールドと相関IDフィールドを*BLANKに設定します。
例
CHANGE FIELD(#JSMQMGR) TO('MY.QMANAGER')CHANGE FIELD(#JSMQNAME) TO('MY.QUEUE')CHANGE FIELD(#JSMWAIT) TO(-1)CHANGE FIELD(#JSMSIZE) TO(0)CHANGE FIELD(#JSMMID) TO(*BLANK)CHANGE FIELD(#JSMCID) TO(*BLANK) CALL PGM(JSMMQGET) PARM(#JSMQMGR #JSMQNAME #JSMWAIT #JSMMSIZE #JSMMID #JSMCID #JSMRQMGR #JSMREPLYQ #JSMMTYPE #JSMSTS #JSMMSG) NUM_LEN(*DEFINED)
JSMMQPUT - 待ち行列にメッセージを入れる
パラメータ | 記述 | I/O | タイプ | 長さ | 小数点の位置 |
|---|---|---|---|---|---|
JSMQMGR | キュー・マネージャ | I | CHAR | 48 | |
JSMQNAME | 待ち行列 | I | CHAR | 48 | |
JSMCCSID | メッセージCCSID (待ち行列のデフォルトの場合は0) | I | DEC | 8 | 0 |
JSMPST | 持続性(デフォルトの場合はY | N | *BLANK) | I | CHAR | 1 | |
JSMPTY | 優先順位(待ち行列のデフォルトの場合は0~9 | -1) | I | DEC | 8 | 0 |
JSMMID | メッセージID (新しいメッセージIDの場合は*BLANK) | I | CHAR | 24 | |
JSMCID | 相関ID (*BLANKまたは値) | I | CHAR | 24 | |
JSMMTYPE | メッセージ・タイプ | I | DEC | 9 | 0 |
JSMRQMGR | 応答待ち行列マネージャー | I | CHAR | 48 | |
JSMREPLYQ | 応答待ち行列 | I | CHAR | 48 | |
JSMSTS | 状態 | O | CHAR | 20 | |
JSMMSG | メッセージ | O | CHAR | 256 | |
任意 | |||||
JSMEXPIRY | 有効期限、ミリ秒、無制限の場合は-1 (デフォルト) | I | DEC | 9 | 0 |
JSMUSER | ユーザー | I | CHAR | 12 |
任意のJSMEXPIRYパラメータを使用する場合、JSMUSERパラメータも渡す必要があります。JSMUSERパラメータを渡さないと、JSMMQPUT操作は失敗します。
例
CHANGE FIELD(#JSMCCSID) TO(0)CHANGE FIELD(#JSMMTYPE) TO(8)CHANGE FIELD(#JSMMID) TO(*BLANK)CHANGE FIELD(#JSMCID) TO(*BLANK)CHANGE FIELD(#JSMPST) TO(Y)CHANGE FIELD(#JSMPTY) TO(4)CHANGE FIELD(#JSMRQMGR) TO(*BLANK)CHANGE FIELD(#JSMREPLYQ) TO(*BLANK) CALL PGM(JSMMQPUT) PARM(#JSMQMGR #JSMQNAME #JSMCCSID #JSMPST #JSMPTY #JSMMID #JSMCID #JSMMTYPE #JSMRQMGR #JSMREPLYQ #JSMSTS #JSMMSG) NUM_LEN(*DEFINED)
MQSeriesの MQCONN または MQPUT API 呼び出しが失敗した場合、現在のメッセージが復元ファイルJSMMQPUT (ある場合)に入れられます。メッセージの長さが32000バイトを超えると、データは切り捨てられます。
物理ファイルJSMMQPUTのDDSソースは、JSMライブラリのQDDSRCファイルにあります。
DATE 8A CCYYMMDDTIME 6A HHMMSSJOBNUMBER 6A 000000QUEUE 48AMANAGER 48ACCSID 8P 0PERSIST 1APRIORITY 8P 0USERID 12AEXPIRY 9P 0MESSAGEID 24ACORRLATEID 24AMSGTYPE 9P 0RELYMGR 48ARELYQUEUE 48AMSGLENGTH 9P 0MESSAGE 32000A