プロパティー・ツリーへのアクセス

プロパティー・ツリーには独自の相関名 Properties があり、このツリーの内容を参照または設定するすべての ESQL ステートメントではこの名前を使用する必要があります。

プロパティー・ツリーのフィールドには、メッセージの特性を定義する値が含まれています。 例えば、プロパティー・ツリーには、メッセージ・ドメイン用のフィールドがあり、エンコード用のフィールドとメッセージ・データがエンコードされる CCSID 用のフィールドが含まれています。 このツリーのフィールドの完全なリストは、Properties サブツリー内のエレメントのデータ・タイプを参照してください。

適切な ESQL ステートメントを使用して、こうしたフィールドに問い合わせて更新することができます。Compute ノードで新規出力メッセージを作成する場合には、メッセージ・プロパティーの値を設定しなければなりません。

出力メッセージのプロパティーの設定

新規出力メッセージの生成に Compute ノードを使用する場合には、プロパティー・ツリーでそのプロパティーを設定する必要があります。 出力メッセージのプロパティーは、入力メッセージのプロパティーと同じである必要はありません。

例えば、出力 MRM メッセージに出力メッセージ・プロパティーを設定するには、以下のプロパティーを設定してください。

プロパティー
メッセージ・ドメイン MRM
メッセージ・セット メッセージ・セット ID
メッセージ・タイプ メッセージ名¹
メッセージ形式 物理形式名²
注:
  1. メッセージ・タイプの構文について詳しくは、「メッセージ・タイプ」プロパティーでのネーム・スペースの指定を参照してください。
  2. 物理層に指定する名前は、そこに定義済みの名前と一致する必要があります。 物理層のデフォルトの名前は CWF1XML1、および TDS1 です。

この ESQL プロシージャーは、メッセージ・プロパティーを、呼び出し側のステートメントによって渡される値に設定します。 このタスクは頻繁に実行する必要がある場合もあり、多種多様なノードおよびメッセージ・フローで、このようなプロシージャーを使用することができます。 必要であれば、特定の値を設定する ESQL をコーディングすることができます。

CREATE PROCEDURE setMessageProperties(IN OutputRoot REFERENCE, IN setName char,
                 IN typeName char, IN formatName char) BEGIN
	/****************************************************************************
	* A procedure that sets the message properties
	****************************************************************************/
	set OutputRoot.Properties.MessageSet    = setName;
	set OutputRoot.Properties.MessageType   = typeName;
	set OutputRoot.Properties.MessageFormat = formatName;
END;

出力メッセージ・ドメインを設定するには、メッセージ・プロパティーを設定するか、または必要なドメインを参照する ESQL ステートメントを SET ステートメントの 2 番目の修飾子、パーサー・フィールドにコーディングします。 例えば、ESQL ステートメントがドメインを MRM に設定するとします。

SET OutputRoot.MRM.Field1 = 'field1 data';

この ESQL ステートメントは次のようにドメインを XMLNS に設定します。

SET OutputRoot.XMLNS.Field1 = 'field1 data';

単一のメッセージに対して、複数のドメインを ESQL で指定しないでください。 ただし、PROPAGATE ステートメントを使用していくつかの出力メッセージを生成する場合には、それぞれのメッセージごとに異なるドメインを設定することができます。

プロパティー・ツリー内のエレメントの完全なリストについては、Properties サブツリー内のエレメントのデータ・タイプを参照してください。

同一フィールドの場合にどちらのフォルダーが優先されるかという点で、Properties フォルダーと MQMD フォルダーの取り扱い方には相違があります。 詳しくは、さまざまなトランスポートの場合の、MQMD フォルダーと比較した Properties フォルダーの振る舞いを参照してください。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:42:46

ac06015_