UuidCreate node


The UuidCreate node icon

This page contains information on:

The UuidCreate node is responsible for creating a new UUID value and copying it into the current message at the specified syntax element location.  The UUID (Universally Unique Identifier) value generated is guaranteed to be unique among any other values also generated by a UuidCreate node.  The UUID value is a 16 byte (binary) value although this may be truncated if it is stored in an existing syntax element whose data length is shorter than 16 bytes.

The UuidCreate node has one input terminal called in and two output terminals, out and failure.  When a message is received in the input terminal, the node generates a new UUID value, copies the original message to a new message, locates the syntax element specified by the CopyValueTo attribute (and creates it if it doesn't already exist) and copies the UUID value into the new message at the specified element location. The new message is then propagated to the out terminal.  Should any errors occur during this processing, the new message is first deleted and the original message is then propagated to the failure terminal.  A message is also logged to the MQSI V2 message log.

Node terminals

The UuidCreate node provides the following terminals:
 
 
in The input terminal that accepts a creation message for processing by the node.
out The output terminal to which the new message is propagated if the UUID value is  successfully created and stored in the new message.
failure The output terminal to which the original message is propagated if any errors are encountered during processing.

Configuring the UuidCreate node

When you have put an instance of the UuidCreate node into a message flow you can configure it. Right click on the node in the Message Flow Definition pane and select Properties. Specify the name of the syntax element into which you would like the UUID value to be stored.  The name must begin with 'Root.'.  If the element does not exist, the UuidCreate node will attempt to create it, in which case it will be initialised to a NAME-VALUE type element and its data type will be CHAR for XML format messages and BYTEARRAY for non-XML format messages.

UuidCreate node properties

CopyValueTo   Mandatory value specifying the location in the new message into which the UUID value will be stored.  The value specified must begin with 'Root.'.  For XML format messages, the XML qualifier can be omitted.  Thus, 'Root.XML.outer.tag5' is equivalent to 'Root.outer.tag5'.

For XML format messages, the UUID value is converted into a hexadecimal string before storing.

For non-XML messages specifying an existing location which contains CHAR type data, the UUID value is converted into a hexadecimal string before storing.

For non-XML messages specifying an existing location which contains binary data (BYTEARRAY or BITARRAY), the UUID value is truncated or padded with binary zeroes as necessary to ensure that the resultant value has the same length as the original data.  For example, if CopyValueTo contains 'Root.MQMD.CorrelId', then the CorrelId field in the output message will contain 24 bytes of data, the last 8 bytes set to binary zero.

IncludeSeparators

Optional value which controls the format of the UUID value.  If set to true, the UUID value is formatted with separators to look like a standard DCE-type UUID.  For example, the value '36e3f290d91f11d5a3e6204c4f4f5020' would be formatted as '36e3f290-d91f-11d5-a3e6-204c4f4f5020'.

Note: this option is only valid for XML format messages or non-XML messages where the target field is defined as data type CHAR.  For all other message formats the option has no effect.



(C) IBM Corporation 2001. All Rights Reserved