Message Sets: TDS properties for local attribute dateTime types

The TDS format properties for local attribute dateTime types.

The TDS Format properties described here apply to:

  • Objects: Local Attribute
  • DateTime schema types: date, dateTime, gDay, gMonth, gMonthDay, gYear, gYearMonth, time

Field Identification

Property Type Meaning
Tag String Specify the value that is used to identify the object in a message bit stream.

If the object is simple and the Data Element Separation property of the complex type or types in which the object is a child is Tagged Delimited, Tagged Fixed Length, or Tagged Encoded Length, this property must contain a non-empty value.

If the object is a complex element, and the Data Element Separation property of its parent is Tagged Delimited, Tagged Fixed Length, or Tagged Encoded Length, the property can contain an empty value.

The value for this property must be unique for every element in the message set; that is, no two elements in the message set can contain the same value for this property.

Data Pattern String Specify the regular expression that the parser uses to identify the data in the message to assign to the object. This property is used when the Data Element Separation method is set to Use Data Pattern in the complex type. For more details, see Message Sets: Regular expression syntax.

Physical representation

Property Type Meaning
Physical Type Enumerated type Select the physical type of the object.
If the Messaging Standard property of the message set is User Defined Text, User Defined Mixed, CSV, or TLOG, select one of the following values:
  • Text. The data is in character format.
  • Length Encoded String 1. The first byte of the data contains the length (in length units) of the data string that follows the length byte. The maximum length of a Length Encoded String 1 element is 255 length units.
  • Length Encoded String 2. The first two bytes of the data contain the length (in length units) of the data string that follows the two length bytes. The maximum length of a Length Encoded String 2 element is 65535 length units.
  • Null Terminated String. The data string ends with the hexadecimal NULL character, X'00'.
  • Packed Decimal. The data is a packed decimal number that equates to the COMP-3 data type in COBOL.
  • Binary. The data is in bit string format.
  • Time Seconds. This value supports C time_t, and Java™ Date and Time objects. It is valid only if the DateTime Format property represents numeric-only data.
  • Time Milliseconds. This value supports C time_t, and Java Date and Time objects. It is valid only if the DateTime Format property represents numeric-only data.
The default is dependent on the Messaging Standard property.

For all other Messaging Standard values, the Physical Type property is set to Text.

Length Integer Specify the expected length of the object in length units.

A non-zero length must be specified if no Length Reference is specified.

If this property is not set and the message set property Derive default length from logical type is selected, and the Physical type is 'Character', the default value is derived from any length or maxLength value constraint (schema facet) on the simple type.

Length Units Enumerated type Select the unit of length for the object.
Select one of the following options (some physical types do not offer both options):
  • Bytes. The length is given in bytes.
  • Characters. The length is given in characters. The number of bytes that are processed in the bit stream depends on the code page of the message.
    • For a single-byte code page (SBCS CCSID) such as "latin-1" (CCSID 850), the number of bytes is equal to the number of characters.
    • For a double-byte code page (DBCS CCSID) such as "UTF-16" (CCSID 1200), the number of bytes is exactly twice the number of characters.
    • For a multibyte code page (MBCS CCSID) such as "UTF-8" (CCSID 1208), the number of bytes depends on the contents of the bit stream. The parser reads one character at a time and determines whether the character comprises one or more bytes.

The default is dependent on the physical type of the object.

Justification Enumerated type

Specify the justification of the object if the data being written or parsed is less than the fixed-length value. This property is used only when a value is written as a fixed-length string.

Select one of the following values from the list:

  • Not Applicable
  • Left Justify
  • Right Justify
Padding Character String Specify the padding character to be inserted or interpreted on the writing or parsing of a fixed-length object, if the data is less than the fixed-length value. This property is used only when a value is written as a fixed-length string.

Set this character in one of the following ways:

  • Select NUL, '0', or SPACE from the drop-down list.
  • Enter a character between quotation marks, for example "c" or 'c', where c is any alphanumeric character.
  • Enter a hexadecimal character code in the form 0xYY, where YY is a hexadecimal value.
  • Enter a Unicode value in the form U+xxxx, where xxxx is a Unicode value specified in hexadecimal. The maximum length of the string that you can enter is 10.

The choice of which of these padding character forms is used for an MRM element depends on the padding character required and whether the padding character is subject to data conversion.

In most cases, the specification of a padding character is sufficient, and when this padding character is used, it is converted to the target code page of the output MRM message that is generated.

If a padding character is required that cannot easily be entered in the padding character field, the Unicode mnemonic format can be used to specify the required character. When used, this Unicode value is also converted to the target code page of the MRM message that is generated.

If a padding character is required that is not subject to data conversion, the hexadecimal format can be used. This gives the option of specifying a padding character that is inserted directly into the output message. If this format is used, you must ensure that the hexadecimal value is valid for the code page of any output messages that are created using these MRM definitions.

If you convert a message from one code page to another, you must ensure that the converted value of the padding character is valid for this code page. For example, when converting from ASCII to code page 500, if you have specified the numeric 8 as your padding character, it is converted from 0x08 to 0x15; the ASCII and EBCDIC representations of Backspace.

There is a currently a restriction that the value of your padding character must not be greater than U+007F. If you enter a Unicode mnemonic or numeric value, it is considered to be the character that is represented by that number in UTF-8.

DateTime Format String Specify a template for date and time.

The default DateTime format is dependent on the logical type of the object. For information about the defaults for the dateTime format according to the logical type, see Message Sets: DateTime defaults by logical type.

See Message Sets: DateTime formats for details of date and time formats.

Length Reference Enumerated type This property is applicable only if Physical Type is Text, Binary, or TLOG Specific. If set, this property takes precedence over any value in the Length Units property.

Specify the identifier of a sibling integer object, the value of which determines the length of the object in question. The sibling object must be defined before the current object within the message structure.

For information about reordering elements, see Message Sets: Reordering objects.

Inclusive Length Reference Check box This property is applicable only if Length Reference is set.

If the check box is selected, the value of the sibling integer object that is identified by Length Reference is the length of the current object plus the length of the sibling integer object.

If the check box is not selected, the value of the sibling integer object that is identified by Length Reference is the length of the current object only.

If the check box is selected, the Length Units property of the sibling integer object must be the same as that of the current object.

Numeric representation

Property Type Meaning
Signed Check box Specify whether the value is signed.

If you have set the Physical Type property to Packed Decimal, External Decimal, Time Seconds, or Time Milliseconds, select (the default) or clear the check box, depending on whether the value is signed. If you have selected another value for Physical Type, this property is not used.

Sign EBCDIC Custom Overpunched Check box Specify whether EBCDIC custom sign format is used.

This property is applicable only if the Signed property is selected and the Physical Type property is set to External Decimal.

Sign Orientation Enumerated type
The values that you can choose for this property are:
  • Leading Separate
  • Trailing Separate
  • Leading Overpunched
  • Trailing Overpunched

This property is enabled only if you have set Physical Type to Text or External Decimal, and you have selected Signed.

If Physical Type is Text, the only valid values of Sign Orientation are Leading Separate and Trailing Separate.

If Physical Type is External Decimal and Sign EBCDIC Customer Overpunched is selected, the only valid values of Sign Orientation are Leading Overpunched and Trailing Overpunched.

Positive Sign String Specify the value that represents the positive symbol. Do not specify a numeric value. If no value is set, "+" is assumed. The positive sign is not written when creating an output message; it is used only to recognize the positive sign when parsing a message bit stream.

This property is applicable only if Physical Type is Text and Signed is selected.

Negative Sign String Specify the value that represents the negative symbol. Do not specify a numeric value. If no value is set, "-" is assumed.

This property is applicable only if Physical Type is Text and Signed is selected.

Virtual Decimal Point Button and Integer Specify a non-zero integer that represents the position of an implied decimal point within a number, or specify 0, the default, to use the formatting of Float or Decimal numbers as specified by the Precision property.

If you specify a positive integer, the position of the decimal point is moved left from the right side of the number. For example, if you specify 3, the decimal value 1234 represents 1.234

If you specify a negative integer, the position of the decimal point is moved right from the right side of the number. For example, if you specify -3, the decimal value 1234 represents 1,234,000.

Precision Button and Integer This property is applicable only if Physical Type is Text. It is used if the value of the Virtual Decimal Point property is 0, which indicates that the decimal point is present in the data. It deals with truncation, and specifies how many digits are to follow the decimal point.

Either specify a number of digits:

  • If you set Precision to 0, data is truncated so that the fractional part is lost. For example, the value 123.45 is truncated to 123.
  • If you set Precision to a number less than the number of fractional digits, data is truncated. For example, the value 123.4567 is truncated to 123.45 if you set Precision to 2.
  • If you set Precision to a number greater than the number of fractional digits, the value is padded with extra zeros. For example, the value 12.345 is padded to 12.34500 if you set Precision to 5.

Or select one option from the list:

  • All Significant Digits - decimal separator only required if fractional digits (the default): all significant digits are written to the output bit stream, and no decimal separator is written if no fractional digits are present.
  • Explicit Decimal Separator - decimal separator always required: all significant digits are written to the output bit stream and the decimal separator is always included, even when no fractional digits are present. The decimal separator must be present in the input bit stream, even when no fractional digits are present.
  • Exponential Notation - Example "1.23456e002": data is written out to the bit stream as a signed value having the format [sign1]a.bbbe[sign2]ccc where:
    • [sign1] is the value of Negative Sign if the value is negative
    • a is a single decimal digit
    • bbb is one or more decimal digits
    • [sign2] is the value of Negative Sign if the exponent is negative
    • ccc is exactly three decimal digits (the exponent)
    [sign1] and [sign2] are absent if the value and exponent are positive.

    For example, the value -123.456 is represented as -1.23456e002 and the value 0.00012 is represented as 1.2e-004 in the output bit stream, assuming that the value of Negative Sign is "-", and the value of Sign Orientation is Leading.

    The value -0.00012 is represented as 1.2*e*004 if Negative Sign is "*" and Sign Orientation is Trailing.

Precision Button and Integer This property is applicable only if Physical Type is Text. It is used if the value of the Virtual Decimal Point property is 0, which indicates that the decimal point is present in the data. It deals with truncation, and specifies how many digits are to follow the decimal point.

Either specify a number of digits:

  • If you set Precision to 0, data is truncated so that the fractional part is lost. For example, the value 123.45 is truncated to 123.
  • If you set Precision to a number less than the number of fractional digits, data is truncated. For example, the value 123.4567 is truncated to 123.45 if you set Precision to 2.
  • If you set Precision to a number greater than the number of fractional digits, the value is padded with extra zeros. For example, the value 12.345 is padded to 12.34500 if you set Precision to 5.

Or select one option from the list:

  • All Significant Digits - decimal separator only required if fractional digits (the default): all significant digits are written to the output bit stream, and no decimal separator is written if no fractional digits are present.
  • Explicit Decimal Separator - decimal separator always required: all significant digits are written to the output bit stream and the decimal separator is always included, even when no fractional digits are present. The decimal separator must be present in the input bit stream, even when no fractional digits are present.
Precision Button and Integer This property is applicable only if Physical Type is Text. It is used if the value of the Virtual Decimal Point property is 0, which indicates that the decimal point is present in the data. It deals with truncation, and specifies how many digits are to follow the decimal point.

Either specify a number of digits:

  • If you set Precision to 0, data is truncated so that the fractional part is lost. For example, the value 123.45 is truncated to 123.
  • If you set Precision to a number less than the number of fractional digits, data is truncated. For example, the value 123.4567 is truncated to 123.45 if you set Precision to 2.
  • If you set Precision to a number greater than the number of fractional digits, the value is padded with extra zeros. For example, the value 12.345 is padded to 12.34500 if you set Precision to 5.

Or select one option from the list:

  • All Significant Digits - decimal separator only required if fractional digits (the default): all significant digits are written to the output bit stream, and no decimal separator is written if no fractional digits are present.
  • Explicit Decimal Separator - decimal separator always required: all significant digits are written to the output bit stream and the decimal separator is always included, even when no fractional digits are present. The decimal separator must be present in the input bit stream, even when no fractional digits are present.
  • Exponential Notation - Example "1.23456e002": data is written out to the bit stream as a signed value having the format [sign1]a.bbbe[sign2]ccc where:
    • [sign1] is the value of Negative Sign if the value is negative
    • a is a single decimal digit
    • bbb is one or more decimal digits
    • [sign2] is the value of Negative Sign if the exponent is negative
    • ccc is exactly three decimal digits (the exponent)
    [sign1] and [sign2] are absent if the value and exponent are positive.

    For example, the value -123.456 is represented as -1.23456e002 and the value 0.00012 is represented as 1.2e-004 in the output bit stream, assuming that the value of Negative Sign is "-", and the value of Sign Orientation is Leading.

    The value -0.00012 is represented as 1.2*e*004 if Negative Sign is "*" and Sign Orientation is Trailing.