Data Types

Data Type Notes
FIXED BINARY
(precision, scaling) The Plug-in represents signed fields as elements of XSD type byte, short, int, long, unsignedByte, unsignedShort, unsignedInt or unsignedLong depending on precision and SIGNED or UNSIGNED attributes.

The Plug-in represents fields with the COMPLEX attribute as base64Binary. For details, see COMPLEX Attribute. If base64Binary is used, the XML values are the unmodified binary content that is not affected by any other Plug-in settings.

For non-COMPLEX fields, the Big Endian setting of an activity is in effect.

Precision greater than 63 for signed fields and 64 for unsigned variables is not allowed and causes an error.

Warning: The Plug-in does not support nonzero scaling factor, which causes an error.

The endian type is defined by BIGENDIAN or LITTLEENDIAN attribute in the definition or, if those attributes are not in the definition, by the activity’s Big Endian setting.

FIXED DECIMAL
(precision, scaling) The Plug-in represents fixed decimal fields as elements of XSD type byte, short, int, long or decimal depending on precision and scaling.

Fields with the COMPLEX attribute as base64Binary. For details, see COMPLEX Attribute.

Warning: The Plug-in does not support negative scaling factor or a scaling factor that is greater than precision. Hence, the following declarations would cause an error:

DECLARE A FIXED DECIMAL(5, -1);
DECLARE A FIXED DECIMAL(5, 6);
BINARY FLOAT
(precision) BINARY FLOAT fields can be of IEEE or IBM hexadecimal type as determined by IEEE or HEXADEC attributes in the data declaration. If you specify neither of those attributes, the setting of the Floating Point field of the Copybook resource is in effect.

Note: Select IEEE for Floating Point when compiling your PL/I program with the DEFAULT(IEEE) option.

For IEEE fields, the representation is as follows:

  • float if the precision is less than or equal to 21.
  • double if the precision is less than or equal to 53.
  • base64Binary for greater precision values.

    For hexadecimal fields, the representation is always base64Binary. The Plug-in also represents fields with the COMPLEX attribute as base64Binary. For details, see COMPLEX Attribute. If base64Binary is used, the XML values are the unmodified binary content that is not affected by any other Plug-in settings.

    If float or double is used, the Big Endian setting of an activity is in effect.

    Warning: The Plug-in produces the floating field length consistently with Enterprise PL/I for z/OS Version 3, Release 6. Other compilers might calculate the length differently.

DECIMAL FLOAT
(precision) The Plug-in represents this data type as base64Binary. The XML values are the unmodified binary content of a field that is not affected by any other Plug-in settings.

Warning: The Plug-in produces the floating field length consistently with Enterprise PL/I for z/OS Version 3, Release 6. Other compilers might calculate the length differently.

CHARACTER(length) The Plug-in represents this data type as string. One character is represented by one byte and the character set for conversion between XML and binary content is determined by an activity’s Character Set setting or the forceCharacterSet value supplied through input mapping.
GRAPHICS(length) The Plug-in represents this data type as base64Binary, 2 bytes per graphic character.
WIDECHAR(length) The Plug-in represents this data type as string, with one character represented by two bytes. The encoding for conversion between string and binary data is defined by the endian type of the fields.

The endian type is defined by BIGENDIAN or LITTLEENDIAN attribute in the definition or, if you do not specify those attributes, by the activity’s Big Endian setting.

For Big Endian, the encoding is UTF-16LE; for Little Endian, UTF-16BE.

Note: Binary representation of CHARACTER, GRAPHICS, or WIDECHAR strings with the VARYING attribute begins with a 2-byte-length prefix. The prefix’s endian type depends on the BIGENDIAN or LITTLEENDIAN attribute in the definition or, if you do not specify those attributes, by the activity’s Big Endian setting.

BIT(length) The Plug-in represents this data type as base64Binary. The XML values are the unmodified binary content of a bit string, where each byte contains 8 bits.

Warning: The Plug-in does not support bit strings with a length that is not divisible by 8. Such a length causes an error.

POINTER This data type is equivalent to UNSIGNED FIXED BINARY(32).