TDS Format message set properties

The tables below shows the message set properties that you can set for the TDS Format. Default TDS Message set properties shows the defaults for each of the industry standards for each of these properties.

Messaging Standard

Property Type Meaning
Messaging Standard Enumerated type Specify the standard to be used for this wire format. Select one of the following values from the drop-down list:
  • ACORD AL3
  • EDIFACT
  • SWIFT
  • UNKNOWN
  • X12
  • TLOG
  • HL7

Select UNKNOWN if you are defining your own tagged/delimited messages, or are using a standard that is not included in the list above.

The selected value controls the default values for a number of the other properties.

The default is UNKNOWN.

Data element separation

Property Type Meaning
Group Indicator String Specify the value of a special character or string that precedes the data belonging to a group or complex type within the bit stream.

If you set the group or type property Group Indicator, it overrides this value.

Group Terminator String Specify the value of a special character or string that terminates data belonging to a group or a complex type within the bit stream.

If you set the group or type property Group Terminator, it overrides this value.

Delimiter String Specify the value of a special character or string that specifies the delimiter used between data elements.

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

Suppress Absent Element Delimiters Enumerated type Use this property to select if 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 3 elements and only 2 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 will be written out. This option should be used when the delimiter used to delimit parent and child objects is the same. For example, if an optional child element is missing, message processing applications could not tell where the child elements in a message ended and the next parent element started if the delimiters are all the same.
Tag Data Separator Button and String Specify the value of a special character or string that separates the Tag from the data. The Tag Data Separator and Length of Tag properties are mutually exclusive.

If you set the property Tag Data Separator, it overrides Length of Tag.

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 length of a tag value. When the message is parsed, this allows tags to be extracted from the bit stream if the Tag Data Separator property is not set.

The Tag Data Separator and Length of Tag properties are mutually exclusive. If you set the property Tag Data Separator, it overrides this value.

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

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 WebSphere Message Broker.

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 Fixed Len String Enumerated type This property specifies whether the message is to be trimmed when it is parsed. The property also describes what is to be trimmed. This control does not apply when writing a message.
You can select from:
  • No Trim
  • Leading White Spaces
  • Trailing White Spaces
  • Trim Both
  • Trim Padding Chars

The trim of padding characters occurs from the left or right depending on the Justification property for the element.

You might need to use this 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 processing these fields. White Space characters include control characters in the range from U+0000 to U+001f and from U+007f to U+009f.

Escape Character 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 only apply in variable length fields.
  • Escape characters on parse will always escape the next character and will always be removed. (Variable fields only)
  • Escape characters on write will be inserted in front of all characters listed in 'Reserved Characters'. (Variable fields only)
Reserved Characters String Specify the special reserved characters that must be preceded by the escape character if they are to be included as part of the data. The Escape Character, delimiters, and group indicators are usually included in this list.

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

If you have specified reserved characters, an Escape Character must also be specified.

  • Reserved characters only apply in variable length fields.
  • Reserved Characters are not used on parse.

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.
Strict Numeric Checking Boolean This is used in relation with the Messaging Standard property, Virtual Decimal Point property and the Precision property of a global element. This allows you to apply stricter rules for the checking of numbers. 1

The default is for this property not to be set.

Note:
  1. The rules for Strict Numeric Checking are:
    • If the Precision property of a global element is set to All Significant Digits then there should only be a decimal separator if there is a fractional part to the value.
    • If the Precision property of a global element is set to Explicit Decimal Point then the decimal separator must always be present, even if the fractional part is missing.
    • If the Precision property of a global element is set to Exponential Notation then the incoming value must be in exponential notation. Exponential notation is only allowed for floating numbers.
    • If the Precision property of a global element is set to a specific value, then the specific number of digits after the decimal separator must be present.
    • All values contain at least one digit in the integer part of the number.
    • If a Virtual Decimal Point of a global element has been set, the number must not have a decimal point.
    • Except for EDIFACT the decimal separator should only be the specified value and '.' should not be permitted. For EDIFACT both '.' and the specified separator are permitted. In this case the decimal separator should be specified as ',' and the code will also permit '.' to be used.
    • Except for exponential functions, only digits 0-9, the decimal separator and positive and negative signs 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.

Representation of Boolean values

Property Type Meaning
Boolean True Value String Specify the value of the string representing the Boolean true value. The default value is 1.
Boolean False Value String Specify the value of the string representing the Boolean false value. The default value is 0.
Boolean Null Value String Specify the value of the string representing the Boolean null value. The default value is 0.

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. The defaults are:
dateTime
yyyy-MM-dd'T'HH:mm:ssZZZ
date
yyyy-MM-dd
time
HH:mm:ssZZZ
gYear
yyyy
gYearMonth
yyyy-MM
gMonth
--MM--
gMonthDay
--MM-dd
gDay
---dd

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

Use default dateTime Format Button and dateTime 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.

The initial value for this property is yyyy-MM-dd'T'HH:mm:ssZZZ, which you can change by over-typing.

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

For more information about dateTime formats, see DateTime formats.

Start of century for 2 digit years Integer This property determines how two-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 two-digit dates are interpreted as being in the range 1989 to 2088.

The initial value is 53, which you can change by over-typing.

Days in First Week of Year Enumerated type Specify the number of days of the new year that must fall within the first week.

The start of a year usually 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; hence week 1 starts some days into the new year. Otherwise it is considered to be the first week of the new year; hence week 1 starts some days before the new year.

Select Use Broker Locale, which causes the broker to get the information from the underlying platform, or select a number from the drop-down list. The initial value is 4.

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

Select Use Broker Locale, which causes the broker to get the information from the underlying platform, or select a value from the drop-down list. The initial value is Monday.

Strict DateTime Checking Check box Select this option if you want to restrict dateTimes to a valid dateTime format. This will not allow 35th March to be processed as 4th April, and 10:79 to be processed as 11:19. If Strict DateTime Checking is set, receiving an incorrect dateTime will cause an error. The default is to restrict dateTimes.
Strict dateTime checking
Examples of strict dateTime checking are:
  • DateTimes will be restricted to valid dateTimes only. This will not allow dates such as the 35th March to be processed as 4th April, and 10:79 to be processed as 11:19. Receiving an out-of-band dateTime like these examples, will cause 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 required. The maximum number of digits permitted will be the upper bound for a particular symbol. For example, day in month has an upper bound of 31 therefore a format string of d will allow the values of 2 or 21 to be parsed but will disallow the value of 32 or 210. On output, numbers are padded with zeros to the specified length. A year is a special case, see message set property of 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.
  • Whitespace will not be skipped over. The whitespace in the input string must correspond with the same number and the position of whitespaces in the formatting string.
  • If there is still data to be parsed in the input string once all the symbols in the formatting string have been matched, an error will occur.
Lenient dateTime checking
Examples of lenient dateTime checking are:
  • The parser will convert out-of-band dateTime values to the appropriate in-band value. For example, a date of 2005-05-32 will be converted to 2005-06-01.
  • Output of dateTimes will always adhere 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. This would allow invalid dates such as 2005-1-123 and 2005-011-12 to be input. The first value of 2005-1-123 would be output as the date 2005-05-03, and the second value of 2005-011-12 would be output as the date 2005-11-12.
  • The number of the timezone formatting symbol Z will only be applicable to the output dateTime format.
  • Whitespace will be skipped over.
Time Zone Enumerated type 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 broker to get the information from the underlying platform.

You can change this using the drop down box.

Daylight Savings Time Check box Select this option if the area in the Time Zone property observes daylight savings time. If it does not observe daylight savings time, this option should not be selected.

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

Default is not to observe daylight savings 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 includes ZZZ or ZZZU.

Such elements and attributes can specify Consolidated 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 checked, and the element or attribute is copied to an output message, then the UTC format will be preserved into the output message and will override that implied by the dateTime format property.

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

The default for this property is not checked.

Related concepts
Physical formats in the MRM domain
TDS format
TDS format: Relationship to the logical model
Related tasks
Working with physical properties
Related reference
Message set properties
Custom Wire Format message set properties
XML Wire Format message set properties
TDS Mnemonics
White space characters in TDS
Default TDS Message set properties
Documentation properties for all message set objects