访问属性树

属性树拥有其自己的相关名“属性”,并且您必须在所有引用或设置此树的内容的 ESQL 语句中使用此名称。

属性树中的字段包含定义消息特性的值。例如,属性树包含消息域的字段以及编码消息数据所在的编码和 CCSID 的字段。 有关此树中字段的全部列表,请参阅属性子树中元素的数据类型

您可以使用相应的 ESQL 语句查询和更新这些字段。如果您在 Compute 节点中创建新的输出消息,则您必须设置消息属性的值。

设置输出消息属性

如果您使用 Compute 节点生成新输出消息,则必须在属性树中设置其属性。输出消息的属性不必与输入消息的属性相同:

例如,要为输出 MRM 消息设置输出消息属性,设置以下属性:

属性
消息域 MRM
消息集 消息集标识
消息类型 消息名称¹
消息格式 物理格式名称²
注:
  1. 如果您使用多段式消息,请参阅多段式消息,获取如何使用 MessageType 的详细信息。
  2. 您为物理层指定的名称必须与您为它定义的名称相匹配。缺省物理层名是 CWF1XML1TDS1

该 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;

要设置输出消息域,可设置消息属性,或者在 SET 语句的第二个限定符(解析器字段)对引用必需域的 ESQL 语句进行编码。例如,ESQL 语句将域设置为 MRM:

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

该 ESQL 语句将域设置为 XML:

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

不要在任何单个消息的 ESQL 中指定多个域。然而,如果使用 PROPAGATE 语句生成几个输出消息,则可以为每个消息设置不同的域。

有关属性树中元素的完整列表的信息,请参阅属性子树中元素的数据类型

声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac06015_