Message Sets: TDS properties for local element decimal types

The TDS format properties for local element decimal types.

The TDS Format properties described here apply to:

  • Objects: Local Element
  • Decimal schema types: decimal, integer, negativeInteger, nonNegativeInteger, nonPositiveInteger, positiveInteger, unsignedLong

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.
  • Packed Decimal. The data is a packed decimal number that equates to the COMP-3 data type in COBOL.
  • TLOG Specific - this option can be selected only if the Message Standard property of the message set is TLOG. This option indicates that the format of the data is specific to the TLOG messaging standard.
  • Integer. Equates to the data type SHORT or LONG in C, or the COMP, COMP-4, COMP-5, or BINARY numeric data type in COBOL.
  • External Decimal. The data is a decimal number that equates to the data type PIC 9 USAGE DISPLAY in COBOL.
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 totalDigits value constraint (schema facet) or, if none, any minInclusive, maxInclusive, minExclusive, or maxExclusive value constraints (schema facets), 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.

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.

Representation of null values

Property Type Meaning
Encoding Null Enumerated type Select one of the following options from the list:
  • NULLPadFill. This option is valid only for fixed-length objects and is the default value.
  • NULLLogicalValue. The Encoding Null Value property is first converted to an actual value, and rendered in the way specified for the field.
  • NULLLiteralValue. This option specifies that Encoding Null Value contains a value that is directly substituted as if it is a string. For dateTime elements, use this option if you want to use the Encoding Null Value property to test or compare the content of the field in the message.
  • NULLLiteralFill. This option specifies that the field is filled with the value specified by the Encoding Null Value property. Encoding Null Value must resolve to a single character.

The option that you select determines the value that you must set for the property Encoding Null Value.

For full information about using these options, see Message Sets: TDS Null handling options.

Encoding Null Value String The use of this property depends on the Encoding Null property. The default value is zero.

If you set the Encoding Null property for a dateTime object to NULLLogicalValue, the value that you set must be in an ISO8601 dateTime format.

These formats are described in Message Sets: DateTime as string data.

For example, specify a value that conforms to the yyyy-MM-dd'T'HH:mm:ss format; for example, 1970-12-01.

Occurrences

Property Type Meaning
Repeat reference Enumerated type Use this property if the object occurs multiple times, and the number of occurrences is given dynamically by a field earlier in the message. Select an integer object from the list of integer objects that occur before this object in the structure of the message. The value of the selected integer specifies the number of occurrences of this object. If no objects are listed, no integer objects exist before this one in the message structure.

If a Repeat Reference is specified, it overrides any setting for the Max Occurs logical property when parsing and writing the message, but not for validating the message.

Repeating Element Delimiter String Specify the delimiter to use between repeating elements.

This delimiter is used only when the element repeats and the Data Element Separation property of the parent group or complex type is set to All Elements Delimited or Variable Length Elements Delimited.

A default value is provided if the previous conditions are true; if the messaging standard is HL7, the mnemonic <HL7_RS> is used; if the messaging standard is not HL7, and the maximum number of repeats is fixed, the delimiter of the parent group or complex type is used.

If none of the previous conditions are true, a default is not applied.