すべてのプログラムは少なくともステータスとメッセージを返します。ステータスは、文字列値または文字列MQRで始まるMQ APIの理由コードになります。
など
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 |
値)。これはヘルパー・サイズです。サイズが小さすぎる場合、内部記憶域がメッセージ・サイズに再度割り当てられ、もう一度GET操作が行われます。 |
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 |
メッセージ・タイプ 8 - MQMT_DATAGRAM 65536-999999999 - ユーザー定義 |
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 CCYYMMDD
TIME 6A HHMMSS
JOBNUMBER 6A 000000
QUEUE 48A
MANAGER 48A
CCSID 8P 0
PERSIST 1A
PRIORITY 8P 0
USERID 12A
EXPIRY 9P 0
MESSAGEID 24A
CORRLATEID 24A
MSGTYPE 9P 0
RELYMGR 48A
RELYQUEUE 48A
MSGLENGTH 9P 0
MESSAGE 32000A