Codieren Sie ESQL-Anweisungen für den Zugriff auf die Felder des MQRFH2-Headers.
Wenn Sie einen MQRFH2-Header in einem Compute-Knoten erstellen, enthält dieser zwei Arten von Feldern:
Fügen Sie vor das Referenzfeld im MQRFH2-Feld zur Unterscheidung zwischen diesen beiden Feldtypen einen Wert ein, um dessen Typ zu identifizieren; für den NameValue-Puffer ist kein Wert erforderlich, da dies der Standardwert ist. Der Wert, den Sie für die Headerstruktur angeben, lautet (MQRFH2.Field).
Beispiel:
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
Die Syntaxanalyse des MQRFH2-Header kann im MQRFH2-Parser oder im MQRFH2C-Kompaktparser durchgeführt werden. Damit weniger Speicher benötigt wird, legen Sie für die Verwendung des MQRFH2C-Kompaktparsers im Empfangsknoten des Nachrichtenflusses die Eigenschaft MQRFH2C-Kompaktparser für MQRFH2-Header verwenden fest. Dies führt zu Pfaden, die MQRFH2C anstelle von MQRFH2 enthalten; Beispiel: SET OutputRoot.MQRFH2C.psc.Topic = 'department';
MQRFH2-Zielfelder werden nur erstellt, wenn die Header kopiert werden und die MQRFH2C-Parseroption im MQInput-Knoten nicht ausgewählt ist. In allen anderen Fällen wird bei der Ausgabe ein MQRFH2C-Feld erstellt.