Message Sets: TDS Format message set properties

The following tables show the properties that you can set for a TDS format message set.

See Message Sets: Default TDS message set properties for the default settings of these properties for each of the industry standards.

Messaging Standard

Property Type Meaning
Messaging Standard Enumerated Specify the standard to be used for this wire format. Select one of the following values:
  • User Defined Text - for text data not based on a standard
  • SWIFT
  • ACORD AL3
  • EDIFACT
  • X12
  • TLOG
  • HL7
  • CSV - Comma Separated Values
  • User Defined Mixed - for mixed text and binary data

If you are defining your own tagged/delimited messages, or are using a standard that is not included in the list of values shown, select either User Defined Text, if all your data is text, or User Defined Mixed, if not all your data is text.

The value that you select for this property determines the default values of some of the other properties.

The default is User Defined Text.

Data element separation settings

Property Type Meaning
Group Indicator String Specify the default value of a special character or string that precedes the data that belongs to a group or complex type within the bit stream.
Group Terminator String Specify the default value of a special character or string that terminates data that belongs to a group or a complex type within the bit stream.
Delimiter String Specify the default value of a special character or string that specifies the delimiter that is used between data elements.

This property applies only to the delimited Data Element Separation methods (Tagged Delimited, All Elements Delimited, and Variable Length Elements Delimited).

Suppress Absent Element Delimiters Enumerated Use this property to select whether you want delimiters to be suppressed for elements that are missing within a message. Select from:
  • End Of Type. Use this option to suppress the delimiter when an element is missing. For example, if the model has been defined to have up to three elements and only two are present, the last delimiter can be omitted from the message.
  • Never. Use this option to ensure that even if optional elements are not present, all delimiters are written out. This option must be used when the same delimiter is used to delimit parent objects and child objects. For example, if an optional child element is missing and all the delimiters are the same, message processing applications cannot tell where the child elements in a message ends and where the next parent element starts.
Tag Data Separator String Specify the default value of a special character or string that separates the tag from the data.

If you set the property Tag Data Separator, the Length of Tag property is ignored.

This property applies only to the tagged Data Element Separation methods (Tagged Delimited, Tagged Fixed Length, and Tagged Encoded Length).

Length of Tag Integer Specify the default length of a tag value. When the message is parsed, this property allows tags to be extracted from the bit stream.

The Tag Data Separator and Length of Tag properties are mutually exclusive. If you set the property Tag Data Separator, the Length of Tag property is ignored.

This property applies only to the tagged Data Element Separation methods (Tagged Delimited, Tagged Fixed Length, and Tagged Encoded Length).

Note: Any value that you set for a group or complex type property overrides the value that you set for the corresponding message set property.

Character data settings

Property Type Meaning
Default CCSID Integer CCSID (Coded Character Set Identification) specifies the mapping between character codes and symbols. You must specify a code set that is supported by IBM® Integration Bus.

This property stores the default CCSID for the message bit stream, but this value can be overridden when the message is processed (for example, by the CCSID in the header of a WebSphere® MQ input message).

Trim on input Enumerated This property applies only to elements and attributes with a physical type of Text. This property specifies whether a simple element or attribute value is to be trimmed when it is parsed. The property does not apply to a simple element, or attribute, with a logical type of Boolean or Binary. All trimming is applied to element or attribute values before the conversion of the value to its logical type. This property does not apply when writing elements or attributes.
This property only applies to a simple element, or attribute, that is contained within a complex type or group that has the Justification property set to Left Justify or Right Justify, and that satisfies one of the following conditions:
  • The Data Element Separation property is set to Fixed Length, Fixed Length AL3, Tagged Fixed Length, Use Data Pattern, or Tagged Encoded Length.
  • The Data Element Separation property is set to Variable Length Elements Delimited, and the element or attribute has a value set for its model length or length reference.
  • The Data Element Separation property is set to Tagged Delimited or All Elements Delimited, and the Observe Element Length property is set. The element or attribute has a model length or length reference value set.
This property can be set to one of the following values:
  • No Trim. No characters are trimmed from the element or attribute value.
  • Leading White Spaces. White space characters are trimmed from the left of the element or attribute value.
  • Trailing White Spaces. White space characters are trimmed from the right of the element or attribute value.
  • Trim Both. White space characters are trimmed from both the left and the right of the element or attribute value.
  • Trim Padding Chars. Padding characters are trimmed from the element or attribute value. The padding character is set by the Padding Character property of the element or attribute. If the Justification property of the element or attribute is set to Left Justify, the padding characters are trimmed from the right. If the Justification property of the element or attribute is set to Right Justify, the padding characters are trimmed from the left. If the Justification property of the element or attribute is set to Not Applicable, no trimming takes place.

White space characters include control characters that are in the range from U+0000 to U+001f and from U+007f to U+009f.

You might need to use this property if you have data input that is mapped to a numeric simple type. For example, if the input data has leading spaces, you can set this property to Leading White Spaces to avoid data conversion problems when you process these fields.

Truncate on output Check box This property applies only to output strings that have a physical type of Text.

The property applies to elements or attributes that have a logical type of xsd:string and that are contained within a structure with a Data Element Separation of Fixed Length, Fixed Length AL3, Tagged Fixed Length, Use Data Pattern, or Variable Length Elements Delimited where a length has been specified.

If this check box is selected, and the element or attribute has a length that is longer than the length that is specified in the model or the length reference, the string is truncated to this length. No exception is raised on output, unless validation (see Validating messages) is active.

The end from which data is truncated is determined by the value of the Justification property. If the value of the Justification property is Left justify, data is truncated from the right; if the value of the Justification property is Right justify, data is truncated from the left. However, if the value of the Justification property is Not applicable, truncation does not occur and an exception occurs if the string is too long.

If this check box is cleared, an exception occurs if the element or attribute is a fixed length string (that is, the physical type is Text and a length has been specified) that is longer than either the length that is specified in the model or the length reference. This behavior occurs in releases of the IBM Integration Bus earlier than Version 6.1.

Escape Character Button and String Specify the escape character that is used to allow special reserved characters (such as delimiters) to be included as part of data. You must specify a single character only, or a mnemonic that represents a single character.

Escape characters apply only in variable length fields.

Escape characters, on parsing, always escape the next character, and are always removed.

Escape characters, on writing, are inserted in front of all the characters that are listed in Reserved Characters.

You can specify either an escape character or a quote character, but not both, for a given message set.

Quote Character Button and String Specify the quote character that is used to allow special reserved characters (such as delimiters) to be included as part of data. You must specify a single character only, or a mnemonic that represents a single character.

Quote characters apply only to variable length fields.

Quote characters, on parsing, must be present at both the start and the end of the data, and are always removed.

Quote characters, on writing, are added to both the start and end of the data, if the data contains any character that is listed in the Reserved Characters property.

You can specify either an Escape Character or a Quote Character, but not both, for a given message set.

Reserved Characters String Specify any special reserved characters. Either these reserve characters must be preceded by the Escape Character, or the data field that contains them must be delimited by a pair of Quote Characters, if they are to be included as part of the data. The Escape Character, Quote Character, delimiters, and group indicators must be included in this list.

If the set of reserved characters is to be updated dynamically (in the case of EDIFACT and X12 when reserved characters, such as delimiters, are specified in service strings), you must use the supplied mnemonics to specify characters in this list.

If you have specified Reserved Characters, an Escape Character or a Quote Character must also be specified.

Reserved characters apply only in variable length fields.

Reserved characters are not used when parsing.

Numeric settings

Property Type Meaning
Decimal Point String Specify the character that is used to separate the whole part of a number from its fraction.
Packed decimal positive code String Controls the positive sign that is used for packed decimal fields.

Valid values are C or F.

Specify the character that is used to separate the whole part of a number from its fraction.
Strict Numeric Checking Check box Use this property in conjunction with the Messaging Standard property, the Virtual Decimal Point property and the Precision property of an element. Using this property allows you to apply stricter rules for the checking of numbers.
The rules for Strict Numeric Checking are:
  • If the Precision property of an element is set to All Significant Digits , a decimal separator is present only if the value has a fractional part.
  • If the Precision property of an element is set to Explicit Decimal Point, the decimal separator must always be present, even if the fractional part is missing.
  • If the Precision property of an element is set to Exponential Notation, the incoming value must be in exponential notation. Exponential notation is only allowed for floating numbers.
  • If the Precision property of an element is set to a specific value, the specific number of digits after the decimal separator must be present.
  • All values must contain at least one digit in the integer part of the number.
  • If a Virtual Decimal Point of an element has been set, the number must not have a decimal point.
  • Except for EDIFACT, the decimal separator can be only the specified value, and '.' is not permitted. For EDIFACT, both '.' and the specified separator are permitted. In this case, the decimal separator must be specified as ',' and the code permits '.' to be used.
  • Except for exponential functions, only digits 0-9, the decimal separator, the positive sign, and the negative sign are permitted. For exponential functions the characters 'e' and 'E' are also permitted. Padding characters are permitted only if they are in a position to be stripped from the number.
Derive sign from logical type Check box If this property is selected, an unset TDS Signed property attempts to derive its value from the simple type of the element (integer and decimal simple logical types only). For these logical types it applies only to the Integer, External Decimal, and Packed Decimal physical types.
Default byte order Enumerated Controls the byte order of numbers that are represented as binary integers for messages with no MQMD.

Valid values are Big Endian or Little Endian.

This property stores the default byte order for numbers that are represented as binary integers for messages with no MQMD, but this value can be overridden when the message is processed.

Default packed decimal byte order Enumerated Controls the byte order of numbers that are represented as packed decimal for messages with no MQMD.

Valid values are Big Endian or Little Endian.

This property stores the default byte order of numbers that are represented as packed decimal for messages with no MQMD, but this value can be overridden when the message is processed.

Default float format Enumerated Controls the format of numbers that are represented as float for messages with no MQMD.

Valid values are S390, IEEE, or Reverse IEEE.

This property stores the default format of numbers that are represented as float for messages with no MQMD, but this value can be overridden when the message is processed.

Representation of boolean values

Property Type Meaning
Text boolean true value String Specifies the character that represents the text Boolean true value.
Text boolean false value String Specifies the character that represents the text Boolean false value.
Text boolean null value String Specifies the character that represents the text Boolean null value.
Binary boolean true value String Specifies a hexadecimal value that represents the binary Boolean true value.
Binary boolean false value String Specifies a hexadecimal value that represents the binary Boolean false value.
Binary boolean null value String Specifies a hexadecimal value that represents the binary Boolean null value.

Datetime settings

Property Type Meaning
Derive default dateTime format from logical type Button Select this option if you want the default dateTime format to be determined by the logical type of the element or attribute.

You can override this property for an element or attribute within a complex type.

Use default dateTime format Button and String Select this option if you want to specify a default dateTime format that is fixed for all elements or attributes of logical type dateTime, date, time, gYear, gYearMonth, gMonth, gMonthDay, and gDay.

You can override this property for an element or attribute within a complex type.

For more information, see Message Sets: DateTime formats.

Start of century for 2-digit years Integer This property determines how 2-digit years are interpreted. Specify the two digits that start a 100-year window that contains the current year. For example, if you specify 89, and the current year is 2002, all 2-digit dates are interpreted as being in the range 1989 - 2088.
Days in First Week of Year Enumerated Specify the number of days of the new year that must fall within the first week.

The start of a year typically falls in the middle of a week. If the number of days in that week is less than the value specified here, the week is considered to be the last week of the previous year; therefore, week 1 starts some days into the new year. Otherwise, it is considered to be the first week of the new year; in this case, week 1 starts some days before the new year.

Select Use Broker Locale, which causes the integration node to get the information from the underlying platform, or select a number from the list that is displayed.

First Day Of Week Enumerated Specify the day on which each new week starts.

Select Use Broker Locale, which causes the integration node to get the information from the underlying platform, or select a value from the list that is displayed.

Strict DateTime Checking Check box Select this option if you want to restrict dateTimes to a valid dateTime format. If Strict DateTime Checking is selected, receiving an incorrect dateTime causes an error.
Strict dateTime checking
Examples of strict dateTime checking are:
  • DateTimes are restricted to valid dateTimes only. When you use this option, a date such as the 35th March is not processed as 4th April, and 10:79 is not processed as 11:19. Receiving an out-of-band dateTime, such as these examples, causes an error to occur.
  • The number of characters for a numeric dateTime component must be within the bounds of the corresponding formatting symbols. Repeat the symbol to specify the minimum number of digits that you require. The maximum number of digits that is permitted becomes the upper bound for a particular symbol. For example, day in month has an upper bound of 31; therefore, a format string of 'd' allows the values 2 and 21 to be parsed, but does not allow the values 32 and 210. On output, numbers are padded with zeros to the specified length. A year is a special case; see the message set property Start of century for 2 digit years. For fractional seconds, the length must implicitly match the number of format symbols on input. The output is rounded to the specified length.
  • White space is not skipped over. The white space in the input string must correspond with the same number and position of white space in the formatting string.
  • If data remains that is not parsed in the input string after all the symbols in the formatting string have been matched, an error occurs.
Lenient dateTime checking
Examples of lenient dateTime checking are:
  • The parser converts out-of-band dateTime values to the appropriate in-band value. For example, a date of 2005-05-32 is converted to 2005-06-01.
  • Output of dateTimes always adheres to the symbol count. For example, a formatting string of yyyy-MM-dd (where '-' is the field separator) allows one or more characters to be parsed against MM and dd. Therefore, dates that are not valid - for example, 2005-1-123 and 2005-011-12 - can be entered. The first value of 2005-1-123 is output as the date 2005-05-03, and the second value of 2005-011-12 is output as the date 2005-11-12.
  • The number of the timezone formatting symbol Z is applicable only to the output dateTime format.
  • White space is skipped over.
Time Zone Enumerated The value that you set for this property is used if the value that you specified for the Default DateTime Format property does not include Time Zone information.

The initial value is Use Broker Locale, which causes the integration node to get the information from the underlying platform.

You can change this property by selecting from the list of values.

Daylight Saving Time Check box Select this option if the area in the Time Zone property observes daylight saving time. If it does not observe daylight saving time, do not select this option.

For example, if an area is selected in Time Zone and this option is not selected, the value passed represents the time zone without the daylight saving time.

Use input UTC format on output Check box This property applies to elements and attributes of logical type xsd:dateTime or xsd:time that have a dateTime format of I, IU, T, or TU, or that include ZZZ or ZZZU.

Such elements and attributes can specify Coordinated Universal Time (UTC) by using either the Z character or timezone +00:00 in the value. On input, the MRM parser remembers the way that UTC was specified.

If this property is selected, and the element or attribute is copied to an output message, the UTC format is preserved into the output message and overrides the format that is implied by the dateTime format property.

If this property is cleared, or the element or attribute was not copied from an input message, the UTC format in the output message is controlled solely by the dateTime format property.

General settings

Property Type Meaning
Output policy for missing elements Enumerated Controls whether the default value or null value is used on output for missing elements.

Valid values are UseDefaultValue or UseNullValue.

Derive default length from logical type Check box If this property is selected, an unset TDS Length property attempts to derive its default value from the simple type of the element (string, binary, integer, and decimal simple logical types only). For these logical types, it applies only to the Binary, Text, Integer, External Decimal, and Packed Decimal physical types.