Support for assembler data types

Elemental assembler data types are mapped to field converter classes in the com.ibm.jzos.fields package. The IBM® JZOS Toolkitprovides field converter classes for mapping byte array fields into Java data types.

  • DS C items are mapped to StringField. The stringtrim argument to the RecordClassGenerator class determines trimming behavior.
  • DS A, DS F, DS H, DS R, DS S, DS V, DS Y, DS X items (length less than or equal to four bytes) are mapped to BinaryAsIntField.
  • DS B, DS X items (length greater than or equal to four bytes) are mapped to ByteArrayField.
  • DS E, DS D, DS L items are mapped to IbmFloatField or IbmDoubleField, based on length.
  • Binary floating point numbers (DS EB, DS DB, DS LB) are not supported and are mapped to ByteArrayField.
  • DS P items are mapped to PackedDecimalAsIntField or PackedDecimalAsLongField, depending on length.
  • DS Z items are mapped to ExternalDecimalAsIntField or ExternalDecimalAsLongField, depending on length.
    • DS Z items are, by default, generated as signed variables e.g. AssemblerDataTypeFactory.getExternalDecimalAsIntField(int,true);
    • setting the gensignedzoned argument to false will cause the variable to be unsigned, e.g. AssemblerDataTypeFactory.getExternalDecimalAsIntField(int,false);

Current limitations

Assembler labels can contain symbols that are not valid in Java names. The following conversions are performed during code generation:
  • @ is mapped to the string _at_
  • # is mapped to the string _hash_