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

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

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

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

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

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

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

プロパティー
メッセージ・ドメイン (Message Domain) MRM
メッセージ・セット (Message Set) メッセージ・セット ID
メッセージ・タイプ (Message Type) メッセージ名1
メッセージ形式 (Message Format) 物理形式名2
Notes:
  1. 複数パーツ・メッセージを使用している場合、MessageType の使用に関する詳細については、複数パーツ・メッセージを参照してください。
  2. 物理層に指定する名前は、そこに定義済みの名前と一致する必要があります。 物理層のデフォルトの名前は CWF1XML1、および TDS1 です。

以下の ESQL を使用してください。 このコードは、物理層のデフォルトの名前の使用について示しています。 モデル定義と一致する名前を使用する必要があります。 誤った値を指定するとブローカーは失敗し、メッセージ BIP5431 が出されます。

SET OutputRoot.Properties.MessageSet = 'DH06JOE06S001';
SET OutputRoot.Properties.MessageType = 'm_mess101';
SET OutputRoot.Properties.MessageFormat = 'XML1';
-- or 
--    SET OutputRoot.Properties.MessageFormat = 'CWF1';
-- or 
--    SET OutputRoot.Properties.MessageFormat = 'TDS1';  

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

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

は、ドメインを MRM に設定します。

ESQL ステートメント:

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

は、ドメインを XML に設定します。

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

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

関連概念
メッセージ・フロー
プロパティー・ツリー
ESQL
メッセージのモデル化

関連タスク
メッセージ・フローの設計
メッセージ・フローの内容の定義
ESQL ファイルの管理

関連資料
Compute ノード
Database ノード
Filter ノード
Properties サブツリー内のエレメントのデータ・タイプ
ESQL
SET ステートメント