Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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


...

メッセージ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

...

 #JSMQNAM

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

...