MQCFH ヘッダー (ルート名 MQPCF) のフィールドにアクセスするための ESQL ステートメントをコーディングします。
PCF フォーマットのメッセージ (MQPCF、MQADMIN、および MQEVENT) には、MQCFH ヘッダーが組み込まれます。 MQCFH ヘッダー、アクセス・パラメーター、パラメーター・リスト、ストリング、およびグループの内容を処理することができます。
SET OutputRoot.MQPCF.Parameter[nn] = Integer parameter ID64 ビット・パラメーターにアクセスする場合、次のような構文を使用して、32 ビット・パラメーターと区別します。
SET OutputRoot.MQPCF.Parameter64[nn] = Integer parameter ID以下に例を示します。
SET OutputRoot.MQPCF.Parameter[1] = MQCACF_AUTH_PROFILE_NAME;
SET OutputRoot.MQPCF.ParameterList64[nn] = Integer parameter ID SET OutputRoot.MQPCF.ParameterList64[nn].*[xx] = Integer parameter values以下に例を示します。
SET OutputRoot.MQPCF.ParameterList[1] = MQIACF_AUTH_ADD_AUTHS; SET OutputRoot.MQPCF.ParameterList[1].*[1] = MQAUTH_SET; SET OutputRoot.MQPCF.ParameterList[1].*[2] = MQAUTH_SET_ALL_CONTEXT;
SET OutputRoot.MQPCF.Parameter[nn] = Integer parameter ID SET OutputRoot.MQPCF.Parameter[nn].* = Integer, String or ByteArray Parameter value
SET OutputRoot.MQPCF.Group[xx] = Group Parameter ID以下に例を示します。
SET OutputRoot.MQPCF.Group[1] = MQGACF_Q_ACCOUNTING_DATA; SET OutputRoot.MQPCF.Group[1].Parameter[1] = MQCA_CREATION_DATE; SET OutputRoot.MQPCF.Group[1].Parameter[1].* = '2007-02-05';また、ネストされたグループを使用することもできます。以下に例を示します。
SET OutputRoot.MQPCF.Group[1].Group[1] = MQGACF_Q_ACCOUNTING_DATA; SET OutputRoot.MQPCF.Group[1].Group[1].Parameter[1] = MQCA_CREATION_DATE; SET OutputRoot.MQPCF.Group[1].Group[1].Parameter[1].* = '2007-02-05';
SET OutputRoot.MQPCF.Filter[xx] = Integer parameter ID SET OutputRoot.MQPCF.Filter[xx].Operator = Integer Filter name SET OutputRoot.MQPCF.Filter[xx].Value = Byte, Integer or String Filter Value
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD'; CREATE NEXTSIBLING OF OutputRoot.MQMD DOMAIN 'MQADMIN' NAME 'MQPCF'; CREATE FIELD OutputRoot.MQPCF; SET OutputRoot.MQMD.MsgType = MQMT_REQUEST; SET OutputRoot.MQMD.ReplyToQ = 'REPLYQ'; DECLARE refRequest REFERENCE TO OutputRoot.MQPCF; SET refRequest.Type = 16; --MQCFT_COMMAND_XR z/OS SET refRequest.StrucLength = MQCFH_STRUC_LENGTH; SET refRequest.Version = 3; -- required for z/OS SET refRequest.Command = MQCMD_INQUIRE_Q; SET refRequest.MsgSeqNumber = 1; SET refRequest.Control = MQCFC_LAST; /* First parameter: Queue Name. */ SET refRequest.Parameter[1] = MQCA_Q_NAME; SET refRequest.Parameter[1].* = 'QUEUENAME.*'; SET refRequest.ParameterList[1] = MQIACF_Q_ATTRS; SET refRequest.ParameterList[1].* = MQIACF_ALL;