CWF properties for attribute reference and local attribute string types

The Custom Wire Format properties described here apply to:

Physical representation

Property Type Meaning
Physical Type Enumerated Type Select one of the following from the drop-down list:
  • Fixed Length String. The element's length is determined by other length properties below.
  • Length Encoded String 1. The element's first byte contains the length of the string following the length byte in length units. The maximum length of a Length Encoded String 1 element is 255 length units.
  • Length Encoded String 2. The element's first two bytes contain the length of the string following the 2 length bytes in length units. The maximum length of a Length Encoded String 2 element is 65535 length units. The two length bytes are in the format of the WebSphere MQ queue manager Encoding.
  • Null Terminated String. The string ends with the hexadecimal NULL character, X'00'.

The default is Fixed Length String.

Length Count Button and Integer If you have selected a Physical Type of Fixed Length String or Binary, and have set Length Type to Count, enter the number of length units for the element.

The minimum value that you can specify is 0 (zero), the maximum value that you can specify is 2147483647

The default value is 0 (zero).

Length Reference Button and Enumerated Type If you have selected the length to be defined by Length Reference, select the name of the Integer object that specifies the length of this object. Make your selection from the drop-down list of Integer objects that are defined as siblings of the current object, and occur before it in the structure of the message.

For information about reordering elements, see Reordering objects.

Length Units Enumerated Type Subject to the Physical Type that has been set, select one of the following from the drop-down list:
  • Bytes. This specifies that X bytes are processed where X is the value of Length Count, or of the INTEGER specified in Length Reference.
  • Characters. The meaning of this option depends on the value that you have set in the message's CCSID or that you have set for the message set property Default CCSID.
    • If you have specified an SBCS CCSID, X bytes are processed where X is the value of Length Count or of the INTEGER specified by Length Reference.
    • If you have specified a DBCS CCSID, Y bytes are processed, where Y is the value of Length Count or of the INTEGER specified in Length Reference multiplied by two.
    • If you have specified an MBCS CCSID, the parser reads 1 character at a time and determines whether the character comprises 1 or more bytes. The parser performs Z reads, where Z is the value of Length Count or of the INTEGER specified in Length Reference.
  • Character Units. This specifies that the size of character unit is determined by the value that you have set in the message's CCSID, or for the message set property Default CCSID. The number of bytes processed is the size of character unit multiplied by the value of Length Count, or of the INTEGER specified in Length Reference.
  • End of Bitstream. All data until end of bit stream is processed. This option is valid only if the element is the last in the message. If you select this value, you do not need to enter a value in Length Count or Length Reference.

The default is bytes.

String Justification Enumerated Type If you have set the Physical Type property to Fixed Length String, select Left Justify (the default value) or Right Justify from the drop-down list. If you have selected another value for Physical Type, this is property is inactive.
Padding Character String The padding character is used to fill out the remaining character positions when the string length is less than the specified string size. If you have set the Physical Type property to Fixed Length String, and the String Justification property is either Left Justify or Right Justify, set this character in one of the following ways:
  • Select NUL, '0', or SPACE from the drop-down list.
  • Enter a character between quotes, 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.

    The choice of which of these padding character forms is used for an MRM element will depend on the padding character required and whether the padding character is to be subject to data conversion. In most cases the specification of a padding character will be sufficient and when this padding character is used, it will be converted to the target codepage of the output MRM message being generated. If a padding character is required that cannot easily be entered in the padding character field, then the Unicode mnemonic format can be used to specify the required character. When used, this Unicode value will also be converted to the target codepage of the MRM message being generated. If a padding character is required that is not subject to data conversion, then the hexadecimal format can be used. This gives the option of specifying a padding character that is inserted directly in the output message. If this format is used then you must ensure that this hexadecimal is valid for the codepage of any output messages that are created using these MRM definitions.

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

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

  • Enter a Unicode value in the form U+xxxxxx where xxxxxx is a Unicode value specified in hexadecimal. The maximum length of the string you can enter is 10.
  • Select the default value of an empty string.

Representation of null values

Property Type Meaning
Encoding Null Enumerated Type Select one of the following options from the drop-down list:
  • NULLPadFill. This is only valid if Physical Type is Fixed Length String. The field is filled with the value specified by the Padding Character. Encoding Null Value must be set to an empty string.
  • NULLLogicalValue. The Encoding Null Value is transformed to match the required format for the field. This is the default value.
  • NULLLiteralValue. The Encoding Null Value is directly substituted as if it is a string.
  • NULLLiteralFill. The field is filled with the value specified by the Encoding Null Value. Encoding Null Value must resolve to a single character.
Encoding Null Value STRING The use of this property depends on the Encoding Null property, described above. If specified, its length must be equal to the length of the string element, with the exception of NULLLiteralFill.

The default value is empty (not set).

If you set the Encoding Null property to NULLLiteralFill, the value must resolve to a single character. Set the character in one of the following ways:
  • Select SPACE, NUL, 0x00 or 0xFF 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 decimal character code in the form YY where YY is a decimal value.
  • Enter a Unicode value in the form U+xxxx where xxxx is a Unicode value specified in hexadecimal format.

Byte alignment

Property Type Meaning
Byte Alignment Enumerated Type Specify how the object is aligned from the start of the message. Select one of:
  • 1 Bytes. This is the default value.
  • 2 Bytes
  • 4 Bytes
  • 8 Bytes
  • 16 Bytes
Leading Skip Count Integer Specify the number of bytes to skip before reading or writing this object. The default is 0, the minimum value is 0, and the maximum value is 999999. You can use this value to ignore unwanted fields in a structure, or to model a field defined by C or COBOL data which requires alignment on a 2, 4, 8 or 16 byte boundary. Specify the number of bytes to skip before reading or writing this object. When an output message is written, Skip Count bytes are assigned the value of the message set Byte Alignment Pad property.

For repeating objects, this property is applied to the first instance only.

Trailing Skip Count Integer Specify the number of bytes to skip after reading or writing this object. The default is 0, the minimum value is 0, and the maximum value is 999999. You can use this value to ignore unwanted fields in a structure, or to model a repeating structure containing fields which require alignment on a 2, 4, 8 or 16 byte boundary. When an output message is written, Skip Count bytes are assigned the value of the message set Byte Alignment Pad property.

For repeating objects, this property is applied to all instances.

Related concepts
Message modeling
The message model
Related tasks
Developing message models
Working with message model objects
Related reference
Message model reference information
Message model object properties
Logical properties for message model objects
Custom Wire Format physical properties for message model objects
XML wire format physical properties for message model objects
Tagged/delimited string format physical properties for message model objects
Documentation properties for all message set objects
Message model object properties by object
Additional MRM domain information