MQRFH2 ヘッダーのフィールドにアクセスするための ESQL ステートメントをコーディングします。
Compute ノードで MQRFH2 ヘッダーを構成すると、以下の 2 種類のフィールドが組み込まれます。
これら 2 つのフィールド・タイプを区別するには、MQRFH2 フィールドで参照されるフィールドの前に、そのタイプを識別するための値を挿入します。 NameValue バッファーの値は、デフォルトなので必要ありません。 ヘッダー構造に対して指定する値は、(MQRFH2.Field) です。
以下に例を示します。
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR ';
SET OutputRoot.MQRFH2.psc.Topic = 'department';
DECLARE I INTEGER 1;
DECLARE J INTEGER CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I=I+1;
END WHILE;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR';
SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208;
SET OutputRoot.MQRFH2.psc.Command = 'RegSub';
SET OutputRoot.MQRFH2.psc.Topic = "InputRoot"."MRM"."topel";
SET OutputRoot.MQRFH2.psc.QMgrName = 'DebugQM';
SET OutputRoot.MQRFH2.psc.QName = 'PUBOUT';
SET OutputRoot.MQRFH2.psc.RegOpt = 'PersAsPub';
WHILE I < CARDINALITY(InputRoot.*[]) DO
MQRFH2 ヘッダーは、MQRFH2 パーサーまたは MQRFH2C コンパクト・パーサーのいずれかを使用して構文解析できます。 メモリーの消費量を少なくするために、メッセージ・フローの入力ノードで「MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用」チェック・ボックスを選択して、MQRFH2C コンパクト・パーサーを使用します。 その結果、パスは MQRFH2 の代わりに MQRFH2C を含むものとなり、例えば SET OutputRoot.MQRFH2C.psc.Topic = 'department'; となります。
宛先 MQRFH2 フィールドが作成されるのは、ヘッダーがコピーされて、MQRFH2C パーサー・オプションが MQInput ノード上で選択されていない場合だけです。 その他の場合にはすべて、出力で MQRFH2C フィールドが作成されます。